/* ============================================================
   mpkm-home-rebuild.css — TEST ONLY. Главная под эталон.
   Грузится ТОЛЬКО на главной под ?newhome (head.php). Вся главная
   обёрнута в .v — правила префиксованы .v, чтобы не течь на сайт.
   Переиспользуем рабочие DIAFAN-вставки (формы/микроразметка/JS целы),
   морфим их вёрстку в дизайн эталона + кастомный HERO (.hero).
   ============================================================ */.v, .v *, .v *::before, .v *::after{box-sizing:border-box}.v{--ink:#15161a;--ink2:#5b5e66;--mut:#9b9ea5;--mut2:#6e7178;--line:#ecebe7;--wash:#f7f5f1;
   --brand:#fecc2f;--brand-d:#f0bd16;--brand-ink:#2e2e2e;--ok:#1f9d57;--bg:#fff;--maxw:1680px;--pad:48px;
   font-family:'Golos Text',system-ui,Arial,sans-serif;color:var(--ink);font-size:17px;line-height:1.5}.v a{text-decoration:none}.v ::selection{background:var(--brand);color:var(--brand-ink)}

/* контейнер всех секций → 1680 */.v .section__center{max-width:var(--maxw)!important;width:100%!important;margin:0 auto!important;padding-left:var(--pad)!important;padding-right:var(--pad)!important;box-sizing:border-box}.v .section{padding:74px 0 0;margin-top:0!important;margin-bottom:0!important} /* РИТМ: единый 74px МЕЖДУ секциями (padding ТОЛЬКО сверху → нет «двойного» 74+74=148px между соседними .section) */
/* голые блоки между .section (заголовок Категорий + плитки) получают тот же ритм 74px.
   🔴 !important — иначе `.v .section__center{margin:0 auto!important}` (стр.16) гасит margin-top. */.v .cats-head__center{margin-top:74px!important}.v .objects-section{margin-top:0!important} /* убрать унаследованный +8px перед объектами */.v .request-section{padding-bottom:0!important} /* CTA — низ к подвалу (подвал даёт свой отступ 64px) */.v .heading{font-family:'Golos Text',system-ui,sans-serif!important;font-weight:800!important;font-size:40px!important;letter-spacing:-1.4px;line-height:1;color:var(--ink)!important;margin:0 0 34px!important;text-align:left!important}
/* SELF-DIFF: спец-заголовки секций (товары/объекты) тоже = мокап .sh h2 40px */.v .heading.hits-section__title, .v .heading.objects-mpkm-section-heading{font-size:40px!important;letter-spacing:-1.4px!important;line-height:1!important;margin:0 0 34px!important}

/* ---------- HERO — БЕЛЫЙ ТИПОГРАФИЧЕСКИЙ, КРУПНЫЙ (эталон, PRAVKA 3+4) ---------- */.v .mpkm-hero{position:relative;background:#fff;overflow:hidden}.v .mpkm-hero__view{overflow:hidden}.v .mpkm-hero__track{display:flex;transition:transform .5s cubic-bezier(.4,0,.2,1)}.v .mpkm-hero__slide{flex:0 0 100%;min-width:100%;box-sizing:border-box;padding:88px 0 96px}.v .mpkm-hero__wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}.v .mpkm-hero__kicker{display:flex;align-items:center;gap:11px;margin:0 0 30px;font-size:13px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--mut2)}/* a11y: --mut(2.68:1)→--mut2(4.89:1) на белом */.v .mpkm-hero__dot{width:8px;height:8px;border-radius:50%;background:var(--brand);flex:none}.v .mpkm-hero__h1{margin:0 0 22px;font-family:'Golos Text',system-ui,Arial,sans-serif;font-weight:800;font-size:clamp(34px,5.4vw,84px);line-height:.96;letter-spacing:-3px;color:var(--ink);text-transform:uppercase;max-width:16ch}.v .mpkm-hero__h1 .acc1{background:var(--brand);color:var(--brand-ink);padding:0 .1em;border-radius:3px;-webkit-box-decoration-break:clone;box-decoration-break:clone}.v .mpkm-hero__lead{margin:28px 0 32px;max-width:560px;font-size:20px;line-height:1.55;color:var(--ink2)}.v .mpkm-hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 40px}.v .mpkm-hero .btn--p{display:inline-flex;align-items:center;gap:9px;height:54px;padding:0 28px;border-radius:13px;background:var(--brand);color:var(--brand-ink);font-weight:700;font-size:16px;border:1.5px solid var(--brand);transition:background .18s,border-color .18s}.v .mpkm-hero .btn--p:hover{background:var(--brand-d);border-color:var(--brand-d)}.v .mpkm-hero .btn--g{display:inline-flex;align-items:center;gap:9px;height:54px;padding:0 28px;border-radius:13px;background:#fff;color:var(--ink);font-weight:700;font-size:16px;border:1.5px solid var(--line);transition:background .18s,border-color .18s}.v .mpkm-hero .btn--g:hover{background:var(--wash);border-color:var(--ink)}.v .mpkm-hero__stats{display:flex;gap:54px;flex-wrap:wrap;padding-top:34px}.v .mpkm-hero__stat b{display:block;font-family:'Golos Text',system-ui,Arial,sans-serif;font-weight:800;font-size:42px;line-height:1;color:var(--ink);letter-spacing:-1.5px}.v .mpkm-hero__stat span{display:block;margin-top:8px;font-size:15px;color:var(--mut2);text-transform:uppercase;letter-spacing:.05em}/* a11y контраст */.v .mpkm-hero__nav{position:absolute;left:0;right:0;bottom:36px;z-index:3;pointer-events:none}.v .mpkm-hero__nav-in{display:flex;align-items:center;justify-content:space-between}.v .mpkm-hero__dots{display:flex;gap:8px;pointer-events:auto}.v .mpkm-hero__dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:var(--line);cursor:pointer;transition:width .25s,background .25s}.v .mpkm-hero__dots button.on{width:30px;border-radius:5px;background:var(--brand)}.v .mpkm-hero__arrows{display:flex;gap:10px;pointer-events:auto}.v .mpkm-hero__arrows button{width:50px;height:50px;border-radius:50%;border:1.5px solid var(--line);background:#fff;color:var(--ink);font-size:20px;cursor:pointer;transition:.18s;display:grid;place-items:center}.v .mpkm-hero__arrows button:hover{border-color:var(--ink);background:var(--wash)}
/* a11y: фокус (тёмный на белом) + reduced-motion */.v .mpkm-hero a:focus-visible, .v .mpkm-hero button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.v .mpkm-hero__track{transition:none!important}}
@media(max-width:1100px){.v .mpkm-hero__slide{padding:60px 0 88px}.v .mpkm-hero__h1{letter-spacing:-2px}}
@media(max-width:760px){.v .mpkm-hero__slide{padding:40px 0 84px}.v .mpkm-hero__h1{letter-spacing:-1px}.v .mpkm-hero__stats{gap:22px}}

