/* =========================================================================
   Блоки страниц, перенесённых с Elementor (главная, «О клинике» и т. д.).
   Подключаются к <main class="blocks ...">, палитра и контейнер — из brand.css.
   ====================================================================== */

.blocks .container { position: relative; }

.blocks .home-section-title {
    margin: 0 0 32px;
    color: #222;
    font-family: var(--mikos-font);
    font-size: clamp(30px, 3.3vw, 46px);
    font-weight: 400;
    line-height: 1.16;
    letter-spacing: -.04em;
    text-transform: none;
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
}

.blocks .home-section-title--center { text-align: center; }

.blocks .home-section-lead {
    max-width: 640px;
    margin: 0 0 40px;
    color: var(--mikos-muted);
    font-size: 16px;
    line-height: 1.5;
}

.blocks .btn--arrow { gap: 14px; }
.blocks .btn__arrow { flex-shrink: 0; }

/* Девиз между блоками */
.blocks .home-motto {
    margin: 0;
    padding: 56px 0;
    text-align: center;
    font-size: clamp(22px, 3vw, 40px);
    font-weight: 300;
    line-height: 1.3;
    letter-spacing: -.02em;
}

.blocks .home-motto span { color: var(--mikos-ink); }
.blocks .home-motto b { color: var(--mikos-blue); font-weight: 300; }
.blocks .home-motto-section { padding: 40px 0; }

/* =========================================================================
   Первый экран
   ====================================================================== */
.blocks .home-hero {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: flex-end;
    min-height: 796px;
    margin-bottom: clamp(40px, 5vw, 70px);
    background: var(--mikos-nude) var(--home-hero-image) center / cover no-repeat;
    color: #fff;
}

.blocks .home-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image: linear-gradient(180deg, rgb(0 0 0 / 78%) 0%, #140c00 100%);
    opacity: .5;
}

/* Шапка на главной прозрачная и лежит поверх hero — верхний отступ держит её высоту */
.blocks .home-hero__inner { padding: 110px 0 clamp(60px, 9vh, 120px); }

/* Типографика как в hero страницы услуги */
.blocks .home-hero__title {
    max-width: 880px;
    margin: 0 0 28px;
    color: #fff;
    font-size: clamp(32px, 4.6vw, 66px);
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: -.035em;
    text-wrap: balance;
}

.blocks .home-hero__short {
    max-width: 600px;
    margin: 0 0 28px;
    color: #fff;
    font-size: clamp(16px, 1.35vw, 20px);
    font-weight: 400;
    line-height: 1.45;
}

.blocks .home-hero__list {
    max-width: 600px;
    margin: 0 0 36px;
    padding: 0;
    list-style: none;
    font-size: clamp(16px, 1.35vw, 20px);
    font-weight: 400;
    line-height: 1.6;
}

/* Пункты с маркером — золотой квадрат, как маркеры списков на сайте (AI-квиз, разделы) */
.blocks .home-hero__list li {
    position: relative;
    margin: 0 0 6px;
    padding: 0 0 0 24px;
    list-style: none;
}
.blocks .home-hero__list li:last-child { margin-bottom: 0; }
.blocks .home-hero__list li::before {
    content: '';
    position: absolute;
    top: .72em;
    left: 2px;
    width: 7px;
    height: 7px;
    background: var(--mikos-gold);
    transform: translateY(-50%);
}

.blocks .home-hero__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    min-height: 64px;
    padding: 18px 30px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4;
    text-transform: none;
    letter-spacing: 0;
    transition: background .2s, transform .2s;
}

.blocks .home-hero__btn:hover { background: var(--mikos-blue-dark); transform: translateY(-2px); }
.blocks .home-hero__btn svg { flex-shrink: 0; }

.blocks .home-hero__scroll {
    position: absolute;
    left: 50%;
    bottom: 40px;
    width: 26px;
    height: 42px;
    transform: translateX(-50%);
    border: 1px solid rgb(255 255 255 / 60%);
}

.blocks .home-hero__scroll span {
    position: absolute;
    left: 50%;
    top: 10px;
    width: 2px;
    height: 8px;
    margin-left: -1px;
    background: #fff;
    animation: home-scroll 1.8s infinite;
}

@keyframes home-scroll {
    0% { transform: translateY(0); opacity: 1; }
    70% { transform: translateY(14px); opacity: 0; }
    100% { transform: translateY(0); opacity: 0; }
}

/* =========================================================================
   Обращение основателя
   ====================================================================== */
.blocks .home-letter {
    background: #fff;
}

.blocks .home-letter__inner {
    display: grid;
    grid-template-columns: 37fr 63fr;
    gap: clamp(24px, 4vw, 70px);
    align-items: start;
    padding: 0;
}

.blocks .home-letter__photo img {
    display: block;
    width: 100%;
    height: 508px;
    object-fit: cover;
    object-position: top;
}

.blocks .home-letter__quote { display: block; margin-bottom: 28px; }

.blocks .home-letter__text {
    margin: 0 0 22px;
    color: #222;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
}

.blocks .home-letter__text--lead {
    color: var(--mikos-ink);
    font-size: clamp(20px, 2vw, 30px);
    font-weight: 300;
    line-height: 1.35;
    letter-spacing: -.02em;
}

.blocks .home-letter__sign {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
    margin-top: 40px;
}

.blocks .home-letter__name {
    display: block;
    color: var(--mikos-ink);
    font-size: 17px;
    font-weight: 500;
}

.blocks .home-letter__role {
    display: block;
    color: var(--mikos-muted);
    font-size: 14px;
}

/* =========================================================================
   Услуги
   ====================================================================== */
.blocks .home-services {
    padding: 80px 0 40px;
}

/* Когда плитка услуг скрыта, заголовок работает на конфигуратор —
   секции идут одной кремовой полосой. */
.blocks .home-services--headline { padding-bottom: 10px; }
.blocks .home-services--headline + .services-catalog { padding-top: 0; }

/* Заголовок слева, подзаголовок справа, по нижней линии */
.blocks .home-services__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: end;
    gap: 24px 60px;
    margin-bottom: 32px;
}

.blocks .home-services__head .home-services__title,
.blocks .home-services__head .home-services__lead { margin: 0; }
.blocks .home-services__head .home-services__lead { max-width: 560px; justify-self: end; }

@media (max-width: 991px) {
    .blocks .home-services__head { grid-template-columns: 1fr; }
    .blocks .home-services__head .home-services__lead { justify-self: start; }
}

.blocks .home-services__title {
    margin: 0 0 32px;
    color: #222;
    font-family: var(--mikos-font);
    font-size: clamp(30px, 3.3vw, 46px);
    font-weight: 400;
    line-height: 1.16;
    letter-spacing: -.04em;
}

.blocks .home-services__lead {
    max-width: 620px;
    margin: 0 0 40px;
    color: var(--mikos-muted);
    font-size: 16px;
    line-height: 1.5;
}

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

.blocks .service-tile {
    position: relative;
    display: block;
    aspect-ratio: 3 / 3.55;
    overflow: hidden;
    background: var(--mikos-nude);
    color: #fff !important;
    text-decoration: none;
}

.blocks .service-tile__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.blocks .service-tile:hover .service-tile__img { transform: scale(1.04); }

.blocks .service-tile__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgb(0 0 0 / 0%) 35%, rgb(0 0 0 / 60%) 100%);
}

.blocks .service-tile__body {
    position: absolute;
    inset: auto 0 0;
    padding: 0 20px 22px;
    text-align: center;
}

.blocks .service-tile__name {
    display: block;
    margin-bottom: 18px;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;
    text-transform: uppercase;
}

.blocks .service-tile__line {
    display: block;
    height: 1px;
    background: rgb(255 255 255 / 60%);
}

.blocks .home-services__all {
    display: flex;
    justify-content: center;
    margin-top: 40px;
}

.blocks .home-services__all .btn,
.blocks .home-devices__all .btn,
.blocks .home-doctors__all .btn,
.blocks .home-works__all .btn,
.blocks .home-reviews__all .btn,
.blocks .home-news__all .btn,
.blocks .home-partners__all .btn {
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
}

/* =========================================================================
   Преимущества
   ====================================================================== */
.blocks .home-benefits { padding: 30px 0 70px; }

.blocks .benefit-card {
    display: flex;
    flex-direction: column;
    gap: 24px;
    height: 100%;
    min-height: 260px;
    padding: 40px;
    background: var(--mikos-nude);
    border: 1px solid #e0e0e0;
}

