/* ============================================================
   dc-responsive.css — адаптив нового оформления (всё под .dc-site).

   Базовая вёрстка (dc.css / dc-components.css) сделана под десктоп
   1440: секции с боковыми отступами 135px и сетки с фиксированным
   числом колонок. Здесь это сжимается под ноутбук/планшет/телефон.

   !important стоит там, где отступ или сетка заданы инлайном в
   разметке вью (наследие макетов .dc.html) — инлайн иначе не перебить.
   Файл подключается последним, после dc-components.css.
   ============================================================ */

/* ---------- ≤1280: ноутбук — убираем десктопные 135px по бокам ---------- */
@media (max-width: 1280px) {
    .dc-site section,
    .dc-site .dc-crumbs {
        padding-left: 56px !important;
        padding-right: 56px !important;
    }
}

/* ---------- ≤1024: планшет ---------- */
@media (max-width: 1024px) {
    .dc-site section,
    .dc-site .dc-crumbs {
        padding-left: 28px !important;
        padding-right: 28px !important;
    }

    /* сетки карточек: 4 и 3 колонки → 2 */
    .dc-site .dc-grid4,
    .dc-site .dc-grid3-28,
    .dc-site .dc-grid3-20,
    .dc-site .dc-r-2col { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

    /* раскладки «контент + колонка» → в один столбец */
    .dc-site .dc-hero-grid,
    .dc-site .dc-hero2,
    .dc-site .dc-tab-grid,
    .dc-site .dc-cfg-grid,
    .dc-site .dc-grid-13,
    .dc-site .dc-r-1col {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 32px;
    }

    /* вертикальные линии-разделители колонок теряют смысл при переносе */
    .dc-site .dc-r-noline { border-left: 0 !important; padding-left: 0 !important; }
    .dc-site .dc-stat-div { border-left: 0; }

    /* фиксированная карточка формы в hero (564×451) → по месту */
    .dc-site .dc-hero-card { width: 100%; height: auto; padding: 26px 22px 22px; }

    /* блоки с фиксированной высотой под изображения */
    .dc-site .dc-hero-media { height: 360px; }
    .dc-site .dc-hero-media-c { height: 320px; }
    .dc-site .dc-stage,
    .dc-site .dc-slot-560 { height: 420px; }
    .dc-site .dc-shot,
    .dc-site .dc-slot-shot { height: 360px; }
}

/* ---------- ≤640: телефон ---------- */
@media (max-width: 640px) {
    .dc-site section,
    .dc-site .dc-crumbs {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    /* все сетки — в одну колонку, карточки во всю ширину экрана */
    .dc-site .dc-grid4,
    .dc-site .dc-grid3-28,
    .dc-site .dc-grid3-20,
    .dc-site .dc-grid2-28,
    .dc-site .dc-grid2-14,
    .dc-site .dc-feat-grid,
    .dc-site .dc-r-2col { grid-template-columns: minmax(0, 1fr) !important; }

    .dc-site .dc-grid3-28,
    .dc-site .dc-grid2-28 { gap: 18px; }
    .dc-site .dc-grid4,
    .dc-site .dc-grid3-20 { gap: 16px; }

    /* плитки: внутренние поля под узкий экран */
    .dc-site .dc-tile-media { padding: 14px 14px 0; }
    .dc-site .dc-tile-media-sol { padding: 14px; }
    .dc-site .dc-tile-body,
    .dc-site .dc-tile-body-sol { padding: 16px 16px 18px; }
    .dc-site .dc-tile { border-width: 2px; }
    .dc-site .dc-tile-img { height: 170px; }
    .dc-site .dc-card { padding: 20px 16px; }
    .dc-site .dc-card-link,
    .dc-site .dc-card-outline,
    .dc-site .dc-card-outline-p,
    .dc-site .dc-card-outline-row { padding: 18px 16px; border-width: 2px; }
    .dc-site .dc-card-ghost { padding: 22px 18px; }
    .dc-site .dc-aside { padding: 20px 16px; }
    .dc-site .dc-panel-pad,
    .dc-site .dc-panel-head { padding: 16px; }
    .dc-site .dc-box-head { padding: 14px 16px; }
    .dc-site .dc-box-body { padding: 8px 16px 16px; }
    .dc-site .dc-pad30 { padding: 14px; }
    .dc-site .dc-slide { padding: 14px; }
    .dc-site .dc-slot-dash { padding: 24px 16px; }
    .dc-site .dc-doc,
    .dc-site .dc-doc-link { padding: 14px 16px; }
    .dc-site .dc-norm { padding: 14px 16px; }

    /* таблица характеристик: ключ над значением */
    .dc-site .dc-spec-row { grid-template-columns: minmax(0, 1fr) !important; }
    .dc-site .dc-spec-k { border-right: 0; padding: 14px 16px 0; }
    .dc-site .dc-spec-v { padding: 2px 16px 14px; }

    /* заголовки групп каталога: линия и подпись переносятся */
    .dc-site .dc-grp-row,
    .dc-site .dc-grp-row-64 { flex-wrap: wrap; gap: 12px; }
    .dc-site .dc-grp-h { font-size: 19px; }

    /* табы карточки продукта — горизонтальная прокрутка вместо переполнения */
    .dc-site .dc-tabbar { overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; }
    .dc-site .dc-tabbar button { flex: none; font-size: 14px; padding: 13px 16px; }

    /* высоты медиа-блоков */
    .dc-site .dc-hero-media { height: 260px; }
    .dc-site .dc-hero-media-c { height: 240px; }
    .dc-site .dc-stage,
    .dc-site .dc-slot-560 { height: 260px; }
    .dc-site .dc-shot,
    .dc-site .dc-slot-shot { height: 240px; }
    .dc-site .dc-slot-cert,
    .dc-site .dc-slot-cert-s,
    .dc-site .dc-slot-cert2 { height: 180px; }
    .dc-site .dc-slot-photo { height: 160px; }

    /* стрелки каруселей ближе к краям и мельче */
    .dc-site .dc-nav-btn { width: 38px; height: 38px; }
    .dc-site .dc-nav-prev { left: 6px; }
    .dc-site .dc-nav-next { right: 6px; }

    /* печать/«печатка» на странице о компании */
    .dc-site .dc-seal { width: 220px; height: 220px; border-width: 4px; }
    .dc-site .dc-seal-h { font-size: 18px; }

    /* типографика */
    .dc-site .dc-h1-hero,
    .dc-site .dc-h1-cat { font-size: 30px; }
    .dc-site .dc-h1,
    .dc-site .dc-h1-14 { font-size: 26px; }
    .dc-site .dc-h2,
    .dc-site .dc-h2-w { font-size: 24px; }
    .dc-site .dc-h2-30 { font-size: 23px; }
    .dc-site .dc-h2-form { font-size: 26px; }
    .dc-site .dc-h2-light { font-size: 27px; }
    .dc-site .dc-h2-w { margin-bottom: 28px; }
    .dc-site .dc-h3-22teal { font-size: 20px; }
    .dc-site .dc-h3-teal { font-size: 19px; }
    .dc-site .dc-panel-title { font-size: 19px; }
    .dc-site .dc-hero-p,
    .dc-site .dc-hero-p-dark,
    .dc-site .dc-hero-p-480,
    .dc-site .dc-lead-cat { font-size: 16px; }
    .dc-site .dc-stat-num { font-size: 28px; }
    .dc-site .dc-tel { font-size: 20px; }

    /* кнопки не должны вылезать за экран */
    .dc-site .dc-btn-lg,
    .dc-site .dc-cta-lg,
    .dc-site .dc-cta-hero { height: 52px; padding: 0 20px; font-size: 16px; }

    /* форма заявки: телефон и email в столбик, поля карточки уже */
    .dc-site .dc-consult-card { padding: 20px 16px !important; }
    .dc-site .dc-r-stack-row { flex-direction: column !important; }
}