/* ---------- секционные заголовки «Все …» (если есть .readmore) ---------- */

/* ---------- БРЕНДЫ (brands-section): КАРУСЕЛЬ 1 ряд / 4 видимых (Item 3) ---------- */
/* Шапка секции .sh: заголовок+подзаголовок слева, «Все бренды»+стрелки справа (эталон .sh) */.v .sh{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:34px}.v .sh .heading{margin:0!important}.v .sh__l{min-width:0}.v .sh__sub{font-size:15px;color:var(--mut2);margin-top:10px;line-height:1.4}/* a11y контраст 4.89:1 */.v .sh__r{display:flex;align-items:center;gap:20px;flex:none}.v .sh__all{font-size:15px;font-weight:600;color:var(--ink2);white-space:nowrap;display:inline-flex;align-items:center;gap:6px;transition:color .15s}.v .sh__all:hover{color:var(--ink)}.v .sh__arrows{display:flex;gap:10px}.v .sh__arrow{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);font-size:22px;line-height:0;cursor:pointer;display:grid;place-items:center;transition:border-color .18s,background .18s,color .18s}.v .sh__arrow:hover{border-color:var(--brand);background:var(--brand);color:var(--brand-ink)}.v .sh__arrow:disabled{opacity:.35;cursor:default;border-color:var(--line);background:var(--bg);color:var(--ink)}.v .sh__arrow:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

/* killcss грабли #6: legacy `.grid4__list::after{content:""}` (main.css) = фантомный flex/grid-элемент
   в наших каруселях/сетках → сужаем его ВНЕ главной (на .v ставим content:none). */.v .brands-section .grid4__list::after, .v .clients-section .grid4__list::after, .v .hits-section .grid4__list::after, .v .news-section .grid4__list::after, .v .objects-block--mpkm__track::after{content:none;display:none}.v .brands-section .grid4__crop{overflow:hidden}.v .brands-section .grid4__list{display:flex;flex-wrap:nowrap;gap:16px;width:auto;margin:0;transform:none;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:2px} /* Item 3: карусель */.v .brands-section .grid4__list::-webkit-scrollbar{display:none}.v .brands-section .grid4__item{flex:0 0 calc((100% - 3*16px)/4);min-width:0;scroll-snap-align:start;display:grid;place-items:center;aspect-ratio:1.5/1;width:auto;margin:0;padding:26px;background:var(--bg);border:1.5px solid var(--line);border-radius:13px;transition:border-color .18s,box-shadow .18s}.v .brands-section .grid4__item:hover{border-color:transparent;box-shadow:0 16px 38px rgba(21,22,26,.10)}
@media(max-width:1280px){.v .brands-section .grid4__item{flex-basis:calc((100% - 2*16px)/3)}}
@media(max-width:980px){.v .brands-section .grid4__item{flex-basis:calc((100% - 16px)/2)}}
@media(max-width:760px){.v .brands-section .grid4__item{flex-basis:calc(50% - 8px)}.v .brands-sh .sh__all{display:none}}/* MOB-КАРТА: бренды 2 в вью */.v .brands-section .grid4__item{position:relative}.v .brands-section .grid4__img{position:absolute;left:26px;top:26px;width:calc(100% - 52px);height:calc(100% - 52px);max-width:none;max-height:none;object-fit:contain} /* P4: лого крупнее — заполняет ~55-60% карточки (max-h 100→128px ≈58% высоты 256px карточки 1.5/1, max-w 230→80%) */