.blocks .benefit-card__text {
    margin: 0;
    color: var(--mikos-ink);
    font-size: clamp(16px, 1.4vw, 20px);
    font-weight: 300;
    line-height: 1.4;
}

.blocks .benefit-card__line {
    height: 1px;
    margin-top: auto;
    background: rgb(35 38 73 / 15%);
}

.blocks .benefit-card__mark { display: block; width: 60px; height: auto; }

/* Стрелки слайдеров */
/* Стрелки лежат в .slider-box рядом со .swiper, поэтому не попадают под overflow: hidden.
   Горизонтальной прокрутки нет: .blocks обрезает всё, что выходит за экран. */
.blocks { overflow-x: clip; }
.blocks .slider-box { position: relative; }
.blocks .js-home-slider { position: relative; }
.blocks .js-home-slider .swiper-slide { height: auto; }
.blocks .js-home-slider .swiper-wrapper { align-items: stretch; }

.blocks .slider-nav {
    position: absolute;
    top: 50%;
    z-index: 5;
    width: 40px;
    height: 40px;
    margin-top: -20px;
    padding: 0;
    border: 0;
    background: var(--mikos-sand);
    cursor: pointer;
    transition: background .2s;
}

.blocks .slider-nav:hover { background: var(--mikos-nude); }
.blocks .slider-nav--prev { left: -20px; }
.blocks .slider-nav--next { right: -20px; }

/* Шеврон — SVG-маска 24×24 с фигурой ровно по центру кадра; «назад» —
   та же фигура, повёрнутая на 180°, поэтому обе стрелки стоят одинаково. */
.blocks .slider-nav::before {
    content: '';
    position: absolute;
    inset: 0;
    width: 20px;
    height: 20px;
    margin: auto;
    background: #222;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.5 5l7 7-7 7' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.5 5l7 7-7 7' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.blocks .slider-nav--prev::before { transform: rotate(180deg); }
.blocks .slider-nav.swiper-button-disabled { opacity: .4; cursor: default; }

/* =========================================================================
   Специалисты
   ====================================================================== */
.blocks .home-doctors { padding: 40px 0 70px; }
.blocks .home-doctors__slider { padding-bottom: 10px; }
.blocks .home-doctors__all { display: flex; justify-content: center; margin-top: 36px; }

/* =========================================================================
   Форма записи
   ====================================================================== */
/* Стили карточки записи — в css/pages.css (нужны и на страницах услуг, и в модалке). */

/* =========================================================================
   Оборудование
   ====================================================================== */
.blocks .home-devices { padding: 70px 0; }

.blocks .device-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: var(--mikos-ink) !important;
    text-decoration: none;
}

.blocks .device-card__media {
    display: block;
    aspect-ratio: 4 / 3;
    background: #fff var(--pattern) center / cover no-repeat;
}

/* Фото аппарата — PNG с прозрачным фоном, поэтому лежит поверх паттерна,
   а не смешивается с ним (раньше диагонали просвечивали сквозь аппарат). */
.blocks .device-card__media img {
    position: relative;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.blocks .device-card__body {
    display: block;
    flex: 1;
    padding: 30px;
    background: var(--mikos-cream);
}

.blocks .device-card__name {
    display: block;
    margin-bottom: 14px;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.4;
}

.blocks .device-card:hover .device-card__name { color: var(--mikos-blue); }

.blocks .device-card__text {
    display: block;
    color: var(--mikos-ink);
    font-size: 16px;
    font-weight: 300;
    line-height: 1.5;
}

.blocks .home-devices__all { display: flex; justify-content: center; margin-top: 40px; }

/* =========================================================================
   Работы специалистов
   ====================================================================== */
.blocks .home-works { padding: 40px 0 70px; }
.blocks .home-works__slider-wrap { width: min(var(--mikos-max), calc(100% - var(--mikos-gutter) * 2)); margin: 0 auto; }

.blocks .work-card {
    position: relative;
    margin: 0;
    overflow: hidden;
    background: var(--mikos-nude);
}

.blocks .work-card img { display: block; width: 100%; height: 100%; object-fit: cover; aspect-ratio: 3 / 4; }

.blocks .work-card__caption {
    position: absolute;
    inset: auto 0 0;
    padding: 40px 20px 18px;
    background: linear-gradient(180deg, rgb(255 255 255 / 0%) 10%, rgb(0 0 0 / 50%) 80%);
    color: #fff;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.5;
}

.blocks .home-works__all { display: flex; justify-content: center; margin-top: 40px; }

/* =========================================================================
   Новости
   ====================================================================== */
.blocks .home-news { padding: 40px 0 70px; }

.blocks .news-card {
    display: block;
    height: 100%;
    color: var(--mikos-ink) !important;
    text-decoration: none;
}

.blocks .news-card__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--mikos-nude); }
.blocks .news-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.blocks .news-card:hover .news-card__media img { transform: scale(1.03); }

.blocks .news-card__title {
    display: block;
    padding: 30px 0 10px;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.4;
}

.blocks .news-card:hover .news-card__title { color: var(--mikos-blue); }
.blocks .news-card__text { display: block; color: var(--mikos-muted); font-size: 16px; font-weight: 300; line-height: 1.5; }

/* Три последние новости: слева две компактные карточки друг под другом,
   справа крупная свежая новость на всю высоту — фото с текстом поверх. */
.blocks .news-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    gap: 30px;
}

.blocks .news-grid--single { grid-template-columns: 1fr; }
.blocks .news-grid__side { grid-column: 1; grid-row: 1; display: grid; grid-template-rows: 1fr 1fr; gap: 30px; }
.blocks .news-grid .news-feature { grid-column: 2; grid-row: 1; }
.blocks .news-grid--single .news-feature { grid-column: 1; }

.blocks .news-feature {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: 540px;
    overflow: hidden;
    background: var(--mikos-nude);
    color: #fff !important;
    text-decoration: none;
}

.blocks .news-feature__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}

.blocks .news-feature:hover .news-feature__img { transform: scale(1.03); }

.blocks .news-feature__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgb(20 22 45 / 0%) 35%, rgb(20 22 45 / 78%) 100%);
}

.blocks .news-feature__body {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 14px;
    max-width: 560px;
    padding: clamp(24px, 3vw, 44px);
}

.blocks .news-feature__date,
.blocks .news-row-card__date {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.blocks .news-feature__date { color: rgb(255 255 255 / 75%); }

.blocks .news-feature__title {
    font-size: clamp(24px, 2.2vw, 32px);
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: -.02em;
}

.blocks .news-feature__text {
    color: rgb(255 255 255 / 85%);
    font-size: 16px;
    font-weight: 300;
    line-height: 1.5;
}

.blocks .news-feature__more {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 6px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.blocks .news-row-card {
    display: grid;
    grid-template-columns: minmax(0, 42%) minmax(0, 1fr);
    min-height: 0;
    border: 1px solid var(--mikos-line);
    background: #fff;
    color: var(--mikos-ink) !important;
    text-decoration: none;
    transition: border-color .2s ease;
}

.blocks .news-row-card:hover { border-color: var(--mikos-gold); }
.blocks .news-row-card__media { position: relative; overflow: hidden; background: var(--mikos-nude); }

.blocks .news-row-card__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.blocks .news-row-card:hover .news-row-card__media img { transform: scale(1.04); }

.blocks .news-row-card__body {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: clamp(20px, 2vw, 28px);
}

.blocks .news-row-card__date { color: var(--mikos-muted); }

.blocks .news-row-card__title {
    font-size: 20px;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: -.01em;
    transition: color .2s ease;
}

.blocks .news-row-card:hover .news-row-card__title { color: var(--mikos-blue); }

.blocks .news-row-card__text {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: var(--mikos-muted);
    font-size: 15px;
    font-weight: 300;
    line-height: 1.5;
}

.blocks .home-news__all { display: flex; justify-content: center; margin-top: 40px; }

@media (max-width: 991px) {
    .blocks .news-grid { grid-template-columns: 1fr; gap: 20px; }
    .blocks .news-grid .news-feature,
    .blocks .news-grid__side { grid-column: 1; grid-row: auto; }
    .blocks .news-grid__side { grid-template-rows: none; gap: 20px; }
    .blocks .news-feature { min-height: 420px; }
}

@media (max-width: 560px) {
    .blocks .news-row-card { grid-template-columns: 1fr; }
    .blocks .news-row-card__media { aspect-ratio: 16 / 10; }
    .blocks .news-feature { min-height: 380px; }
}

/* =========================================================================
   Подарочный сертификат
   ====================================================================== */
.blocks .home-certificate { padding: 20px 0 70px; }

.blocks .certificate {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
    padding: 12px;
    border: 1px dashed rgb(35 38 73 / 25%);
}

.blocks .certificate__content {
    padding: clamp(28px, 3.4vw, 50px);
    background: var(--mikos-nude);
}

.blocks .certificate__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding-bottom: 24px;
    margin-bottom: 28px;
    border-bottom: 1px solid rgb(35 38 73 / 15%);
}

.blocks .certificate__title {
    margin: 0;
    color: var(--mikos-blue);
    font-size: clamp(24px, 2.6vw, 35px);
    font-weight: 300;
    line-height: 1.3;
}

.blocks .certificate__logo { display: block; width: 120px; height: auto; }
.blocks .certificate__content p { margin: 0 0 16px; color: var(--mikos-ink); font-size: 16px; font-weight: 300; line-height: 1.5; }
.blocks .certificate__accent { color: var(--mikos-blue) !important; }

.blocks .certificate__btn {
    margin-top: 16px;
    padding: 16px 30px;
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
}

.blocks .certificate__media { position: relative; overflow: hidden; min-height: 380px; background: #f0e8de; }
.blocks .certificate__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%);
}

