/* ==========================================================================
   Главный экран (hero) — «Московский Клининг».
   Все правила внутри .mc-hero: блок не влияет на остальную страницу.
   Фирменные цвета берутся из логотипа: зелёный #00B265, оранжевый #E88251.
   ========================================================================== */

.mc-hero {
    --mc-green: #00b265;
    --mc-green-bright: #00bd6b;
    --mc-green-dark: #009554;
    --mc-orange: #e88251;
    --mc-ink: #1f2d2b;
    --mc-muted: #5b6f68;
    --mc-line: #e2efe9;
    --mc-soft: #f2faf6;
    --mc-tg: #29a9eb;   /* фирменный голубой Telegram */
    --mc-max: #6c3ff5;  /* фирменный фиолетовый MAX */

    padding: 26px 0 0;
    font-family: "Onest", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    color: var(--mc-ink);
}

.mc-hero *,
.mc-hero *::before,
.mc-hero *::after { box-sizing: border-box; }

/* Светлый фон страницы — его задавал прежний блок главного экрана
   (единственное правило вне .mc-hero, чтобы главная не отличалась от остальных
   страниц сайта). Шрифт при этом остаётся темовым — Inter больше не навязываем. */
body:has(.mc-hero) { background: #f6f8f7; }

/* --- Панель ------------------------------------------------------------- */
.mc-hero__panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 44px;
    align-items: center;
    padding: 54px 56px;
    border: 1px solid #ddeee5;
    border-radius: 34px;
    /* Спокойный фирменный градиент: у текста почти белый, к фотографиям — лёгкая
       зелень, за кругами едва заметное свечение. Первая версия была почти белой
       и читалась как незаливка, вторая — слишком плотной; эта посередине. */
    background:
        radial-gradient(58% 74% at 86% 44%, rgba(0, 189, 107, .10) 0%, rgba(0, 189, 107, 0) 64%),
        linear-gradient(115deg, #ffffff 0%, #f5fbf8 48%, #e9f6ef 100%);
    box-shadow: 0 28px 60px -42px rgba(15, 61, 43, .45);
}

/* --- Левая колонка ------------------------------------------------------ */
/* Двойной класс — чтобы перебить правило темы `body.front-page h1`
   (оно задаёт h1 размер var(--h1_size) = 40px и специфичнее одиночного класса). */
.mc-hero .mc-hero__title {
    margin: 0 0 18px;
    font-size: 54px;
    font-weight: 800;
    line-height: 1.06;
    letter-spacing: -.02em;
    color: var(--mc-ink);
}

.mc-hero__title span { color: var(--mc-green); }

.mc-hero__lead {
    margin: 0;
    max-width: 27em;
    font-size: 18px;
    line-height: 1.5;
    color: var(--mc-muted);
}

.mc-hero__divider {
    height: 1px;
    margin: 28px 0;
    border: 0;
    background: linear-gradient(90deg, #cde6d9, rgba(205, 230, 217, 0) 92%);
}

/* --- Кнопки ------------------------------------------------------------- */
.mc-hero__actions {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.mc-hero__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 60px;
    padding: 0 34px;
    border-radius: 999px;
    background: var(--mc-green);
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    box-shadow: 0 14px 26px -14px rgba(0, 178, 101, .9);
    transition: background-color .18s ease, box-shadow .18s ease;
}

.mc-hero__cta:hover,
.mc-hero__cta:focus-visible {
    background: var(--mc-green-dark);
    color: #fff;
    box-shadow: 0 18px 30px -14px rgba(0, 178, 101, .95);
}

/* кругляши мессенджеров — каждый в своём фирменном цвете */
.mc-hero__msg {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    flex: 0 0 60px;
    border: 1px solid currentColor;
    border-radius: 50%;
    background: #fff;
    text-decoration: none;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

.mc-hero__msg--tg  { color: var(--mc-tg); }
.mc-hero__msg--max { color: var(--mc-max); }

.mc-hero__msg svg { width: 26px; height: 26px; display: block; }
.mc-hero__msg svg path { fill: currentColor; }

/* при наведении круг заливается цветом мессенджера, иконка становится белой */
.mc-hero__msg:hover,
.mc-hero__msg:focus-visible { color: #fff; }
.mc-hero__msg--tg:hover,
.mc-hero__msg--tg:focus-visible  { background: var(--mc-tg);  border-color: var(--mc-tg); }
.mc-hero__msg--max:hover,
.mc-hero__msg--max:focus-visible { background: var(--mc-max); border-color: var(--mc-max); }

.mc-hero__cta:focus-visible { outline: 3px solid rgba(0, 178, 101, .35); outline-offset: 2px; }
.mc-hero__msg--tg:focus-visible  { outline: 3px solid rgba(41, 169, 235, .35); outline-offset: 2px; }
.mc-hero__msg--max:focus-visible { outline: 3px solid rgba(108, 63, 245, .35); outline-offset: 2px; }

/* --- Преимущества ------------------------------------------------------- */
.mc-hero__features {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px 18px;
    margin-top: 34px;
    padding-top: 26px;
    border-top: 1px solid var(--mc-line);
}

.mc-hero__feature {
    display: flex;
    align-items: center;
    gap: 11px;
    font-size: 14.5px;
    line-height: 1.25;
    color: #3d534c;
}

.mc-hero__feature img {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    object-fit: contain;
}

/* --- Правая колонка: круги с фото --------------------------------------- */
.mc-hero__circles {
    position: relative;
    width: 100%;
    max-width: 580px;
    margin-left: auto;
    aspect-ratio: 1 / 1;
}

/* декоративное кольцо и мягкое пятно позади фотографий */
.mc-hero__ring,
.mc-hero__blob {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.mc-hero__ring {
    inset: 6% 4% auto auto;
    width: 78%;
    aspect-ratio: 1 / 1;
    border: 1.5px dashed rgba(0, 178, 101, .35);
}

.mc-hero__blob {
    left: 4%;
    bottom: 2%;
    width: 58%;
    aspect-ratio: 1 / 1;
    background: radial-gradient(circle at 30% 30%, rgba(0, 189, 107, .20), rgba(0, 189, 107, .04) 70%);
    filter: blur(3px);
}

.mc-hero__photo {
    position: absolute;
    overflow: hidden;
    border-radius: 50%;
    border: 6px solid #fff;
    background: var(--mc-soft);
    box-shadow: 0 26px 46px -22px rgba(15, 61, 43, .5);
}

.mc-hero__photo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.mc-hero__photo--main { left: 0;    top: 11%;   width: 64%; aspect-ratio: 1 / 1; }
.mc-hero__photo--top  { right: 0;   top: 0;     width: 40%; aspect-ratio: 1 / 1; }
.mc-hero__photo--low  { right: 0;   bottom: 0;  width: 45%; aspect-ratio: 1 / 1; }

/* --- Адаптив ------------------------------------------------------------ */
@media (max-width: 1199px) {
    .mc-hero__panel { padding: 44px 40px; gap: 30px; }
    .mc-hero .mc-hero__title { font-size: 42px; }
    .mc-hero__lead { font-size: 17px; }
    .mc-hero__features { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 12px; }
}

@media (max-width: 991px) {
    .mc-hero__panel {
        grid-template-columns: minmax(0, 1fr);
        gap: 34px;
        padding: 38px 30px;
        border-radius: 28px;
    }
    .mc-hero .mc-hero__title { font-size: 40px; }
    .mc-hero__circles { order: -1; max-width: 470px; margin: 0 auto; }
    .mc-hero__lead { max-width: none; }
}

@media (max-width: 575px) {
    .mc-hero { padding-top: 16px; }
    .mc-hero__panel { padding: 28px 20px; border-radius: 24px; }
    .mc-hero .mc-hero__title { font-size: 30px; }
    .mc-hero__lead { font-size: 16px; }
    .mc-hero__divider { margin: 22px 0; }
    /* кнопка тянется, кругляши остаются с ней в одну строку */
    .mc-hero__cta { flex: 1 1 auto; height: 56px; padding: 0 18px; font-size: 16px; }
    .mc-hero__msg { width: 56px; height: 56px; flex: 0 0 56px; }
    .mc-hero__msg svg { width: 24px; height: 24px; }
    .mc-hero__actions { gap: 10px; flex-wrap: nowrap; }
    .mc-hero__features { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 26px; padding-top: 20px; }
    .mc-hero__feature:last-child { grid-column: 1 / -1; }
    .mc-hero__feature { font-size: 13px; }
    .mc-hero__circles { max-width: 340px; }
    .mc-hero__photo { border-width: 4px; }
}

@media (prefers-reduced-motion: reduce) {
    .mc-hero__cta,
    .mc-hero__msg { transition: none; }
}


/* ==========================================================================
   Внутренние страницы: та же панель, но одна круглая фотография услуги.
   ========================================================================== */

.mc-hero--inner .mc-hero__panel {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
}

.mc-hero--inner .mc-hero__circles { max-width: 580px; }

/* единственное фото занимает почти весь квадрат композиции */
.mc-hero__photo--solo {
    left: 50%;
    top: 50%;
    width: 96%;
    aspect-ratio: 1 / 1;
    transform: translate(-50%, -50%);
}

/* декор под одиночным фото — кольцо крупнее самого круга */
.mc-hero--inner .mc-hero__ring {
    inset: -2% -2% auto auto;
    width: 104%;
}

.mc-hero--inner .mc-hero__blob {
    left: 0;
    bottom: 4%;
    width: 62%;
}

/* вторичные ссылки: цены и калькулятор — они есть только на внутренних */
.mc-hero__links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 22px;
    margin-top: 18px;
}

.mc-hero__links a {
    font-size: 15px;
    font-weight: 600;
    color: var(--mc-green);
    text-decoration: none;
    border-bottom: 1px solid rgba(0, 178, 101, .35);
    transition: color .18s ease, border-color .18s ease;
}

.mc-hero__links a:hover {
    color: var(--mc-green-dark);
    border-color: var(--mc-green-dark);
}

@media (max-width: 991px) {
    .mc-hero--inner .mc-hero__panel { grid-template-columns: minmax(0, 1fr); }
    .mc-hero--inner .mc-hero__circles { max-width: 460px; }
}

@media (max-width: 575px) {
    .mc-hero--inner .mc-hero__circles { max-width: 330px; }
    .mc-hero__links { gap: 6px 18px; margin-top: 14px; }
    .mc-hero__links a { font-size: 14px; }
}


/* ==========================================================================
   Хлебные крошки. Разделитель рисуется css-стрелкой, а не текстом внутри
   ссылки: так он не попадает в микроразметку и не копируется вместе с путём.
   ========================================================================== */

.mc-crumbs {
    margin: 18px 0 6px;
    font-family: "Onest", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

.mc-crumbs__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 14px;
    line-height: 1.3;
}

.mc-crumbs__item {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #7c8f89;
    min-width: 0;
}

/* стрелка перед каждым пунктом, кроме первого */
.mc-crumbs__item + .mc-crumbs__item::before {
    content: "";
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-right: 1.5px solid #c3d6ce;
    border-bottom: 1.5px solid #c3d6ce;
    transform: rotate(-45deg);
}

.mc-crumbs__link {
    color: #5b6f68;
    text-decoration: none;
    transition: color .18s ease;
}

.mc-crumbs__link:hover,
.mc-crumbs__link:focus-visible { color: #00b265; }

.mc-crumbs__item--current {
    color: #1f2d2b;
    font-weight: 600;
    min-width: 0;
}

.mc-crumbs__item--current span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: min(60ch, 100%);
}

@media (max-width: 575px) {
    .mc-crumbs { margin: 12px 0 4px; }
    .mc-crumbs__list { font-size: 13px; gap: 4px 8px; }
}


/* ==========================================================================
   Главное меню: два раздела с мега-панелью (частным / юридическим).

   Панель позиционируется fixed под шапкой: у обёртки сайта overflow-x: hidden,
   и absolute-панель она подрезала по краям. Высота ограничена высотой экрана —
   иначе длинные списки уходили под нижний край без возможности прокрутки.
   Тема раскладывает меню флексом и делает каждый <li> позиционирующим, поэтому
   её правила приходится перебивать явно.
   ========================================================================== */

.mc-nav > .mc-nav__item--mega { position: static !important; }

/* Пункт-раздел: подсветка активного и «мостик» вниз, чтобы курсор по пути
   к панели не проваливался в пустоту и меню не закрывалось. */
/* Ритм пунктов меню: у каждого одинаковые внутренние отступы и одинаковый
   зазор между соседями. Раньше зазор был 0 — пилюли-подсветки стыковались
   впритык, а шеврон упирался в следующий пункт. Ховер — только цвет и фон,
   без смещений и смены размеров: так нет «скачка». */
.mc-nav > li { margin: 0 3px !important; padding: 0 !important; }

.mc-nav > li > a {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    padding: 6px 14px !important;
    border-radius: 999px !important;
    line-height: 1.2;
    transform: none !important;
    transition: color .15s ease, background-color .15s ease !important;
}

.mc-nav > li > a:hover,
.mc-nav > li.is-open > a { color: #00b265 !important; background: #f1faf5 !important; }

.mc-nav .mc-nav__item--mega > a { position: relative; }

.mc-nav .mc-nav__item--mega.is-open > a { color: #00b265 !important; }

.mc-nav .mc-nav__item--mega.is-open > a::before {
    content: "";
    position: absolute;
    left: -12px;
    right: -12px;
    top: 100%;
    height: 22px;
}

.mc-nav .mc-mega {
    position: fixed;
    left: 0;
    right: 0;
    top: var(--mc-mega-top, 150px);
    z-index: 1200;
    padding: 10px 22px 22px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition: opacity .16s ease, transform .16s ease, visibility .16s;
    pointer-events: none;
}

.mc-nav .mc-nav__item--mega.is-open > .mc-mega,
.mc-nav .mc-nav__item--mega:focus-within > .mc-mega {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.mc-nav .mc-mega__inner {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    max-width: 1320px;
    max-height: calc(100vh - var(--mc-mega-top, 150px) - 40px);
    margin: 0 auto;
    padding: 26px 8px;
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 1px solid #e2efe9;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 26px 56px -28px rgba(15, 61, 43, .5);
    font-family: "Onest", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    text-align: left;
}

/* колонки одинаковой ширины, разделённые тонкой линией */
.mc-nav .mc-mega__col {
    min-width: 0;
    position: static !important;
    display: block !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 26px !important;
    border-left: 1px solid #f0f6f3;
}

.mc-nav .mc-mega__col:first-child { border-left: 0; }

.mc-nav .mc-mega__title {
    display: block !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.25;
    color: #1f2d2b;
    text-decoration: none;
    text-transform: none;
    letter-spacing: 0;
}

.mc-nav .mc-mega__title:hover,
.mc-nav .mc-mega__title:focus-visible { color: #00b265; }

.mc-nav .mc-mega__list {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    position: static !important;
    width: auto !important;
    background: none !important;
    box-shadow: none !important;
    border: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

.mc-nav .mc-mega__list > li {
    display: block !important;
    position: static !important;
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    white-space: normal !important;
}

.mc-nav .mc-mega__list > li::before,
.mc-nav .mc-mega__list > li::after { content: none !important; }

.mc-nav .mc-mega__list a {
    display: block !important;
    padding: 6px 10px !important;
    margin: 0 -10px !important;
    border-radius: 8px;
    font-size: 13.5px;
    font-weight: 400;
    line-height: 1.35;
    color: #5b6f68;
    text-decoration: none;
    text-transform: none;
    letter-spacing: 0;
    transition: color .15s ease;
}

.mc-nav .mc-mega__list a:hover,
.mc-nav .mc-mega__list a:focus-visible { color: #00b265; background: #f4faf7; }

.mc-nav .mc-mega__more {
    display: inline-block !important;
    margin-top: 10px;
    padding: 0 !important;
    font-size: 13px;
    font-weight: 600;
    color: #00b265;
    text-decoration: none;
    text-transform: none;
    border-bottom: 1px solid rgba(0, 178, 101, .35);
}

.mc-nav .mc-mega__more:hover { color: #009554; border-color: #009554; }

/* аккуратная полоса прокрутки, если список длиннее экрана */
.mc-nav .mc-mega__inner::-webkit-scrollbar { width: 8px; }
.mc-nav .mc-mega__inner::-webkit-scrollbar-thumb { background: #dbeae3; border-radius: 8px; }
.mc-nav .mc-mega__inner::-webkit-scrollbar-track { background: transparent; }

/* стрелка темы у пунктов с подменю заменена на свой шеврон: тонкий, по центру
   строки, при открытой панели поворачивается вверх */
.mc-nav .mc-nav__item--mega::after { content: none !important; display: none !important; }

/* шеврон стоит в потоке рядом с текстом (gap у ссылки), поэтому не зависит
   от паддингов и не наезжает на соседний пункт; при открытии — вверх */
.mc-nav .mc-nav__item--mega > a::after {
    content: "" !important;
    display: inline-block !important;
    position: static;
    width: 7px;
    height: 7px;
    margin: -3px 0 0 0;
    border-right: 1.6px solid currentColor;
    border-bottom: 1.6px solid currentColor;
    transform: rotate(45deg);
    transition: transform .18s ease;
    opacity: .75;
    flex: 0 0 7px;
}

.mc-nav .mc-nav__item--mega.is-open > a::after {
    margin: 3px 0 0 0;
    transform: rotate(-135deg);
}

@media (max-width: 1199px) {
    .mc-nav .mc-mega__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 20px 4px; }
    .mc-nav .mc-mega__col { padding: 0 18px !important; }
    .mc-nav .mc-mega__col:nth-child(odd) { border-left: 0; }
}

/* на мобильных работает штатное меню темы — панель не нужна */
@media (max-width: 991px) {
    .mc-nav .mc-mega { display: none !important; }
}

/* заголовок группы внутри мобильного меню */
.mobile_menu .mc-mobgroup > a {
    font-weight: 700;
    color: #1f2d2b;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: .04em;
    opacity: .75;
}


/* ==========================================================================
   Мессенджеры в шапке: заливные круглые кнопки в цветах сервисов, прижаты
   к кнопке «Заказать звонок» и одной с ней высоты (48px). Тема красит все
   иконки соцсетей фирменным зелёным и не задаёт им размера, поэтому правила
   заданы явно; Telegram и MAX различаются только по адресу ссылки —
   разметка у них одинаковая.
   ========================================================================== */

/* Полоса раскладывается flex-start: почта и адрес слева с зазором 34px,
   иконки мессенджеров и кнопка — справа одной группой. Зазор полосы (gap)
   к иконкам НЕ применяется: у обёртки и у кнопки свои отступы, иначе к
   расстоянию между ними прибавлялись ещё 34px и ряд выглядел рваным. */
.rhl_minimal_top {
    align-items: center;
    justify-content: flex-start !important;
    gap: 0 !important;
}

.rhl_minimal_top > .rhl_minimal_top_item + .rhl_minimal_top_item { margin-left: 34px; }

.rhl_minimal_top > .order_button { margin-left: 10px !important; }

/* блок иконок больше не «висит» посередине полосы, а стоит вплотную к кнопке */
.rhl_minimal_social_wrap {
    display: flex !important;
    align-items: center;
    gap: 10px;              /* тот же шаг, что и до кнопки */
    margin-left: auto;
    margin-right: 0;
    padding: 0 !important;
    width: auto !important;
    font-size: 0;           /* пробелы между <a> в разметке иначе дают лишние зазоры */
}

.rhl_minimal_social_wrap > a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    margin: 0 !important;   /* тема ставит второй иконке margin-left: 24px */
    padding: 0 !important;
    border: 0;
    border-radius: 50%;
    /* в разметке вокруг <svg> есть переносы строк: они создают текстовый бокс
       и сдвигают иконку от центра на пару пикселей */
    font-size: 0;
    line-height: 0;
    text-align: center;
    transition: background-color .18s ease;
}

.rhl_minimal_social_wrap > a svg {
    width: 21px !important;
    height: 21px !important;
    display: block;
    margin: 0 !important;
    flex: 0 0 auto;
}

/* у знака Telegram «хвост» самолётика смещён внутри viewBox — компенсируем,
   иначе в круге он выглядит сдвинутым влево-вниз */
.rhl_minimal_social_wrap a[href*="t.me"] svg { transform: translate(1px, -1px); }

/* иконка внутри — белая, фон круга — цвет сервиса */
.rhl_minimal_social_wrap > a svg path,
.header_mobile_contact_item a[href*="t.me"] svg path,
.header_mobile_contact_item a[href*="max.ru"] svg path { fill: #fff !important; }

.rhl_minimal_social_wrap a[href*="t.me"] { background: #29a9eb; }
.rhl_minimal_social_wrap a[href*="max.ru"] { background: #6c3ff5; }

.rhl_minimal_social_wrap a[href*="t.me"]:hover { background: #1f8fcc; }
.rhl_minimal_social_wrap a[href*="max.ru"]:hover { background: #5a31d6; }

/* в мобильной шапке иконки остаются цветными, но без круга */
.header_mobile_contact_item a[href*="t.me"] svg path { fill: #29a9eb !important; }
.header_mobile_contact_item a[href*="max.ru"] svg path { fill: #6c3ff5 !important; }

/* ==========================================================================
   Шапка при прокрутке. Сама шапка стоит в потоке страницы как обычный блок.
   Когда она уходит за верхний край, сверху плавно выезжает её КЛОН — только
   нижняя полоса с логотипом, меню и телефоном. Клон живёт отдельно, поэтому
   переход не дёргает контент: ничего не схлопывается и не меняет высоту.
   ========================================================================== */

.rhl_minimal:not(.mc-sticky) {
    position: static !important;
    height: auto !important;
    min-height: 0 !important;
    padding-bottom: 0 !important;   /* тема добивала низ шапки отдельными 14px */
}

/* Нижняя полоса: одинаковый воздух сверху и снизу. У темы было 7px только
   сверху + 14px паддинга у самой шапки — блок выглядел висящим криво. */
.rhl_minimal .rhl_minimal_bottom {
    padding: 12px 0 !important;
    align-items: center;
}

/* отступ под фиксированную шапку больше не нужен — она в потоке */
body { padding-top: 0 !important; }

.mc-sticky {
    position: fixed !important;
    padding: 0 !important;   /* тема даёт шапке 14px снизу — в клоне это пустой хвост под полосой */
    left: 0;
    right: 0;
    top: 0;
    z-index: 1000;
    background: #fff;
    box-shadow: 0 10px 26px -20px rgba(15, 61, 43, .55);
    height: auto !important;
    min-height: 0 !important;
    transform: translateY(-110%);
    transition: transform .32s cubic-bezier(.22, 1, .36, 1);
    will-change: transform;
}

.mc-sticky.is-shown { transform: translateY(0); }

/* в клоне — только нижняя полоса, чуть компактнее */
.mc-sticky .rhl_minimal_top { display: none !important; }
.mc-sticky .rhl_minimal_bottom { padding: 8px 0 !important; }

/* мега-панель, открытая из клона, считает верх от клона же */
.mc-sticky .mc-mega { top: var(--mc-mega-top, 60px); }

@media (prefers-reduced-motion: reduce) {
    .mc-sticky { transition: none; }
}

/* ==========================================================================
   Телефон в нижней полосе — крупнее, подпись о режиме работы переехала в
   верхнюю полосу к адресу.
   ========================================================================== */

.rhl_minimal_bottom_phone a,
.rhl_minimal_bottom_phone a span {
    font-size: 22px !important;
    font-weight: 800 !important;
    letter-spacing: -.01em;
    line-height: 1.1;
    color: #1f2d2b;
    white-space: nowrap;
}

.rhl_minimal_bottom_phone a:hover span { color: #00b265; }

.mc-worktime {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
    line-height: 1;
}

/* Иконки верхней полосы — один набор (Lucide): 22px, линия 1.75, фирменный
   зелёный, одинаковый зазор до текста. Тема красила их в белый и давала
   разные размеры (24 у почты, 20 у адреса) — строка выглядела разнобойно. */
.rhl_minimal_top .rhl_minimal_top_item_icon {
    display: inline-flex !important;
    align-items: center;
    gap: 9px;
    line-height: 1;
}

.rhl_minimal_top .mc-ico {
    width: 22px !important;
    height: 22px !important;
    flex: 0 0 22px;
    display: block;
    color: #00b265;
    stroke: currentColor !important;
    fill: none !important;
    margin: 0 !important;
}

.rhl_minimal_top .mc-ico * { stroke: currentColor !important; fill: none !important; }

@media (max-width: 1199px) {
    .mc-worktime { display: none; }
}


/* ==========================================================================
   «Популярные услуги» — карточки сразу под главным экраном, без заголовка.
   Спокойная «премиальная» подача: тонкая рамка, много воздуха, аккуратная
   типографика, круглое фото с зелёным кольцом и сдержанная реакция на курсор.
   ========================================================================== */

.mc-visually-hidden {
    position: absolute !important;
    width: 1px; height: 1px;
    margin: -1px; padding: 0; border: 0;
    clip: rect(0 0 0 0); clip-path: inset(50%);
    overflow: hidden; white-space: nowrap;
}

/* Секции темы несут свои вертикальные отступы (90px снизу, 50px сверху).
   Между главным экраном и карточками услуг это давало разрыв ~106px —
   гасим у обеих секций, нужный воздух задаём сами. */
.section-system-container:has(> .mc-hero) { padding-bottom: 18px !important; }
.section-system-container:has(> .mc-services) { padding-top: 0 !important; }

/* Просьба оператора: у всех заголовков второго уровня отступ снизу 40px.
   Тема задаёт свои 24px в нескольких файлах и с более весомыми селекторами,
   поэтому здесь !important — иначе правило не доезжает. */
h2,
.common-h2,
.h2 > h2,
.mc-services__title { margin-bottom: 40px !important; }

.mc-services__title {
    margin: 0 0 40px;
    text-align: center;
    font-size: clamp(26px, 2.3vw, 36px);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: #1f2d2b;
}

.mc-services {
    padding: 30px 0 8px;
    font-family: "Onest", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

.mc-services__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.mc-service {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 30px 24px 24px;
    border: 1px solid #cde3d8;   /* блёклая #e6f1eb почти сливалась с фоном */
    border-radius: 24px;
    background: #fff;
    text-align: center;
    overflow: hidden;
    transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

/* тонкая зелёная полоса сверху — появляется при наведении, добавляет «дороговизны» */
.mc-service::before {
    content: "";
    position: absolute;
    left: 24px;
    right: 24px;
    top: 0;
    height: 2px;
    border-radius: 0 0 2px 2px;
    background: linear-gradient(90deg, rgba(0,178,101,0), #00b265, rgba(0,178,101,0));
    opacity: 0;
    transition: opacity .25s ease;
}

.mc-service:hover {
    border-color: #9fd4bb;
    box-shadow: 0 24px 50px -34px rgba(15, 61, 43, .45);
    transform: translateY(-2px);
}

.mc-service:hover::before { opacity: 1; }

/* круглое фото в тонком кольце — перекликается с кругами главного экрана */
.mc-service__media {
    position: relative;
    display: block;
    width: 132px;
    height: 132px;
    margin-bottom: 20px;
    border-radius: 50%;
    overflow: hidden;
    background: #f2faf6;
    box-shadow: 0 0 0 1px #d5e9df, 0 0 0 7px #fff, 0 0 0 8px #e2f0e9;
    transition: box-shadow .25s ease;
}

.mc-service:hover .mc-service__media {
    box-shadow: 0 0 0 1px #cfe8db, 0 0 0 7px #fff, 0 0 0 8px #d8efe4;
}

.mc-service__media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .4s ease;
}

.mc-service:hover .mc-service__media img { transform: scale(1.04); }

.mc-service__name {
    margin: 0 0 10px;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -.01em;
    color: #1f2d2b;
}

.mc-service__name a { color: inherit; text-decoration: none; }
.mc-service__name a:hover { color: #00b265; }

/* ссылка на всю карточку: кликается любая её часть, но текст остаётся выделяемым */
.mc-service__name a::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
}

.mc-service__text {
    margin: 0 0 20px;
    font-size: 13.5px;
    line-height: 1.5;
    color: #6b7f78;
}

.mc-service__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    margin-top: auto;
    padding-top: 16px;
    border-top: 1px solid #e4f0ea;
}

.mc-service__price {
    font-size: 15px;
    font-weight: 700;
    color: #1f2d2b;
    white-space: nowrap;
    letter-spacing: -.01em;
}

.mc-service__links {
    display: inline-flex;
    gap: 8px;
    position: relative;
    z-index: 2;   /* поверх ссылки-оверлея карточки */
}

.mc-service__msg {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border-radius: 50%;
    font-size: 0;
    line-height: 0;
    transition: background-color .18s ease, transform .18s ease;
}

.mc-service__msg:hover { transform: translateY(-1px); }
.mc-service__msg svg { width: 16px; height: 16px; display: block; }
.mc-service__msg svg path { fill: #fff; }

.mc-service__msg--tg { background: #29a9eb; }
.mc-service__msg--max { background: #6c3ff5; }
.mc-service__msg--tg:hover { background: #1f8fcc; }
.mc-service__msg--max:hover { background: #5a31d6; }

@media (max-width: 1199px) {
    .mc-services__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
}

@media (max-width: 991px) {
    .mc-services__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 575px) {
    .mc-services { padding-top: 10px; }
    .mc-services__grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .mc-service { padding: 24px 20px 20px; border-radius: 20px; }
    .mc-service__media { width: 116px; height: 116px; margin-bottom: 16px; }
}

@media (prefers-reduced-motion: reduce) {
    .mc-service, .mc-service__media, .mc-service__media img, .mc-service__msg { transition: none; }
    .mc-service:hover { transform: none; }
}


/* --- Вкладки категорий и кнопка догрузки -------------------------------- */

.mc-tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin: -18px 0 28px;
}

.mc-tab {
    padding: 9px 18px;
    border: 1px solid #d7e9e0;
    border-radius: 999px;
    background: #fff;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    color: #3d534c;
    cursor: pointer;
    transition: color .18s ease, background-color .18s ease, border-color .18s ease;
}

.mc-tab:hover { color: #00b265; border-color: #9fd4bb; }

.mc-tab.is-active {
    background: #00b265;
    border-color: #00b265;
    color: #fff;
}

.mc-tab:focus-visible { outline: 3px solid rgba(0, 178, 101, .35); outline-offset: 2px; }

/* пока грузится порция — сетка чуть гаснет, но не «прыгает» */
.mc-services__grid.is-loading { opacity: .55; transition: opacity .15s ease; }

.mc-services__grid.is-empty::after {
    content: "В этой категории пока нет услуг";
    grid-column: 1 / -1;
    padding: 30px 0;
    text-align: center;
    color: #6b7f78;
}

.mc-services__more {
    display: flex;
    justify-content: center;
    margin-top: 28px;
}

.mc-more {
    height: 52px;
    padding: 0 34px;
    border: 1px solid #cde3d8;
    border-radius: 999px;
    background: #fff;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    color: #1f2d2b;
    cursor: pointer;
    transition: color .18s ease, border-color .18s ease, background-color .18s ease;
}

.mc-more:hover { color: #00b265; border-color: #9fd4bb; background: #f6fbf8; }
.mc-more[hidden] { display: none; }
.mc-more:disabled { opacity: .6; cursor: default; }
.mc-more:focus-visible { outline: 3px solid rgba(0, 178, 101, .35); outline-offset: 2px; }

@media (max-width: 575px) {
    .mc-tabs { gap: 6px; margin-bottom: 20px; }
    .mc-tab { padding: 8px 14px; font-size: 13px; }
    .mc-more { width: 100%; height: 48px; }
}