/* ---------- КАТЕГОРИИ (shop_category / pic_cat_menu) ---------- */.v .shop_category .section__center{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
/* PRAVKA6: убрать clearfix-псевдо .section__center::before/::after — в grid они становятся
   фантомной ячейкой и сдвигали первый ряд категорий вправо (как «дыра» в шапке). */.v .shop_category .section__center::before, .v .shop_category .section__center::after{content:none;display:none}
/* PRAVKA6: фото СВЕРХУ + белая ПЛАШКА снизу (название + круглая стрелка), НЕ текст на фото.
   flex-column + margin-top:auto → плашка прижата к низу, фото (bg) заполняет верх; высота плашки = контент. */.v .pic_cat_menu{position:relative;display:flex!important;flex-direction:column;min-height:0;height:auto;padding-top:190px;border-radius:13px;overflow:hidden;border:1.5px solid var(--line);background-size:cover!important;background-position:center top!important;background-repeat:no-repeat!important;transition:border-color .18s,box-shadow .18s,transform .18s}/* P6: фото-блок 152→190px СВЕРХУ (крупнее, эталон .cat .pic), плашка течёт ПОД ним (не оверлей) */.v .pic_cat_menu:hover{border-color:var(--brand);box-shadow:0 18px 40px rgba(21,22,26,.12);transform:translateY(-4px)}.v .pic_cat_menu>div[itemprop="item"]{display:none}.v .pic_cat_menu>a{position:static!important;z-index:2;flex:1 1 auto;display:flex!important;align-items:center;justify-content:space-between;gap:12px;background:#fff;color:var(--ink)!important;font-weight:600;font-size:15.5px;line-height:1.25;padding:16px 18px;width:auto;height:auto;min-height:0;text-align:left}/* Item 7: плашка статична + flex:1 → заполняет низ карточки (фото не «выглядывает» под плашкой при выравнивании строки) */.v .pic_cat_menu>a::after{content:"→";flex:none;width:30px;height:30px;border-radius:50%;background:var(--wash);border:1px solid var(--line);color:var(--ink);display:grid;place-items:center;font-size:15px;transition:background .18s,color .18s,border-color .18s}.v .pic_cat_menu:hover>a::after{background:var(--brand);color:var(--brand-ink)}

/* ---------- КЛИЕНТЫ (clients-section / grid4) ---------- */.v .clients-section .grid4__list{display:grid!important;grid-template-columns:repeat(4,1fr);gap:16px;width:auto!important;margin:0!important;transform:none!important}.v .clients-section .grid4__item{display:grid!important;place-items:center;aspect-ratio:2.4/1;width:auto!important;margin:0!important;padding:14px;background:var(--bg);border:1.5px solid var(--line);border-radius:13px;transition:.2s}.v .clients-section .grid4__item:hover{border-color:var(--brand);box-shadow:0 14px 30px rgba(21,22,26,.08);transform:translateY(-3px)}.v .clients-section .grid4__img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain} /* P-fin: лого клиентов крупнее (72→96px ≈72% высоты 133px карточки 2.4/1; max-w 260→80%) */
/* P-fin: убрать унаследованные стрелки legacy-слайдера (clients = статичная сетка 4×2, стрелки мёртвые) */
/* REDO #4: убрать БЕЛУЮ КОРОБКУ-ЧИП вокруг лого — legacy `.grid4__pic` (белый фон + рамка --line,
   151×79) внутри карточки клиента. Лого должно лежать прямо на белой карточке, без внутренней плашки. */.v .clients-section .grid4__pic{background:transparent!important;border:0!important;width:100%!important;height:100%!important;min-height:0!important;overflow:visible!important;display:flex!important;align-items:center;justify-content:center;padding:0!important}.v .clients-section .grid4__pic::after{content:none!important}

/* ---------- ХИТЫ/ТОВАРЫ (hits-section, pr-block) ---------- */
/* P8: ТАБЫ = СЕГМЕНТ-КОНТРОЛ (эталон .tabs). Серый --wash контейнер; активная вкладка — БЕЛАЯ
   пилюля с тенью; неактивные — прозрачные, серый текст. НЕ жёлтые пилюли. jQuery-UI tabs() вешает
   .ui-tabs-active/.ui-state-active на активный <li> и дефолтные градиенты/рамки/тени — нейтрализуем. */.v .hits-section .tabs-container__tabs ul{display:inline-flex!important;gap:4px;background:var(--wash)!important;border:0!important;border-radius:13px!important;padding:5px!important;margin:0 0 30px!important;flex-wrap:wrap;width:auto!important}.v .hits-section .tabs-container__tabs ul li{list-style:none;background:transparent!important;border:0!important;margin:0!important;float:none!important;white-space:nowrap;top:0!important}
/* REDO #5: padding/font вынуждены !important — legacy `body.mainpage *:not(...){font-size:18px!important}`
   и jQuery-UI перебивали 15px/11×22. Высота кнопки = 11+11+15·1.27 ≈ 41px (эталон .tabs button). */.v .hits-section .tabs-container__tabs ul li a{display:block;padding:11px 22px!important;border:0!important;border-radius:9px!important;background:transparent!important;font-weight:600!important;font-size:15px!important;line-height:1.2!important;color:var(--ink2)!important;transition:background .18s,color .18s,box-shadow .18s;text-shadow:none!important}
/* REDO #5: выравнивание сегмента по левому краю секции (== заголовок «Популярные товары»): обнулить
   indent контейнера табов (был сдвиг +8px → ulLeft 56 vs headLeft 48). */.v .hits-section .tabs-container, .v .hits-section .tabs-container__tabs{padding-left:0!important;margin-left:0!important;text-align:left!important}.v .hits-section .tabs-container__tabs ul li a:hover{color:var(--ink)!important}.v .hits-section .tabs-container__tabs ul li.ui-tabs-active a, .v .hits-section .tabs-container__tabs ul li.ui-state-active a, .v .hits-section .tabs-container__tabs ul li.ui-tabs-active a:hover{background:#fff!important;color:var(--ink)!important;box-shadow:0 1px 3px rgba(21,22,26,.10)!important}.v .hits-section .grid4__slider .grid4__crop{overflow:visible}.v .hits-section .grid4__list{display:grid!important;grid-template-columns:repeat(4,1fr);gap:18px;width:auto!important;margin:0!important;transform:none!important}.v .hits-section .grid4__item{width:auto!important;margin:0!important;float:none!important}.v .hits-section .pr-block__item{position:relative;display:flex;flex-direction:column;background:var(--bg);border:1.5px solid var(--line);border-radius:13px;overflow:hidden;transition:border-color .18s,box-shadow .18s,transform .18s}.v .hits-section .pr-block__item:hover{border-color:var(--brand);box-shadow:0 18px 44px rgba(21,22,26,.12);transform:translateY(-4px)}.v .hits-section .pr-block__pic{position:relative;height:184px;background:#fff;border-bottom:1.5px solid var(--line)}.v .hits-section .pr-block__img{object-fit:contain;background:#fff}.v .hits-section .pr-block__present-value--instock{color:var(--ok)}.v .hits-section .js_shop_price, .v .hits-section .pr-block__tocart-price__col .price{font-size:21px;font-weight:800;color:var(--ink)}/* P7: цена 21px/800 (эталон .prod .price) */.v .hits-section .pr-block__tocart-btn__col{background:var(--brand)!important;color:var(--brand-ink)!important;border:0!important;border-radius:13px;font-weight:700}

/* ---------- ПОЧЕМУ ПОКУПАЮТ (why-section / grid8) ---------- */.v .why-section .grid8__list{display:grid!important;grid-template-columns:repeat(4,1fr);gap:18px;width:auto!important;margin:0!important}.v .why-section .grid8__item{display:block;width:auto!important;margin:0!important;padding:26px 22px;background:var(--wash);border:1.5px solid transparent;border-radius:13px;transition:.2s;text-align:left}.v .why-section .grid8__item:hover{background:var(--bg);border-color:var(--brand);box-shadow:0 16px 36px rgba(21,22,26,.10);transform:translateY(-4px)}.v .why-section .grid8__item:hover .grid8__pic{background:var(--brand)} /* PRAVKA3: чип → жёлтый на hover */.v .why-section .grid8__pic{width:48px;height:48px;margin:0 0 18px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:13px;transition:background .2s} /* PRAVKA3: белый чип 48 r13 (мокап .advi .ic) */.v .why-section .grid8__pic img{max-width:26px;max-height:26px;width:auto;height:auto;object-fit:contain}.v .why-section .grid8__title{font-size:16.5px;font-weight:700;letter-spacing:-.2px;color:var(--ink);margin:0}

/* ---------- НОВОСТИ (news-section / grid4) ---------- */.v .news-section .grid4__list{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;width:auto;margin:0;transform:none}/* OWNER: news 4-в-ряд *//* P9: новости 3→4 в ряд (ряд заполнен, видно больше) */.v .news-section .grid4__item{display:flex;flex-direction:column;width:auto;margin:0;float:none;border:1.5px solid var(--line);border-radius:13px;overflow:hidden;background:var(--bg);transition:.18s}.v .news-section .grid4__item:hover{border-color:var(--brand);box-shadow:0 18px 44px rgba(21,22,26,.12);transform:translateY(-4px)}.v .news-section .grid4__date{color:var(--mut2);font-size:13px}/* AUDIT: контраст 2.68->4.89 */

/* ---------- ОБЪЕКТЫ ---------- */.v .objects-section .grid4__list, .v .objects-block--mpkm__track{display:grid!important;grid-template-columns:repeat(4,1fr);gap:18px;width:auto!important;margin:0!important;transform:none!important}.v .objects-section .grid4__item, .v .objects-block--mpkm__slide{width:auto!important;max-width:none!important;flex:none!important;margin:0!important;float:none!important}.v .objects-case-card{border:1.5px solid var(--line);border-radius:13px;overflow:hidden;transition:border-color .2s,box-shadow .2s,transform .2s}
/* спец. 0,4,1 — побеждает objects-catalog REST `body.mainpage .objects-section--main-objects-vitrine .objects-case-card` (0,3,1), без !important */body.mainpage .v .objects-case-card:hover{border-color:var(--brand);box-shadow:0 20px 44px rgba(21,22,26,.16);transform:translateY(-4px)}/* канон .obj:hover */.v .objects-case-card__media{overflow:hidden}.v .objects-case-card__img, .v .objects-case-card__media img{transition:transform .35s ease}.v .objects-case-card:hover .objects-case-card__img, .v .objects-case-card:hover .objects-case-card__media img{transform:scale(1.05)}/* канон .obj:hover .ph{scale(1.05)} */

/* ---------- P10: ФОРМА ЗВОНКА (.cb) ----------
   Полная стилизация .cb вынесена ГЛОБАЛЬНО в mpkm-redesign-shell.css (.request-section.cb),
   т.к. CTA «обратного звонка» используется на ~15 страницах, не только на главной.
   Здесь только убираем СЕРЫЙ фон секции на главной — эталон .cb = БЕЛЫЙ фон. */.v .request-section .section__center{background:transparent!important;padding:0 var(--pad)!important;border-radius:0!important;max-width:var(--maxw)!important}

/* ---------- адаптив ---------- */
@media(max-width:1280px){:root{--pad:36px}.v{--pad:36px}.v .brands-section .grid4__list, .v .clients-section .grid4__list{grid-template-columns:repeat(4,1fr)}.v .shop_category .section__center, .v .hits-section .grid4__list, .v .why-section .grid8__list, .v .news-section .grid4__list{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:980px){.v .brands-section .grid4__list, .v .clients-section .grid4__list, .v .shop_category .section__center, .v .hits-section .grid4__list, .v .why-section .grid8__list, .v .news-section .grid4__list{grid-template-columns:repeat(2,1fr)}.v .objects-section .grid4__list, .v .objects-block--mpkm__track{grid-template-columns:repeat(2,1fr)}.v .request-section__form{width:100%}
}
@media(max-width:768px){:root{--pad:20px}.v{--pad:20px}.v .section{padding:48px 0 0} /* РИТМ моб.: единый 48px между секциями (top-only) */.v .cats-head__center{margin-top:48px!important}.v .shop_category .section__center, .v .why-section .grid8__list, .v .news-section .grid4__list, .v .objects-section .grid4__list, .v .objects-block--mpkm__track, .v .clients-section .grid4__list{grid-template-columns:repeat(2,1fr);gap:14px}/* MOB-КАРТА: телефон = 2 кол (не 1) */.v .hits-section .grid4__list{grid-template-columns:repeat(2,1fr)}
}
/* U0 NIGHT2: удалено 1fr@420 — owner-decision: товары на телефоне 2 В РЯД */

/* ============================================================
   a11y ГЛАВНОЙ (ui-ux-pro-max аудит): focus-visible на весь интерактив + reduced-motion.
   Тёмное кольцо на светлом; жёлтое — на тёмных плитках категорий. Бренд не трогаем.
   ============================================================ */.v a:focus-visible, .v button:focus-visible, .v input:focus-visible, .v [tabindex]:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:6px}.v .objects-case-card a:focus-visible, .v .pr-block__item a:focus-visible, .v .news-section a:focus-visible{outline-offset:3px}
/* тёмные фото-плитки категорий — жёлтое кольцо (контраст к тёмному фото) */.v .catalog-section a:focus-visible, .v .shop_category a:focus-visible, .v .pic_cat_menu a:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
@media (prefers-reduced-motion: reduce){.v *{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}
}

/* SELF-DIFF: товар — имя 600/1.3/min-h58 + кнопка купить 48/r12/wash (мокап .prod h3/.buy) */.v .hits-section .pr-block__item h3{font-weight:600!important;line-height:1.3!important;min-height:44px} /* P7: min-h 58→44 — меньше воздуха между названием и артикулом */

/* ---------- P7: КАРТОЧКА ТОВАРА — плотнее (меньше воздуха), анонсу больше места ----------
   Поджимаем вертикальные отступы .pr-block__info; анонс(desc) до 4 строк. Фото/имя/Арт/В наличии/
   цена/степпер+Купить сохранены; js_shop/итог/счётчики не трогаем (только отступы/клампы). */.v .hits-section .pr-block__info{padding:15px 18px 18px!important;display:flex!important;flex-direction:column;gap:6px!important}.v .hits-section .pr-block__title{margin:0 0 1px!important;padding:0!important}.v .hits-section .pr-block__title a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.v .hits-section .pr-block__art{margin:0!important}.v .hits-section .pr-block__desc{margin:3px 0 0!important;font-size:13px;line-height:1.5;color:var(--ink2);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}/* P7: анонсу больше места — до 4 строк */.v .hits-section .pr-block__presents__table{margin:9px 0 0!important}.v .hits-section .pr-block__tocart{margin-top:auto!important;padding-top:6px}

/* SELF-DIFF: бьём main.css @media(min-width:761px) body.mainpage .hits-section h2.heading{26px!important} (спец.0,3,2) более специфичным правилом (0,5,2), только десктоп — мобайл остаётся 28px≈мокап .sh h2 */
@media(min-width:761px){body.mainpage .v .hits-section h2.heading.hits-section__title{font-size:40px!important;letter-spacing:-1.4px!important;line-height:1!important;margin:0 0 34px!important}}

/* SELF-DIFF mobile: бьём main.css mainpage-сброс *:not(...){18px} (спец.~1,3,2) для заголовков, которых нет в его исключениях (бренды/клиенты/почему/каталог) — поднимаем спец. через #wrapper (1,4,2). Только мобайл; мокап .sh h2 @≤768 = 28px. */
@media(max-width:760px){body.mainpage #wrapper .v .brands-section .heading, body.mainpage #wrapper .v .clients-section .heading, body.mainpage #wrapper .v .why-section .heading, body.mainpage #wrapper .v .news-section .heading, body.mainpage #wrapper .v .hits-section .heading, body.mainpage #wrapper .v .heading.cats-heading, body.mainpage #wrapper .v .heading.objects-mpkm-section-heading{font-size:28px!important;line-height:1.15!important;letter-spacing:-.8px!important;font-weight:800!important}
}
/* SELF-DIFF: единый ВЕС 800 для всех заголовков секций (объекты/новости/хиты держали 700 из main.css) */body.mainpage #wrapper .v .heading, body.mainpage #wrapper .v .heading.objects-mpkm-section-heading, body.mainpage #wrapper .v .heading.hits-section__title{font-weight:800!important}

/* REDO #5 (force): legacy cascade держит padding 8px 6px на .ui-tabs-anchor — добиваем макс. спец.
   (#wrapper + ui-tabs классы) + пробелы вокруг !important. Эталон .tabs button: 11px 22px / 15px. */body.mainpage #wrapper .v .hits-section .tabs-container__tabs ul li a.ui-tabs-anchor{
  padding: 11px 22px !important;
  font-size: 15px !important;
  float: none !important;
  line-height: 1.2 !important;
}

/* REDO #7: ОБЪЕКТЫ — JS-слайдер (inline width:2520px+left, flex) → СЕТКА 3-в-ряд (эталон .objs).
   Спец. #wrapper(1,4,1) бьёт objects-catalog  (0,4,1); !important перебивает inline width/left от слайдер-JS. */body.mainpage #wrapper .v .objects-section .objects-block--mpkm__track, body.mainpage #wrapper .v .objects-section .grid4__list{
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) ;/* OWNER: 4-в-ряд */
  gap: 18px ;
  width: auto !important;
  left: 0 ;
  transform: none ;
  position: static ;
}body.mainpage #wrapper .v .objects-section .objects-block--mpkm__slide{
  width: auto !important; left: 0 !important; transform: none !important; margin: 0 !important;
}
/* стрелки слайдера объектов больше не нужны (стало сеткой) */.v .objects-section [class*='prev'], .v .objects-section [class*='next']{ display: none !important; }
@media (max-width: 980px) {body.mainpage #wrapper .v .objects-section .objects-block--mpkm__track, body.mainpage #wrapper .v .objects-section .grid4__list{ grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 640px) {body.mainpage #wrapper .v .objects-section .objects-block--mpkm__track, body.mainpage #wrapper .v .objects-section .grid4__list{ grid-template-columns: repeat(2,1fr) !important; gap:14px !important; } }/* MOB-КАРТА: объекты 2 кол */

/* IMGFILL 2026-07-02: категории — плитки заполняют 1fr-трек (эталон .cat{1fr}); убрать фикс width:280px из main.css, дававший слак справа + разнобой отступов. Home-only (.v .shop_category). Мобилка: main.css calc(50%)!important держит 2-кол. */.v .shop_category .pic_cat_menu, .v .catalog-section_page-start .pic_cat_menu{width:auto!important;margin:0!important;float:none!important}


/* SECTIONS2 2026-07-02: клиенты 1 ряд/новости 1 ряд (страховка при кэше count) + объекты-иммерсив (эталон .obj) */.v .clients-section .grid4__item:nth-child(n+5){display:none!important}.v .news-section:not(.objects-section) .grid4__item:nth-child(n+5){display:none!important}/* OWNER: 4 новости */
/* объекты: слайд-обёртка без рамки/фона/своего hover-сдвига (карточка иммерсивная сама) */.v .objects-section .grid4__item, .v .objects-section .grid4__item:hover{border:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;overflow:visible!important;border-radius:0!important}body.mainpage #wrapper .v .objects-case-card--home-vitrine{position:relative;height:250px;/* OWNER 4-в-ряд: 428x330 -> 315x250 */border:1.5px solid transparent!important;border-radius:13px;overflow:hidden;background:var(--ink)}body.mainpage #wrapper .v .objects-case-card--home-vitrine:hover{border-color:var(--brand)!important;transform:translateY(-4px);box-shadow:0 20px 44px rgba(21,22,26,.16)}body.mainpage #wrapper .v .objects-case-card--home-vitrine .objects-case-card__link{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;height:100%;z-index:1}body.mainpage #wrapper .v .objects-case-card--home-vitrine .objects-case-card__media{position:absolute!important;inset:0;aspect-ratio:auto!important;margin:0;overflow:hidden;background:#2a2c33}body.mainpage #wrapper .v .objects-case-card--home-vitrine .objects-case-card__img{width:100%;height:100%;object-fit:cover;display:block}body.mainpage #wrapper .v .objects-case-card--home-vitrine .objects-case-card__media::after{content:""!important;position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(18,19,23,.84));pointer-events:none}body.mainpage #wrapper .v .objects-case-card--home-vitrine .objects-case-card__body{position:relative;z-index:2;flex:0 0 auto!important;min-height:0!important;padding:26px!important;background:transparent!important;display:block}body.mainpage #wrapper .v .objects-case-card--home-vitrine .objects-case-card__badge{position:static!important;display:inline-flex;background:var(--brand)!important;color:var(--brand-ink)!important;font-family:'Golos Text',Arial,sans-serif!important;font-size:12px!important;font-weight:700;text-transform:none!important;letter-spacing:0!important;padding:6px 12px!important;border-radius:999px!important;margin:0 0 14px!important;max-width:none!important;line-height:1.2}body.mainpage #wrapper .v .objects-case-card--home-vitrine .objects-case-card__title{font-family:'Golos Text',Arial,sans-serif!important;font-size:23px!important;font-weight:700!important;line-height:1.1!important;letter-spacing:-.5px!important;color:#fff!important;margin:0!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}body.mainpage #wrapper .v .objects-case-card--home-vitrine .objects-case-card__meta{font-size:13px!important;line-height:1.45!important;color:rgba(255,255,255,.72)!important;margin:10px 0 0!important;display:block!important;-webkit-line-clamp:unset!important}body.mainpage #wrapper .v .objects-case-card--home-vitrine .objects-case-card__cta{display:none!important}
@media(max-width:768px){body.mainpage #wrapper .v .objects-case-card--home-vitrine{height:260px}}


/* POLISH 2026-07-02: табы-рамка jQuery-UI, новости фото/паддинги, CTA низ */.v .hits-section .tabs-container__tabs{border:0!important;background:transparent!important}.v .news-section:not(.objects-section) .grid4__pic{width:100%!important;height:196px!important;overflow:hidden;position:relative}.v .news-section:not(.objects-section) .grid4__pic img.grid4__img{width:100%!important;height:100%!important;object-fit:cover;display:block}.v .news-section:not(.objects-section) .grid4__text{padding:22px 24px 26px!important;flex:1;display:flex;flex-direction:column;font-size:15px;color:var(--ink2);line-height:1.5}.v .news-section:not(.objects-section) .grid4__text p{margin:0;font-size:15px;line-height:1.5}.v .request-section{padding-bottom:74px!important}
@media(max-width:768px){.v .request-section{padding-bottom:48px!important}}
/* POLISH-2: слайды объектов — бьём медиа calc(50% - 6px)!important (objects-catalog:722, спец.0,4,1) через #wrapper (1,4,1+): все ширины */body.mainpage #wrapper .v .objects-section .grid4__item, body.mainpage #wrapper .v .objects-block--mpkm__slide{width:auto!important;max-width:none!important;flex:none!important}

/* FINAL: канон «Купить»:hover→--brand-d (реальный элемент: span.js_shop_buy в жёлтой __col; старые button-селекторы были мёртвыми) */
.v .hits-section .pr-block__tocart-btn__col:hover,.v .hits-section .pr-block__tocart-btn__col:hover .js_shop_buy{background:var(--brand-d)}

/* AUDIT: touch-target «Все…» 23->35px без визуального сдвига */
.v .sh__all{padding:6px 0;margin:-6px 0}

/* MOB-КАРТА 2026-07-02: hero-статы 32/28, «Купить» touch >=44 и 100% */
@media(max-width:768px){
.v .mpkm-hero__stats{gap:24px}
.v .mpkm-hero__stat b{font-size:32px!important}
.v .hits-section .pr-block__tocart input[type=button]{width:100%!important;min-height:44px!important}
.v .objects-case-card--home-vitrine .objects-case-card__title{font-size:19px!important}
}
@media(max-width:420px){.v .mpkm-hero__stat b{font-size:28px!important}}
/* VPFIX: легаси-мобильное width:50% на слайдер-итемах сжимало карточки в 2-кол гриде (78px) */
@media(max-width:1220px){
.v .news-section:not(.objects-section) .grid4__item,.v .clients-section .grid4__item,.v .why-section .grid8__item,.v .hits-section .grid4__list .grid4__item{width:auto!important;max-width:none!important;float:none!important}
}
/* VPFIX-2: полноценный line-clamp анонса новостей на мобиле (fixes:1679 задал clamp без -webkit-box) */
@media(max-width:1220px){
.v .news-section:not(.objects-section) .grid4__text{display:-webkit-box!important;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;max-height:9em}
.v .news-section:not(.objects-section) .grid4__text p{margin:0}
}

/* ===== OWNER-DECISION 2026-07-02 (HOVERUNIFY): ЕДИНЫЙ ХОВЕР = эталон товара, на ВСЕ 7 типов.
   border --brand 1.5px / 0 18px 44px .12 / -4px / .18s. Объекты: zoom фото УБРАН.
   Внутренние акценты (категория .arr, почему .ic -> жёлтые) сохранены отдельными правилами. */
.v .brands-section .grid4__item,.v .shop_category .pic_cat_menu,.v .clients-section .grid4__item,.v .hits-section .grid4__list .grid4__item,.v .news-section:not(.objects-section) .grid4__item,.v .why-section .grid8__item{transition:border-color .18s,box-shadow .18s,transform .18s!important}
.v .clients-section .grid4__item{border-width:1.5px!important}
.v .brands-section .grid4__item:hover,
.v .shop_category .pic_cat_menu:hover,
.v .clients-section .grid4__item:hover,
.v .hits-section .grid4__list .grid4__item:hover,
.v .news-section:not(.objects-section) .grid4__item:hover,
.v .why-section .grid8__item:hover,
body.mainpage #wrapper .v .objects-case-card--home-vitrine:hover{
  border-color:var(--brand)!important;
  box-shadow:0 18px 44px rgba(21,22,26,.12)!important;
  transform:translateY(-4px)!important;
}
body.mainpage #wrapper .v .objects-case-card--home-vitrine:hover .objects-case-card__img,
body.mainpage #wrapper .v .objects-case-card--home-vitrine:hover .objects-case-card__media img{transform:none!important}

/* OWNER-DECISION: news/objects 4-в-ряд; лестница 4 -> 3@1280 -> 2@980 -> 2 на телефоне (owner: 2 кол НЕ 1) */
@media(max-width:1280px) and (min-width:981px){
body.mainpage #wrapper .v .objects-section .objects-block--mpkm__track,body.mainpage #wrapper .v .objects-section .grid4__list{grid-template-columns:repeat(3,1fr)!important}
.v .news-section:not(.objects-section) .grid4__list{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:980px){body.mainpage #wrapper .v .objects-case-card--home-vitrine{height:280px}}

/* GRID4MOB: мобильные хвосты — CTA-инпут 100%, hero-CTA стопкой на всю ширину, фото категорий 150 (пропорция плитки) */
@media(max-width:768px){
.v .request-section input[type=tel],.v .request-section input[type=text]{width:100%!important;min-width:0!important;box-sizing:border-box}
.v .request-section form,.v .request-section .field,.v .request-section [class*=field]{width:100%!important}
.v .mpkm-hero__actions{width:100%}
.v .mpkm-hero__actions a{width:100%;justify-content:center}
.v .pic_cat_menu{padding-top:150px!important}
}

/* ===== U0 NIGHT2 2026-07-02: мобильная полировка главной (свой аудит + owner-якоря 1-6).
   Всё строго @<=768 — десктоп не трогаем (AE-контроль). DECISIONS: анонс товара скрыт на мобиле;
   карточка объекта 240px; легаси-стрелки .prev/.next скрыты (сетки 2xN статичные); дата новости 12px. */
@media(max-width:768px){
/* A) .sh-хедеры: заголовок на всю ширину, ссылка вправо ниже.
   Лечит mid-word разлом «Реализованны/е» (sh__l зажимался флексом + main.css word-break) */
.v .sh{display:flex!important;flex-wrap:wrap;align-items:baseline}
.v .sh__l{flex:1 0 100%;min-width:0}
.v .sh__r{margin-left:auto;margin-top:6px}
/* B) HERO: кикер в одну строку; статы ровной сеткой 3 колонки; меньше пустоты между CTA и статами */
.v .mpkm-hero__kicker{font-size:11.5px;letter-spacing:1.6px;margin-bottom:20px}
.v .mpkm-hero__lead{font-size:17px;margin:20px 0 24px}
.v .mpkm-hero__actions{margin-bottom:8px}
.v .mpkm-hero__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-top:22px}
.v .mpkm-hero__stat span{font-size:11px;margin-top:6px;letter-spacing:.03em}
/* C) ТОВАРЫ 2-В-РЯД компакт (owner-decision №2): фото 128 cover, имя кламп 2, цена 16.5/800, Купить 44 */
.v .hits-section .grid4__list{grid-template-columns:repeat(2,1fr);gap:12px}
.v .hits-section .pr-block__pic{height:128px}
.v .hits-section .pr-block__img{object-fit:cover;width:100%;height:100%}
.v .hits-section .pr-block__info{padding:10px 12px 12px!important;gap:4px!important}
.v .hits-section .pr-block__item h3{min-height:0;height:auto!important;margin:0!important}
.v .hits-section .pr-block__title a{font-size:13px;line-height:1.3;font-weight:600}
.v .hits-section .pr-block__art{font-size:11.5px}
.v .hits-section .pr-block__desc{display:none!important}
.v .hits-section .pr-block__presents__table{margin:4px 0 0!important}
.v .hits-section .pr-block__present-value{font-size:12px}
.v .hits-section .js_shop_price{font-size:16.5px!important;font-weight:800!important}
.v .hits-section .pr-block__tocart-price__col .price{font-size:16.5px!important;font-weight:800!important;line-height:1.2}
.v .hits-section .shop_price_measure_unit{display:block;font-size:11px;font-weight:400;color:var(--mut2);margin-top:2px}
.v .hits-section .pr-block__tocart{padding-top:8px}
.v .hits-section .pr-block__badge{font-size:10.5px;padding:4px 9px}
/* D) НОВОСТИ: фото 124 (баннеры не в кашу), дата-плашка компакт, кламп с многоточием, стрелки прочь */
.v .news-section:not(.objects-section) .grid4__pic{height:124px!important}
.v .news-section:not(.objects-section) .grid4__date{font-size:12px!important;font-weight:600;padding:5px 9px!important;border-radius:0 9px 0 0}
.v .news-section:not(.objects-section) .grid4__text{padding:12px 14px 16px!important;font-size:13px;max-height:none!important;-webkit-line-clamp:4!important}
.v .news-section:not(.objects-section) .grid4__text p{font-size:13px!important;line-height:1.45!important}
.v .news-section .prev,.v .news-section .next,.v .clients-section .prev,.v .clients-section .next,.v .hits-section .prev,.v .hits-section .next{display:none!important}
/* E) ОБЪЕКТЫ: тайтл 15.5/кламп 3 (бьём спец. 23px-правила), бейдж без разлома, мета кламп 2, карточка 240 */
body.mainpage #wrapper .v .objects-case-card--home-vitrine{height:240px!important}
body.mainpage #wrapper .v .objects-case-card--home-vitrine .objects-case-card__body{padding:16px!important}
body.mainpage #wrapper .v .objects-case-card--home-vitrine .objects-case-card__badge{font-size:11px!important;padding:5px 10px!important;margin:0 0 10px!important;word-break:normal;overflow-wrap:normal;max-width:100%!important}
body.mainpage #wrapper .v .objects-case-card--home-vitrine .objects-case-card__title{font-size:15.5px!important;line-height:1.25!important;letter-spacing:-.2px!important;-webkit-line-clamp:3;word-break:normal;overflow-wrap:normal}
body.mainpage #wrapper .v .objects-case-card--home-vitrine .objects-case-card__meta{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical;overflow:hidden;font-size:12px!important;line-height:1.4!important;margin:6px 0 0!important}
/* F) CTA: кнопка 100% стопкой под инпутом */
.v .request-section .cb__form{display:flex;flex-direction:column;gap:12px;width:100%}
.v .request-section .cb__field{width:100%;margin:0}
.v .request-section .cb__btn{width:100%!important;min-height:48px;margin:0}
/* G) КАТЕГОРИИ: плашки одной высоты (2 vs 3 строки названия) */
.v .shop_category .pic_cat_menu a{min-height:92px}
/* H) ПОЧЕМУ: компакт — меньше мёртвого воздуха */
.v .why-section .grid8__item{padding:18px 16px}
.v .why-section .grid8__pic{margin:0 0 12px}
.v .why-section .grid8__title{font-size:15px}
}
@media(max-width:420px){
.v .hits-section .grid4__list{gap:10px}
.v .hits-section .pr-block__pic{height:112px}
}

/* U0 NIGHT2 fix-2: форензик-добивка */
@media(max-width:768px){
/* зазор имя->Арт: h3 держал 96px (фантомные line-box'ы при клампнутом <a>) */
.v .hits-section .pr-block__title{display:block!important;height:auto!important;min-height:0!important;padding:0!important;margin:0!important;line-height:0!important}
.v .hits-section .pr-block__title a{line-height:1.3!important}
/* fix-4: хайд .prev/.next УБРАН — это кастомные кнопки hero; шевроны в хитах лечились white-space:normal (fix-3) */

/* тайтл объекта: 15.5px клипал последнюю букву (sw148>cw134) -> 15px + перенос-страховка */
body.mainpage #wrapper .v .objects-case-card--home-vitrine .objects-case-card__title{font-size:15px!important;overflow-wrap:break-word;word-break:normal}
}

/* U0 NIGHT2 fix-3: наследуемый nowrap на .grid4__list (легаси-слайдер) резал тайтлы в 1 строку */
@media(max-width:768px){
.v .grid4__list{white-space:normal!important}
}

/* U0 NIGHT2 fix-5: легаси-стрелки слайдера grid4__prev/next (FA-глифы) поверх статичных 2-кол сеток */
@media(max-width:768px){
.v .grid4__prev,.v .grid4__next{display:none!important}
}

/* U0 NIGHT2 fix-6: CTA-форма — captcha-обёртка и кнопка без легаси-маргинов (куча 60px -> gap 24) */
@media(max-width:768px){
.v .request-section .captcha{margin:0!important;padding:0!important}
.v .request-section .cb__btn{margin:0!important}
}

/* ============ U1 (FRAME 2026-07-03): ховер-разлёт не режется обёртками ============
   Канон-ховер (рамка --brand + тень 0 18px 44px + translateY(-4px)) резался:
   - .grid4__crop{overflow:hidden} (main.css legacy) у клиентов/новостей/объектов — статичные сетки, крышка не нужна → visible (прецедент: hits-section);
   - карусель брендов (трек overflow-x:auto = клип по Y) — компенсация: padding со всех сторон + равные отрицательные margin (геометрия покоя не меняется), scroll-padding возвращает snap-выравнивание. */
.v .clients-section .grid4__crop,
.v .news-section .grid4__crop,
.v .objects-section .grid4__crop{overflow:visible}
.v .brands-section .grid4__crop{padding:48px 28px;margin:-48px -28px}
.v .brands-section .grid4__list{padding:48px 28px;margin:-48px -28px;scroll-padding-left:28px}
@media(max-width:768px){
  .v .brands-section .grid4__crop{padding:48px 16px;margin:-48px -16px}
  .v .brands-section .grid4__list{padding:48px 16px;margin:-48px -16px;scroll-padding-left:16px}
}

/* ===== D24 U3: лого брендов крупнее — инсет abs-бокса 26→14px (моб ≤760 →10px); сетка/карусель карточек не тронуты ===== */
.v .brands-section .grid4__img{left:14px;top:14px;width:calc(100% - 28px);height:calc(100% - 28px)}
@media(max-width:760px){.v .brands-section .grid4__img{left:10px;top:10px;width:calc(100% - 20px);height:calc(100% - 20px)}}

/* ===== D25 U1: мобилка — карточки брендов той же ширины, что карточки категорий (168px при iPhone12). Корень: overflow-трик трека (padding 16 / margin −16 для десктоп-теней ховера) сжимал flex-базу до 286px → item calc(50%−8)=135. На таче ховер-теней нет — трик снят ≤768, сетка = категорийная (gap 14, 50%−7px). Карусель scroll-snap сохранена. ===== */
@media(max-width:768px){
.v .brands-section .grid4__crop{padding:0 !important;margin:0 !important}
.v .brands-section .grid4__list{padding:0 !important;margin:0 !important;scroll-padding-left:0 !important;gap:14px}
.v .brands-section .grid4__item{flex-basis:calc(50% - 7px)}
}