/* =========================================================================
   Партнёры
   ====================================================================== */
.blocks .home-partners { padding: 20px 0 70px; }

/* Бегущая лента логотипов: набор напечатан трижды, трек едет на треть ширины,
   поэтому цикл замыкается без рывка. По краям — белый градиент, чтобы логотипы
   не обрезались «рваным» краем. */
.blocks .home-partners__frame {
    position: relative;
    padding: 20px 0;
    overflow: hidden;
}

.blocks .home-partners__frame::before,
.blocks .home-partners__frame::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 2;
    width: clamp(60px, 12vw, 180px);
    pointer-events: none;
}

.blocks .home-partners__frame::before { left: 0; background: linear-gradient(90deg, #fff 10%, rgb(255 255 255 / 0%)); }
.blocks .home-partners__frame::after { right: 0; background: linear-gradient(270deg, #fff 10%, rgb(255 255 255 / 0%)); }

.blocks .home-partners__track {
    display: flex;
    align-items: center;
    width: max-content;
    animation: mikos-partners-marquee 46s linear infinite;
}

.blocks .home-partners__frame:hover .home-partners__track { animation-play-state: paused; }

@keyframes mikos-partners-marquee {
    from { transform: translateX(0); }
    to { transform: translateX(-33.3333%); }
}

.blocks .partner-logo {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: clamp(180px, 16vw, 260px);
    height: 120px;
    padding: 0 24px;
}

.blocks .partner-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    filter: grayscale(1);
    opacity: .65;
    transition: filter .3s ease, opacity .3s ease;
}

.blocks .partner-logo:hover img { filter: none; opacity: 1; }

@media (prefers-reduced-motion: reduce) {
    .blocks .home-partners__track { animation: none; }
}
.blocks .home-partners__all { display: flex; justify-content: center; margin-top: 36px; }

/* =========================================================================
   Лицензии
   ====================================================================== */
.blocks .home-licenses { padding: 0 0 70px; }

.blocks .licenses {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    align-items: center;
    gap: clamp(24px, 4vw, 60px);
    padding: clamp(28px, 3.4vw, 50px);
    background: var(--mikos-nude);
}

.blocks .licenses__media img { display: block; max-width: 100%; height: auto; margin: 0 auto; }

.blocks .licenses__title {
    margin: 0 0 18px;
    color: var(--mikos-ink);
    font-size: clamp(24px, 2.6vw, 38px);
    font-weight: 300;
    line-height: 1.25;
}

.blocks .licenses__content p { margin: 0 0 28px; color: var(--mikos-muted); font-size: 16px; line-height: 1.5; }

.blocks .licenses__content .btn {
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
}

/* =========================================================================
   Как нас найти
   ====================================================================== */
.blocks .home-contacts__card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    border: 1px solid var(--mikos-line);
    background: #fff;
}

.blocks .home-contacts__info { padding: clamp(28px, 3.4vw, 56px); }
.blocks .home-contacts__info .home-section-title { margin-bottom: 32px; }

.blocks .home-contacts__main { display: grid; gap: 10px; margin-bottom: 34px; }

.blocks .home-contacts__phone {
    color: var(--mikos-blue);
    font-size: clamp(24px, 2.2vw, 30px);
    font-weight: 500;
    line-height: 1.2;
    text-decoration: none;
}

.blocks .home-contacts__phone:hover { color: var(--mikos-blue-bright); }
.blocks .home-contacts__email { color: var(--mikos-ink); font-size: 18px; text-decoration: none; }
.blocks .home-contacts__email:hover { color: var(--mikos-blue); }
.blocks .home-contacts__address { margin: 0; color: var(--mikos-muted); font-size: 17px; line-height: 1.6; }

.blocks .home-contacts__route {
    padding: 24px;
    border: 1px solid var(--mikos-line);
    background: var(--mikos-cream);
}

.blocks .home-contacts__route h3 { margin: 0 0 16px; font-size: 18px; font-weight: 500; }
.blocks .home-contacts__route .route-btn { min-height: 52px; }
.blocks .home-contacts__route .route-btn__icon { display: inline-flex; line-height: 0; }

.blocks .home-contacts__divider {
    height: 1px;
    margin: 34px 0;
    border: 0;
    background: var(--mikos-line);
}

.blocks .home-contacts__socials { display: flex; gap: 10px; margin-bottom: 22px; }

.blocks .home-contacts__socials .social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border: 1px solid var(--mikos-line);
    background: #fff;
    transition: border-color .2s, background .2s;
}

.blocks .home-contacts__socials .social-btn:hover { border-color: var(--mikos-blue); background: var(--mikos-cream); }
.blocks .home-contacts__socials .social-btn img { display: block; width: 24px; height: 24px; }

.blocks .home-contacts__note {
    margin: 0;
    max-width: 420px;
    color: var(--mikos-muted);
    font-size: 16px;
    line-height: 1.5;
}

.blocks .home-contacts__map { min-height: 560px; background: var(--mikos-nude); }

.blocks .home-contacts__map iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 560px;
    border: 0;
    filter: grayscale(1);
}

/* =========================================================================
   Адаптив
   ====================================================================== */
@media (max-width: 1199px) {
    .blocks .home-services__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .blocks .slider-nav--prev { left: 0; }
    .blocks .slider-nav--next { right: 0; }
}

@media (max-width: 991px) {
    .blocks .home-letter__inner { grid-template-columns: 1fr; }
    .blocks .home-letter__photo img { height: 380px; }
    .blocks .certificate { grid-template-columns: 1fr; }
    .blocks .certificate__media img { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 86%); max-height: 320px; }
    .blocks .licenses { grid-template-columns: 1fr; text-align: center; }
    .blocks .licenses__content .btn { margin: 0 auto; }
    /* minmax(0, 1fr): кнопки маршрута в одну строку (nowrap) не должны раздвигать колонку */
    .blocks .home-contacts__card { grid-template-columns: minmax(0, 1fr); }
    .blocks .home-contacts__info { min-width: 0; }
    .blocks .home-contacts__route { padding: 16px; }
    .blocks .home-contacts__map,
    .blocks .home-contacts__map iframe { min-height: 380px; }
}

@media (max-width: 767px) {
    /* Сертификат: логотип выходил за внутренний отступ, под фото оставалась пустая плашка */
    .blocks .certificate { padding: 8px; }
    .blocks .certificate__content { padding: 24px 20px; }
    .blocks .certificate__head { gap: 12px; padding-bottom: 20px; margin-bottom: 20px; }
    .blocks .certificate__logo { width: 96px; flex-shrink: 0; }
    .blocks .certificate__media { min-height: 0; }
    .blocks .certificate__media img { position: static; height: 260px; max-height: none; }
    .blocks .home-hero { min-height: 480px; margin-bottom: 50px; }
    .blocks .home-hero__scroll { display: none; }
    .blocks .home-hero__title { font-size: clamp(26px, 7.4vw, 52px); line-height: 1.08; letter-spacing: -.03em; margin-bottom: 22px; }
    .blocks .home-hero__list { font-size: 16px; line-height: 1.5; margin-bottom: 26px; }
    .blocks .home-hero__btn { width: 100%; min-height: 58px; padding: 16px 20px; font-size: 14px; gap: 16px; }
    .blocks .home-services__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
    .blocks .service-tile__name { font-size: 12px; line-height: 1.4; }
    .blocks .benefit-card { padding: 28px; min-height: 0; }
    .blocks .home-motto { padding: 36px 0; }
    .blocks .booking-form { max-width: none; padding-bottom: 40px; }
    .blocks .device-card__body { padding: 20px; }
    .blocks .news-card__title { padding-top: 20px; font-size: 16px; }
}

/* =========================================================================
   Страница «О клинике»
   ====================================================================== */
.blocks .about-page__title { margin: 0 0 20px; }

.blocks .about-page__lead {
    max-width: 760px;
    margin: 0 0 40px;
    color: var(--mikos-muted);
    font-size: 17px;
    line-height: 1.6;
}

.blocks .about-page__text {
    max-width: 900px;
    margin-bottom: 40px;
    text-align: left;
}

.blocks .about-page__text p {
    margin: 0 0 16px;
    color: var(--mikos-muted);
    font-size: 16px;
    line-height: 1.6;
}

.blocks .about-page__headline {
    margin: 48px 0 24px;
    text-align: left;
    color: var(--mikos-ink);
    font-size: clamp(24px, 2.6vw, 38px);
    font-weight: 300;
    line-height: 1.25;
}

.blocks .about-page__note {
    color: var(--mikos-ink) !important;
    font-size: clamp(18px, 1.6vw, 22px) !important;
    font-weight: 300;
    line-height: 1.5;
}

/* Галерея клиники */
.blocks .home-gallery { padding: 10px 0 60px; }
.blocks .home-gallery__slider { width: min(var(--mikos-max), calc(100% - var(--mikos-gutter) * 2)); margin: 0 auto; }

.blocks .gallery-card { margin: 0; overflow: hidden; background: var(--mikos-nude); }
.blocks .gallery-card img { display: block; width: 100%; height: 100%; object-fit: cover; aspect-ratio: 3 / 2; }

/* Ссылки-карточки */
.blocks .about-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin-bottom: 60px;
}

.blocks .about-link {
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding: 28px;
    border: 1px solid var(--mikos-line);
    color: var(--mikos-ink) !important;
    text-decoration: none;
    transition: border-color .25s;
}

.blocks .about-link:hover { border-color: var(--mikos-blue); }
.blocks .about-link__icon { display: inline-flex; color: var(--mikos-blue); }
.blocks .about-link__title { font-size: 20px; font-weight: 400; }

/* Видео о клинике */
.blocks .home-video { margin-bottom: 70px; }

.blocks .home-video__frame {
    position: relative;
    width: 100%;
    background: #171717;
}

.blocks .home-video__el {
    display: block;
    width: 100%;
    max-height: 70vh;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.blocks .home-video__play {
    position: absolute;
    left: 50%;
    top: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 84px;
    height: 84px;
    margin: -42px 0 0 -42px;
    border: 1px solid rgb(255 255 255 / 70%);
    background: rgb(0 0 0 / 15%);
    color: #fff;
    cursor: pointer;
    transition: background .25s;
}

.blocks .home-video__play:hover { background: rgb(0 0 0 / 35%); }
.blocks .home-video__frame.is-playing .home-video__play { display: none; }

@media (max-width: 991px) {
    .blocks .about-links { grid-template-columns: 1fr; gap: 15px; }
    .blocks .about-link { flex-direction: row; align-items: center; gap: 16px; padding: 20px; }
}

/* =========================================================================
   Спецпредложения и отзывы в слайдерах
   ====================================================================== */
.blocks .home-promos { padding: 10px 0 60px; }



.blocks .home-reviews { padding: 10px 0 70px; }
.blocks .home-reviews__all { display: flex; justify-content: center; margin-top: 36px; }
.blocks .home-reviews .review-card { height: 100%; }

/* Архив услуг: заголовки секций идут отдельными блоками над слайдерами */

/* =========================================================================
   Конфигуратор услуг (перенос блока с four.loc)
   ====================================================================== */
.blocks .services-catalog { padding: 10px 0 70px; }

.blocks .catalog-wrapper {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

/* Сайдбар с фильтрами */
.blocks .catalog-sidebar { display: flex; flex-direction: column; gap: 12px; }

.blocks .filter-group {
    padding: 0;
    margin: 0;
    border: 1px solid var(--mikos-line);
    background: #fff;
}

.blocks .filter-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    padding: 18px 20px;
    border: 0;
    background: transparent;
    color: var(--mikos-ink);
    font-family: var(--mikos-font);
    font-size: 16px;
    font-weight: 400;
    text-align: left;
    text-transform: none;
    letter-spacing: 0;
    cursor: pointer;
}

.blocks .filter-label svg { flex-shrink: 0; color: var(--mikos-muted); transition: transform .25s; }
.blocks .filter-group.is-open .filter-label svg { transform: rotate(180deg); }

.blocks .filter-options {
    max-height: 320px;
    overflow-y: auto;
    padding: 0 20px 18px;
}

.blocks .checkbox-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 12px;
    color: var(--mikos-ink);
    font-size: 15px;
    line-height: 1.35;
    cursor: pointer;
}

.blocks .checkbox-item:last-child { margin-bottom: 0; }

.blocks .checkbox-item input {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    margin: 1px 0 0;
    accent-color: var(--mikos-blue);
}

.blocks .sidebar-cta .btn {
    width: 100%;
    padding: 18px 20px;
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
}

/* Поиск */
.blocks .catalog-search {
    display: flex;
    align-items: center;
    gap: 0;
    padding: 0;
    margin-bottom: 24px;
    border: 1px solid var(--mikos-line);
    background: #fff;
}

.blocks .catalog-search input {
    flex: 1;
    min-width: 0;
    min-height: 56px;
    padding: 14px 20px;
    border: 0;
    background: transparent;
    font-size: 15px;
}

.blocks .catalog-search input:focus { border: 0; outline: none; }

.blocks .catalog-search__btn {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border: 0;
    background: var(--mikos-blue);
    color: #fff;
    cursor: pointer;
    transition: background .2s;
}

.blocks .catalog-search__btn:hover { background: var(--mikos-blue-bright); }

/* Сетка карточек */
.blocks .services-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.blocks .catalog-card {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 16px;
    background: #fff;
    border: 1px solid var(--mikos-line);
    color: var(--mikos-ink) !important;
    text-decoration: none;
    transition: border-color .25s, background .25s;
}

.blocks .catalog-card:hover { border-color: var(--mikos-gold); }
.blocks .catalog-card[hidden] { display: none; }

.blocks .catalog-card__media {
    display: block;
    width: 100%;
    height: 320px;
    overflow: hidden;
    background: var(--mikos-nude);
}

.blocks .catalog-card__media img { width: 100%; height: 100%; object-fit: cover; }
.blocks .catalog-card__body { display: flex; flex-direction: column; gap: 10px; }

.blocks .catalog-card__meta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: fit-content;
    padding: 5px 10px;
    background: var(--mikos-cream);
    color: var(--mikos-muted);
    font-size: 13px;
}
.blocks .catalog-card__title { font-size: 16px; font-weight: 500; line-height: 1.35; }
.blocks .catalog-card:hover .catalog-card__title { color: var(--mikos-blue); }
.blocks .catalog-card__desc { color: var(--mikos-muted); font-size: 14px; font-weight: 400; line-height: 1.45; }

.blocks .catalog-empty { padding: 40px 0; color: var(--mikos-muted); text-align: center; }

/* Отступ у кнопок, а не у контейнера: когда все карточки видны и кнопки скрыты,
   пустой контейнер не должен добавлять 32px к ритму. */
.blocks .load-more-container { display: flex; justify-content: center; gap: 12px; margin: 0; }
.blocks .load-more-container .btn { margin-top: 32px; }

.blocks .load-more-container .btn {
    padding: 16px 32px;
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
}

.blocks .mobile-filter-controls,
.blocks .mobile-filter-header { display: none; }

@media (max-width: 1199px) {
    .blocks .catalog-wrapper { grid-template-columns: 240px minmax(0, 1fr); }
    .blocks .services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
    .blocks .catalog-wrapper { grid-template-columns: 1fr; }

    .blocks .mobile-filter-controls { display: flex; margin-bottom: 20px; }
    .blocks .mobile-filter-controls .btn { width: 100%; font-size: 12px; font-weight: 500; text-transform: uppercase; }

    .blocks .catalog-sidebar {
        position: fixed;
        inset: 0;
        z-index: 200;
        display: none;
        overflow-y: auto;
        padding: 20px;
        background: #fff;
    }

    .blocks .services-catalog.is-filters-open .catalog-sidebar { display: flex; }

    .blocks .mobile-filter-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 8px;
    }

    .blocks .mobile-filter-header h3 { margin: 0; font-size: 22px; }

    .blocks .mobile-filter-header button {
        width: 40px;
        height: 40px;
        border: 1px solid var(--mikos-line);
        background: #fff;
        font-size: 24px;
        line-height: 1;
        cursor: pointer;
    }
}

@media (max-width: 560px) {
    .blocks .services-grid { grid-template-columns: 1fr; }
    .blocks .catalog-card__media { height: 240px; }
}

/* =========================================================================
   Спецпредложения: карточка с диагональю и страница акций
   ====================================================================== */
.blocks .promo-page { padding-bottom: 0; }

.blocks .promo-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 40px;
}

.blocks .promo-head h1 { margin: 0; }
.blocks .promo-head__filter { min-width: 300px; }

.blocks .promo-head__filter select {
    width: 100%;
    min-height: 56px;
    padding: 0 44px 0 18px;
    appearance: none;
    -webkit-appearance: none;
    border: 1px solid var(--mikos-line);
    background-color: var(--mikos-cream);
    color: var(--mikos-ink);
    font-size: 15px;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23232649' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 18px center;
}

.blocks .promo-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin-bottom: 70px;
}

.blocks .promo-empty { padding: 40px 0 70px; color: var(--mikos-muted); }

/* В слайдере акций карточка занимает всю высоту слайда */
.blocks .home-promos .promo-card { height: 100%; }

@media (max-width: 991px) {
    .blocks .promo-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .blocks .promo-head__filter { min-width: 0; width: 100%; }
}

/* =========================================================================
   Прайс-лист
   ====================================================================== */
.blocks .price-page h1 { margin-bottom: 32px; }

.blocks .price-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 32px;
}

.blocks .price-head__note { max-width: 640px; margin: 0; color: var(--mikos-muted); font-size: 16px; line-height: 1.5; }
.blocks .price-head__filter { min-width: 320px; }

.blocks .price-head__filter select {
    width: 100%;
    min-height: 56px;
    padding: 0 44px 0 18px;
    appearance: none;
    -webkit-appearance: none;
    border: 1px solid var(--mikos-line);
    background-color: var(--mikos-cream);
    color: var(--mikos-ink);
    font-size: 15px;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23232649' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 18px center;
}

.blocks .price-list { margin-bottom: 70px; }
.blocks .price-group { border-bottom: 1px solid var(--mikos-line); }
.blocks .price-group[hidden] { display: none; }

.blocks .price-group__toggle {
    display: flex;
    align-items: center;
    gap: 18px;
    width: 100%;
    padding: 22px 24px;
    border: 0;
    background: var(--mikos-cream);
    color: var(--mikos-ink);
    font-family: var(--mikos-font);
    font-size: 18px;
    font-weight: 400;
    text-align: left;
    text-transform: none;
    letter-spacing: 0;
    cursor: pointer;
    transition: background .2s;
}

.blocks .price-group__toggle:hover { background: var(--mikos-nude); }

.blocks .price-group__icon {
    position: relative;
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    border: 1px solid var(--mikos-line);
    background: #fff;
}

.blocks .price-group__icon::before,
.blocks .price-group__icon::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: 12px;
    height: 1px;
    margin: 0 0 0 -6px;
    background: var(--mikos-blue);
    transition: transform .2s;
}

.blocks .price-group__icon::after { transform: rotate(90deg); }
.blocks .price-group.is-open .price-group__icon::after { transform: rotate(0); }

.blocks .price-group__body { padding: 0; background: #fff; }
.blocks .price-group__empty { padding: 24px; color: var(--mikos-muted); }

/* Таблицы цен TablePress в брендбуке клиники */
.blocks .price-group__body .tablepress {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
    font-size: 16px;
}

.blocks .price-group__body .tablepress td {
    padding: 16px 20px;
    border-bottom: 1px solid var(--mikos-line);
    color: var(--mikos-ink);
    line-height: 1.45;
    vertical-align: middle;
}

.blocks .price-group__body .tablepress tr:last-child td { border-bottom: 0; }
.blocks .price-group__body .tablepress .column-1 { width: 140px; color: var(--mikos-muted); font-size: 15px; }
.blocks .price-group__body .tablepress .column-3 { width: 90px; color: var(--mikos-muted); text-align: center; }
.blocks .price-group__body .tablepress .column-4 { width: 140px; white-space: nowrap; font-weight: 500; }
.blocks .price-group__body .tablepress tr:hover td { background: var(--mikos-cream); }

.blocks .price-empty { padding: 40px 0 70px; color: var(--mikos-muted); }

/* =========================================================================
   Кнопки-фильтры (документы, вакансии)
   ====================================================================== */
.blocks .filter-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 32px;
}

.blocks .filter-buttons__item {
    padding: 16px 24px;
    border: 1px solid var(--mikos-line);
    background: #fff;
    color: var(--mikos-ink);
    font-family: var(--mikos-font);
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .02em;
    cursor: pointer;
    transition: background .2s, border-color .2s, color .2s;
}

.blocks .filter-buttons__item:hover { border-color: var(--mikos-blue); }

.blocks .filter-buttons__item.is-active {
    border-color: var(--mikos-blue);
    background: var(--mikos-blue);
    color: #fff;
}

/* =========================================================================
   Документы
   ====================================================================== */
.blocks .documents-page__note,
.blocks .jobs-page__note {
    max-width: 780px;
    margin: 0 0 32px;
    color: var(--mikos-muted);
    font-size: 16px;
    line-height: 1.5;
}

.blocks .documents-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 70px;
}

.blocks .document-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 18px;
    min-height: 130px;
    padding: 28px;
    border: 1px solid var(--mikos-line);
    color: var(--mikos-ink) !important;
    text-decoration: none;
    transition: border-color .25s, background .25s;
}

.blocks .document-card:hover { border-color: var(--mikos-blue); background: var(--mikos-cream); }
.blocks .document-card[hidden] { display: none; }
.blocks .document-card__title { font-size: 18px; font-weight: 400; line-height: 1.4; }
.blocks .document-card:hover .document-card__title { color: var(--mikos-blue); }

.blocks .document-card__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.blocks .document-card__format { color: var(--mikos-muted); font-size: 13px; letter-spacing: .06em; }
.blocks .document-card__icon { display: inline-flex; color: var(--mikos-blue); }
.blocks .documents-empty, .blocks .jobs-empty { padding: 40px 0 70px; color: var(--mikos-muted); }

/* =========================================================================
   Вакансии
   ====================================================================== */
.blocks .jobs-list { display: grid; gap: 16px; margin-bottom: 70px; }

.blocks .job-card {
    padding: clamp(24px, 3vw, 40px);
    border: 1px solid var(--mikos-line);
    background: #fff;
}

.blocks .job-card[hidden] { display: none; }
.blocks .job-card__title { margin: 0 0 16px; color: var(--mikos-ink); font-size: clamp(20px, 2vw, 26px); font-weight: 400; }

.blocks .job-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 28px;
    margin-bottom: 24px;
    color: var(--mikos-blue);
    font-size: 15px;
}

.blocks .job-card__meta span { display: inline-flex; align-items: center; gap: 8px; }
.blocks .job-card__text { color: var(--mikos-ink); }
.blocks .job-card__text p { margin: 0 0 12px; }

.blocks .job-card__apply {
    margin-top: 24px;
    padding: 16px 32px;
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
}

@media (max-width: 991px) {
    .blocks .documents-grid { grid-template-columns: 1fr; }
    .blocks .price-head__filter { min-width: 0; width: 100%; }
}

@media (max-width: 767px) {
    .blocks .price-group__toggle { gap: 14px; padding: 18px 16px; font-size: 16px; }
    .blocks .price-group__body { overflow-x: auto; }
    .blocks .price-group__body .tablepress { min-width: 560px; }
    .blocks .filter-buttons__item { flex: 1 1 calc(50% - 6px); padding: 14px 12px; }
}

/* =========================================================================
   Hero страниц аппарата и врача.
   Фон и синий штрих — те же картинки, что стояли в Elementor
   (bg_doc.jpg и rectangle-7332.svg, подставляются в style из PHP).
   Геометрия снята с боевых страниц: контейнер 1180, hero 600/700 px.
   ====================================================================== */
.blocks .device-hero,
.blocks .doctor-hero {
    position: relative;
    background: var(--hero-band) center center / cover repeat-x;
}

.blocks .device-hero__inner,
.blocks .doctor-hero__inner { position: relative; }

.blocks .device-hero__title,
.blocks .doctor-hero__title {
    margin: 0 0 20px;
    color: #fff;
    font-size: clamp(30px, 4.2vw, 60px);
    font-weight: 300;
    line-height: 1.1;
    letter-spacing: -.02em;
}

.blocks .device-hero__lead,
.blocks .doctor-hero__post {
    margin: 0 0 40px;
    max-width: 480px;
    color: #fff;
    font-size: clamp(16px, 1.5vw, 20px);
    font-weight: 300;
    line-height: 1.4;
}

.blocks .device-hero__cta,
.blocks .doctor-hero__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    padding: 12px 36px;
    background: var(--mikos-blue);
    color: #fff !important;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .06em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .2s ease;
}

.blocks .device-hero__cta:hover,
.blocks .doctor-hero__cta:hover { background: var(--mikos-blue-bright); }

/* Аппарат: текст слева, фото справа свисает на белый блок под hero */
.blocks .device-hero__inner { min-height: 600px; }
.blocks .device-hero__body { width: 45%; padding: 250px 0 20px; }

.blocks .device-hero__media {
    position: absolute;
    inset: 0 0 0 45%;
}

.blocks .device-hero__slash {
    position: absolute;
    top: 205px;
    bottom: 0;
    left: -14px;
    width: 186px;
    background: var(--hero-slash) no-repeat 0 0 / 186px auto;
}

.blocks .device-hero__media img {
    position: absolute;
    top: 170px;
    right: 0;
    width: auto;
    max-width: 100%;
    height: 620px;
    object-fit: contain;
    object-position: right top;
}

.blocks .device-about { padding: 60px 0; }
.blocks .device-about__inner { max-width: 60%; }
.blocks .device-about__text { padding-right: 80px; }

.blocks .device-services { padding: 60px 0 50px; background: var(--mikos-cream); }

/* Врач: текст слева, цифры и фото справа */
.blocks .doctor-hero__inner {
    display: flex;
    align-items: center;
    min-height: 700px;
}

.blocks .doctor-hero__body { width: 48%; padding: 40px 0; }

.blocks .doctor-hero__media {
    position: absolute;
    inset: 0 0 0 48%;
}

.blocks .doctor-hero__photo {
    position: absolute;
    right: 0;
    bottom: 0;
    width: auto;
    max-width: 100%;
    height: 530px;
    object-fit: contain;
    object-position: right bottom;
}

.blocks .doctor-hero__stats {
    position: absolute;
    top: 240px;
    left: -36px;
    z-index: 2;
}

.blocks .doctor-hero__stat + .doctor-hero__stat { margin-top: 45px; }

.blocks .doctor-hero__stat-value {
    margin: 0 0 5px;
    color: var(--mikos-blue);
    font-size: 80px;
    font-weight: 200;
    line-height: 1;
}

.blocks .doctor-hero__stat--price .doctor-hero__stat-value {
    margin-bottom: 6px;
    font-size: 40px;
    font-weight: 400;
    white-space: nowrap;
}

.blocks .doctor-hero__stat-label {
    margin: 0;
    color: #fff;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.4;
}

.blocks .doctor-hero__stat--price .doctor-hero__stat-label { font-size: 15px; }

/* Табы врача */
.blocks .doctor-tabs { padding: 40px 0; }

.blocks .doctor-tabs__nav {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
}

.blocks .doctor-tabs__btn {
    padding: 22px 16px;
    border: 0;
    border-top: 2px solid transparent;
    background: var(--mikos-cream);
    color: var(--mikos-ink);
    font-family: inherit;
    font-size: 16px;
    font-weight: 300;
    line-height: 1.4;
    text-align: center;
    text-transform: none;
    letter-spacing: normal;
    cursor: pointer;
    transition: background .2s ease, border-color .2s ease;
}

.blocks .doctor-tabs__btn:hover { background: var(--mikos-nude); }

.blocks .doctor-tabs__btn.is-active {
    background: #fff;
    border-top-color: var(--mikos-blue);
}

.blocks .doctor-tabs__panel { padding: 32px 0 0; }
.blocks .doctor-tabs__panel[hidden] { display: none; }
.blocks .doctor-tabs__single-title { margin: 0 0 20px; font-size: 24px; font-weight: 300; }

/* Цитата в навыках на боевом сайте выглядит обычным абзацем */
.blocks .doctor-tabs__panel blockquote {
    margin: 0 0 16px;
    padding: 0;
    border: 0;
    font-size: inherit;
    font-style: normal;
    font-weight: inherit;
}

.blocks .doctor-services { padding: 60px 0 50px; background: var(--mikos-cream); }
.blocks .doctor-services .service-tile { height: 100%; }
.blocks .doctor-reviews,
.blocks .doctor-works { padding: 60px 0 0; }

/* =========================================================================
   Партнёры — аккордеон строками
   ====================================================================== */
.blocks .partners-page__lead {
    max-width: 760px;
    margin: 0 0 40px;
    color: var(--mikos-muted);
    font-size: 18px;
    font-weight: 300;
    line-height: 1.5;
}

.blocks .partners-list { margin-bottom: 60px; border-top: 1px solid var(--mikos-line); }
.blocks .partner-row { border-bottom: 1px solid var(--mikos-line); }

.blocks .partner-row__toggle {
    display: flex;
    align-items: center;
    gap: 18px;
    width: 100%;
    padding: 24px 20px;
    border: 0;
    background: none;
    color: var(--mikos-ink);
    font-family: inherit;
    font-size: 20px;
    font-weight: 400;
    text-align: left;
    text-transform: none;
    letter-spacing: normal;
    cursor: pointer;
    transition: background .2s ease;
}

.blocks .partner-row__toggle:hover { background: var(--mikos-cream); }

.blocks .partner-row__icon {
    position: relative;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    color: var(--mikos-blue);
}

.blocks .partner-row__icon::before,
.blocks .partner-row__icon::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 24px;
    height: 1px;
    background: currentColor;
    transition: transform .25s ease;
}

.blocks .partner-row__icon::after { transform: rotate(90deg); }
.blocks .partner-row.is-open .partner-row__icon::after { transform: rotate(0); }

.blocks .partner-row__body {
    display: grid;
    grid-template-columns: 200px minmax(0, 1fr);
    gap: 40px;
    padding: 0 20px 32px 62px;
}

.blocks .partner-row__body[hidden] { display: none; }

.blocks .partner-row__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: var(--mikos-cream);
}

.blocks .partner-row__logo img { max-width: 100%; height: auto; }
.blocks .partner-row__text p { margin: 0 0 16px; }

.blocks .partner-row__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 60px;
    margin: 0;
}

.blocks .partner-row__meta dt {
    margin-bottom: 4px;
    color: var(--mikos-muted);
    font-size: 14px;
    font-weight: 300;
}

.blocks .partner-row__meta dd { margin: 0; font-size: 18px; }
.blocks .partner-row__meta a { color: var(--mikos-blue); text-decoration: none; }
.blocks .partner-row__meta a:hover { color: var(--mikos-gold); }

/* =========================================================================
   Текстовые страницы (реквизиты, политики) и «Спасибо»
   ====================================================================== */
.blocks .text-page__inner { max-width: 900px; padding-bottom: 60px; }

.blocks .text-page__intro {
    margin: 0 0 24px;
    font-size: 20px;
    font-weight: 300;
    line-height: 1.5;
}

.blocks .text-page__rows { margin: 0 0 40px; padding: 0; list-style: none; }

.blocks .text-page__rows li {
    padding: 16px 0;
    border-bottom: 1px solid var(--mikos-line);
    font-size: 16px;
    font-weight: 300;
    line-height: 1.5;
}

.blocks .text-page__rows li:first-child { border-top: 1px solid var(--mikos-line); }
.blocks .text-page__body h2,
.blocks .text-page__body h3 { margin: 32px 0 12px; font-weight: 400; }
.blocks .text-page__body h3 { font-size: 20px; }

.blocks .text-page__body table {
    width: 100%;
    margin: 0 0 24px;
    border-collapse: collapse;
    font-size: 15px;
}

.blocks .text-page__body th,
.blocks .text-page__body td {
    padding: 14px 16px;
    border: 1px solid var(--mikos-line);
    text-align: left;
    vertical-align: top;
}

.blocks .text-page__body th { background: var(--mikos-cream); color: var(--mikos-ink); font-weight: 500; }

.blocks .thanks-page__inner { padding: 80px 0 60px; text-align: center; }

.blocks .thanks-page__title {
    margin: 0;
    color: var(--mikos-blue);
    font-size: clamp(24px, 3.2vw, 40px);
    font-weight: 300;
    line-height: 1.3;
}

/* =========================================================================
   Новость (CPT articles) — простая страница без фона
   ====================================================================== */
.blocks .news-page__inner { padding-bottom: 60px; }
.blocks .news-single { max-width: 860px; }
.blocks .news-single__title { margin: 0 0 12px; }

.blocks .news-single__date {
    margin: 0 0 32px;
    color: var(--mikos-muted);
    font-size: 14px;
    font-weight: 300;
}

.blocks .news-single__media { margin: 0 0 32px; }
.blocks .news-single__media img { display: block; width: 100%; height: auto; }
.blocks .news-page__more { margin-top: 70px; }

.blocks .news-page__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
}

@media (max-width: 1199px) {
    .blocks .device-hero__media img { height: 520px; top: 200px; }
    .blocks .doctor-hero__stat-value { font-size: 64px; }
    .blocks .doctor-hero__stats { top: 200px; left: -20px; }
}

@media (max-width: 991px) {
    .blocks .device-hero__inner { min-height: 0; }
    .blocks .device-hero__body { width: 100%; padding: 40px 0 0; }
    .blocks .device-hero__media { position: static; inset: auto; height: 320px; }
    .blocks .device-hero__media img { position: static; display: block; height: 320px; margin: 0 auto; }
    .blocks .device-hero__slash { display: none; }
    .blocks .device-about { padding: 30px 0; }
    .blocks .device-about__inner { max-width: none; }
    .blocks .device-about__text { padding-right: 0; }

    .blocks .doctor-hero__inner { display: block; min-height: 0; }
    .blocks .doctor-hero__body { width: 100%; padding: 40px 0 0; }
    .blocks .doctor-hero__media { position: relative; inset: auto; padding-top: 20px; }
    .blocks .doctor-hero__photo { position: static; display: block; height: 370px; margin-left: auto; }
    .blocks .doctor-hero__stats {
        position: absolute;
        top: 20px;
        left: 0;
    }
    .blocks .doctor-hero__stat-value { font-size: 48px; }
    .blocks .doctor-hero__stat--price .doctor-hero__stat-value { font-size: 26px; }
    .blocks .doctor-hero__stat + .doctor-hero__stat { margin-top: 24px; }

    .blocks .doctor-tabs__nav { grid-auto-flow: row; grid-auto-columns: auto; }
    .blocks .doctor-tabs__btn { text-align: left; padding: 16px 20px; }

    .blocks .partner-row__body { grid-template-columns: 1fr; gap: 20px; padding: 0 20px 24px; }
    .blocks .partner-row__logo { max-width: 200px; }
    .blocks .news-page__grid { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
    .blocks .partner-row__toggle { gap: 14px; padding: 18px 16px; font-size: 17px; }
    .blocks .partner-row__icon { flex-basis: 18px; width: 18px; height: 18px; }
    .blocks .partner-row__icon::before,
    .blocks .partner-row__icon::after { width: 18px; }
    .blocks .partner-row__meta dd { font-size: 16px; }
    .blocks .text-page__intro { font-size: 17px; }
    .blocks .text-page__body table { min-width: 560px; }
    .blocks .text-page__body { overflow-x: auto; }
    .blocks .thanks-page__inner { padding: 50px 0 40px; }
}

/* =========================================================================
   Страница «Аппараты» — сетка тех же карточек, что в слайдере
   ====================================================================== */
.blocks .devices-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
    margin: 20px 0 70px;
}

/* =========================================================================
   Страница «Новости» — список строками в две колонки
   ====================================================================== */
.blocks .news-list-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px 30px;
    margin-bottom: 30px;
}

.blocks .news-list-head h1 { margin: 0; }
.blocks .news-list-head__filter { min-width: 290px; }

.blocks .news-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 35px;
    margin-bottom: 70px;
}

.blocks .news-row {
    display: grid;
    grid-template-columns: 200px minmax(0, 1fr);
    gap: 30px;
    padding: 20px;
    border: 1px solid var(--mikos-line);
}

.blocks .news-row[hidden] { display: none; }

.blocks .news-row__media {
    display: block;
    height: 120px;
    background: var(--mikos-nude);
}

.blocks .news-row__media img { width: 100%; height: 100%; object-fit: cover; }

.blocks .news-row__title {
    display: block;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--mikos-line);
    color: var(--mikos-ink) !important;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.3;
    text-decoration: none;
}

.blocks .news-row__title:hover { color: var(--mikos-blue) !important; }

.blocks .news-row__date {
    margin: 0 0 14px;
    color: var(--mikos-muted);
    font-size: 14px;
    font-weight: 300;
}

.blocks .news-row__text {
    margin: 0;
    color: var(--mikos-ink);
    font-size: 14px;
    font-weight: 300;
    line-height: 1.6;
}

.blocks .news-list__empty { margin: 0 0 70px; color: var(--mikos-muted); }

@media (max-width: 1199px) {
    .blocks .devices-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 991px) {
    .blocks .news-list { grid-template-columns: 1fr; gap: 20px; }
    .blocks .news-list-head__filter { width: 100%; min-width: 0; }
}

@media (max-width: 767px) {
    .blocks .devices-grid { grid-template-columns: 1fr; gap: 20px; }
    .blocks .news-row { grid-template-columns: 120px minmax(0, 1fr); gap: 18px; padding: 16px; }
    .blocks .news-row__media { height: 100px; }
    .blocks .news-row__title { font-size: 17px; }
}

/* =========================================================================
   Вертикальный ритм блочных страниц.
   Верхнего отступа у секций нет, только нижний — одинаковый у всех:
   100px на ПК, 50px на мобильных.
   Правила идут последними и перебивают частные отступы блоков выше.
   ====================================================================== */
.blocks .home-letter,
.blocks .home-services,
.blocks .services-catalog,
.blocks .home-benefits,
.blocks .home-doctors,
.blocks .home-devices,
.blocks .home-works,
.blocks .home-news,
.blocks .home-promos,
.blocks .home-reviews,
.blocks .home-gallery,
.blocks .home-video,
.blocks .home-motto-section,
.blocks .home-certificate,
.blocks .home-partners,
.blocks .home-licenses,
.blocks .home-contacts {
    padding: 0 0 100px;
    margin: 0;
}

/* Hero — картинка на всю ширину, после неё те же 100px */
.blocks .home-hero { margin-bottom: 100px; }

/* Девиз — это <p> внутри секции, собственных отступов у него нет */
.blocks .home-motto { padding: 0; margin: 0; }

/* Заголовок с подзаголовком работает на конфигуратор — это один блок */
.blocks .home-services--headline { padding-bottom: 0; }

/* Форма записи: карточка внутри контейнера, отступ снизу как у всех.
   Голова на фото выходит вверх в зазор над блоком — это задумано. */
.blocks .home-appointment { padding: 0 0 100px; margin: 0; }

@media (max-width: 767px) {
    .blocks .home-letter,
    .blocks .home-services,
    .blocks .services-catalog,
    .blocks .home-benefits,
    .blocks .home-doctors,
    .blocks .home-devices,
    .blocks .home-works,
    .blocks .home-news,
    .blocks .home-promos,
    .blocks .home-reviews,
    .blocks .home-gallery,
    .blocks .home-video,
    .blocks .home-motto-section,
    .blocks .home-certificate,
    .blocks .home-partners,
    .blocks .home-licenses,
    .blocks .home-contacts { padding: 0 0 50px; }

    .blocks .home-hero { margin-bottom: 50px; }
    .blocks .home-appointment { padding-bottom: 50px; }
    .blocks .home-services--headline { padding-bottom: 0; }
}

/* =========================================================================
   Шапка слайдера: заголовок слева, стрелки группой справа.
   По краям контейнера стрелки разъезжались и терялись, поэтому в блоках
   с такой шапкой они выведены в поток.
   ====================================================================== */
.blocks .slider-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 32px;
}

.blocks .slider-head--nav-only { justify-content: flex-end; }
.blocks .slider-head .home-section-title { margin: 0; }
.blocks .slider-head__nav { display: flex; flex-shrink: 0; gap: 10px; }
.blocks .slider-head__actions { display: flex; flex-shrink: 0; align-items: center; gap: 28px; }

.blocks .slider-head__link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--mikos-blue) !important;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .06em;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    transition: color .2s ease;
}

.blocks .slider-head__link:hover { color: var(--mikos-blue-bright) !important; }
.blocks .slider-head__link .btn__arrow { transition: transform .2s ease; }
.blocks .slider-head__link:hover .btn__arrow { transform: translate(2px, -2px); }

/* relative, а не static: стрелка внутри кнопки позиционируется абсолютно.
   display задаём явно — в legacy media.css на мобильных стоит .slider-nav{display:none}. */
.blocks .slider-head__nav .slider-nav {
    display: block;
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    margin: 0;
}

/* Слайдер под такой шапкой своих стрелок по краям не имеет */
.blocks .slider-box--flat { position: relative; }

/* =========================================================================
   Галерея интерьеров
   ====================================================================== */
.blocks .home-gallery .gallery-card { margin: 0; }

@media (max-width: 767px) {
    .blocks .slider-head { gap: 16px; margin-bottom: 20px; }
    .blocks .slider-head { flex-wrap: wrap; }
    .blocks .slider-head__actions { gap: 16px; }
    .blocks .slider-head__nav .slider-nav { width: 36px; height: 36px; }
}

/* =========================================================================
   Направления косметологии (parts/home/directions.php) — по образцу
   atlasesthetics.ru/kosmetologiya/ в стиле MIKOS.
   Карточки одинаковые, фото вертикальное 4:5 (под вертикальную съёмку клиники:
   кадр 2:3 виден на ~83%), плашка с названием под фото и его не перекрывает.
   ПК с мышью: при наведении поверх фото поднимается список услуг раздела.
   Телефоны, планшеты, сенсорные экраны: список стоит под плашкой.
   ====================================================================== */
.blocks .home-services--directions { padding-bottom: 100px; }

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

.blocks .direction {
    display: flex;
    flex-direction: column;
    min-width: 0;
    background: var(--mikos-cream);
}

/* ---------- Фото 4:5 ---------- */
.blocks .direction__media { position: relative; overflow: hidden; }

.blocks .direction__img {
    display: block;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: var(--mikos-nude);
}

.blocks .direction__img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;
    transition: transform .8s cubic-bezier(.2, .7, .2, 1);
}

/* ---------- Плашка под фото ---------- */
.blocks .direction__content {
    display: flex;
    flex: 1;
    color: var(--mikos-ink) !important;
    text-decoration: none !important;
}

.blocks .direction__panel {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 10px;
    padding: 22px 24px 26px;
    transition: background .35s ease;
}

.blocks .direction__name {
    color: #222;
    font-size: clamp(19px, 1.45vw, 22px);
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: -.02em;
    transition: color .35s ease;
}

.blocks .direction__text {
    color: var(--mikos-muted);
    font-size: 14px;
    line-height: 1.45;
    transition: color .35s ease;
}

.blocks .direction__more {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 16px;
    margin-top: auto;
    padding-top: 8px;
}

.blocks .direction__btn {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 18px;
    border: 1px solid var(--mikos-blue);
    color: var(--mikos-blue);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .06em;
    text-transform: uppercase;
    transition: background .3s ease, color .3s ease, border-color .3s ease;
}

.blocks .direction__count { color: var(--mikos-muted); font-size: 13px; transition: color .35s ease; }

/* Раздел без услуг ведёт на запись — кнопка сплошная */
.blocks .direction--empty .direction__btn { background: var(--mikos-blue); color: #fff; }

/* ---------- Список услуг раздела ---------- */
.blocks .direction__list { padding: 0 24px 24px; background: var(--mikos-cream); }
.blocks .direction__list-title { display: none; }
.blocks .direction__list ul { margin: 0; padding: 16px 0 0; border-top: 1px solid rgb(35 38 73 / 10%); list-style: none; }

.blocks .direction__list li {
    position: relative;
    margin: 0 0 9px;
    padding: 0 0 0 22px;
    list-style: none;
}

.blocks .direction__list li::before {
    content: '—';
    position: absolute;
    top: 0;
    left: 0;
    color: var(--mikos-gold);
    font-size: 14px;
    line-height: 1.45;
}

.blocks .direction__list li:last-child { margin-bottom: 0; }

.blocks .direction__list a {
    color: var(--mikos-ink) !important;
    font-size: 14px;
    line-height: 1.45;
    text-decoration: none !important;
    transition: color .2s ease;
}

.blocks .direction__list a:hover { color: var(--mikos-blue) !important; }
.blocks .direction__all a { color: var(--mikos-blue) !important; font-weight: 500; }

/* ---------- Плитка «Все услуги» ---------- */
.blocks .direction-all {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 16px;
    min-height: 100%;
    padding: 32px 28px;
    background: var(--mikos-blue);
    color: #fff !important;
    text-decoration: none !important;
    transition: background .3s ease;
}

.blocks .direction-all:hover { background: var(--mikos-blue-bright, #0033d8); }
.blocks .direction-all__title { font-size: clamp(22px, 1.8vw, 28px); line-height: 1.15; letter-spacing: -.02em; }
.blocks .direction-all__text { color: rgb(255 255 255 / 75%); font-size: 14px; line-height: 1.5; }

.blocks .direction-all__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 8px;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.blocks .direction-all__btn svg { width: 16px; height: 16px; }

/* ---------- ПК с мышью: список поднимается поверх фото ---------- */
@media (min-width: 992px) and (hover: hover) {
    .blocks .direction__list {
        position: absolute;
        inset: 0;
        z-index: 2;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        padding: 24px;
        background: rgb(4 42 164 / 90%);
        backdrop-filter: blur(4px);
        transform: translateY(100%);
        transition: transform .45s cubic-bezier(.2, .7, .2, 1);
    }

    .blocks .direction__list-title {
        display: block;
        margin: 0 0 14px;
        color: #fff;
        font-size: 18px;
        line-height: 1.25;
    }

    .blocks .direction__list ul { padding-top: 14px; border-top-color: rgb(255 255 255 / 25%); }
    .blocks .direction__list li::before { color: var(--mikos-gold); }
    .blocks .direction__list a { color: #fff !important; }
    .blocks .direction__list a:hover { color: var(--mikos-nude) !important; }
    .blocks .direction__all a { color: var(--mikos-nude) !important; }

    .blocks .direction:hover .direction__list { transform: none; }
    .blocks .direction:hover .direction__img img { transform: scale(1.04); }
    .blocks .direction:hover .direction__btn { border-color: var(--mikos-blue); background: var(--mikos-blue); color: #fff; }
}

/* На устройствах без наведения список — под плашкой, в конце карточки */
@media (max-width: 991px), (hover: none) {
    .blocks .direction { display: grid; grid-template-areas: "media" "panel" "list"; }
    .blocks .direction__media { display: contents; }
    .blocks .direction__img { grid-area: media; }
    .blocks .direction__content { grid-area: panel; }
    .blocks .direction__list { grid-area: list; }
}

@media (max-width: 1199px) {
    .blocks .directions { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
}

@media (max-width: 767px) {
    .blocks .home-services--directions { padding-bottom: 50px; }
    .blocks .directions { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .blocks .direction__panel { padding: 20px; }
    .blocks .direction__list { padding: 0 20px 20px; }
    .blocks .direction-all { padding: 28px 20px; }
}

@media (prefers-reduced-motion: reduce) {
    .blocks .direction__img img,
    .blocks .direction__list { transition: none; }
}

/* Страница аппарата: описание слева, характеристики справа (parts/equip-specs.php) */
.blocks .device-about__inner--specs {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
    gap: 64px;
    max-width: none;
    align-items: start;
}
.blocks .device-about__inner--specs .device-about__text { padding-right: 0; }
.blocks .device-specs { padding: 32px; border: 1px solid var(--mikos-line); }
/* Фото аппарата из hero свисает в этот блок справа — карточка начинается ниже него */
@media (min-width: 992px) {
    .blocks .device-about__inner--specs .device-specs { margin-top: 150px; }
}

@media (max-width: 991px) {
    .blocks .device-about__inner--specs { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .blocks .device-specs { padding: 24px 20px; }
}
