

/* Start:/local/templates/immunohealth/assets/css/pages/contacts-b2b.css?178999202210186*/
/* ==========================================================================
   /contacts-b2b/ — «Контакты» B2B-раздела (Фигма O4hCS4XXvppJ73LW1CNYgf, 1:1829)
   --------------------------------------------------------------------------
   Файл подключается через SetAdditionalCSS, а ShowHead() в header-coop.php
   стоит ВЫШЕ ссылки на style.css — значит эти правила грузятся первыми.
   Поэтому весь файл вложен в .contacts-b2b-page: специфичности 0,2,0 хватает,
   чтобы перебить одноклассовые правила style.css независимо от порядка.
   ========================================================================== */

.contacts-b2b-page {
    --cb2b-map-bg:      #d9d9d9;   /* подложка заглушки карты (Фигма) */
    --cb2b-map-ink:     #000000;   /* надпись «КАРТА» на заглушке (Фигма) */
    --cb2b-placeholder: #757575;   /* плейсхолдеры полей формы (Фигма) */
}


/* ---- Заголовок страницы -------------------------------------------------
   Шапка фиксированная, поэтому верх отбиваем сами: 64 + 77 = 141 (Фигма). */
.contacts-b2b-page .cb2b-intro { padding-top: calc(var(--header-h) + 77px); }
.contacts-b2b-page .cb2b-intro__title {
    font-size: clamp(2rem, 3.75vw, 60px); font-weight: 600; line-height: 1.3;
    color: var(--c-teal);
}


/* ---- Ряд карточек: контакты + форма + галерея ---------------------------
   В Фигме 480 / 20 / 480 / 27 / 473 — правая карточка прижата к краю контента,
   отсюда неравные интервалы. Держим пропорции, а не равные колонки. */
.contacts-b2b-page .cb2b-cards-sec { padding-top: 43px; }
.contacts-b2b-page .cb2b-cards { display: flex; align-items: stretch; }
.contacts-b2b-page .cb2b-card { height: 240px; border-radius: 15px; }
.contacts-b2b-page .cb2b-card--info    { width: 32.432432%; }
.contacts-b2b-page .cb2b-card--form    { width: 32.432432%; margin-left: 1.351351%; }
.contacts-b2b-page .cb2b-card--gallery { width: 31.959459%; margin-left: auto; }


/* ---- Карточка контактов -------------------------------------------------
   Иконки от края карточки 25px, текст — 40px, между ними 5px (Фигма). */
.contacts-b2b-page .cb2b-card--info { padding: 20px 20px 20px 25px; }
.contacts-b2b-page .cb2b-info { display: grid; gap: 18px; align-content: start; height: auto; }
.contacts-b2b-page .cb2b-row { display: flex; align-items: flex-start; gap: 5px; }
.contacts-b2b-page .cb2b-row__ic {
    flex: 0 0 10px; width: 10px; height: 20.8px;   /* высота первой строки: 16px × 1.3 */
    display: flex; align-items: center; justify-content: center; margin-top: 0;
}
.contacts-b2b-page .cb2b-row__ic img { display: block; }
.contacts-b2b-page .cb2b-row--hours   .cb2b-row__ic img { width: 10px; height: 9.74px; }
.contacts-b2b-page .cb2b-row--address .cb2b-row__ic img { width: 10px; height: 12px; }
.contacts-b2b-page .cb2b-row--phones  .cb2b-row__ic img { width: 10px; height: 13px; }
.contacts-b2b-page .cb2b-row--email   .cb2b-row__ic img { width: 10px; height: 7px; }
.contacts-b2b-page .cb2b-row__val {
    font-size: 16px; font-weight: 500; line-height: 1.3; color: var(--c-body);
}
.contacts-b2b-page .cb2b-row__val a { color: var(--c-body); }
.contacts-b2b-page .cb2b-row__val a:hover { color: var(--c-green-dark); }
/* два телефона в строку: первый — общий, второй — партнёрский */
.contacts-b2b-page .cb2b-phones a + a { margin-left: 5px; }


/* ---- Карточка формы -----------------------------------------------------
   Поля 56px с шагом 15px, кнопка 44px — ровно как в макете. Строка согласия
   в макете не нарисована, но форма шлёт персональные данные: уводим её в
   нижнюю полосу карточки, которая в Фигме пустая, чтобы не сдвинуть кнопку. */
.contacts-b2b-page .cb2b-card--form { padding: 20px; justify-content: flex-start; }
.contacts-b2b-page .cb2b-card--form form {
    display: flex; flex-direction: column; gap: 0; height: 100%;
}
.contacts-b2b-page .cb2b-input + .cb2b-input,
.contacts-b2b-page .cb2b-input + .iti,
.contacts-b2b-page .cb2b-submit { margin-top: 15px; }
.contacts-b2b-page .cb2b-input {
    min-height: 56px; padding: 0 20px; border-radius: 10px;
    background: var(--c-white); box-shadow: var(--sh-input);
    font-size: 17px; font-weight: 500; color: var(--c-body);
}
.contacts-b2b-page .cb2b-input::placeholder { color: var(--cb2b-placeholder); }
.contacts-b2b-page .cb2b-submit {
    min-height: 44px; border-radius: 40px;
    background: var(--c-teal); color: var(--c-white);
    font-size: 16px; font-weight: 500;
}
.contacts-b2b-page .cb2b-submit:hover { background: var(--c-teal-dark); }
.contacts-b2b-page .cb2b-consent {
    margin-top: 8px; gap: 6px; font-size: 12px; line-height: 1.3; color: var(--c-ink-3);
}
.contacts-b2b-page .cb2b-consent .checkbox__box {
    width: 14px; height: 14px; margin-top: 1px; border-radius: 4px; border-width: 1px;
}
.contacts-b2b-page .cb2b-consent .checkbox__box::after { width: 7px; height: 4px; }


/* ---- Карточка галереи ---------------------------------------------------- */
.contacts-b2b-page .cb2b-card--gallery { padding: 0; overflow: hidden; }
.contacts-b2b-page .cb2b-swiper { height: 100%; border-radius: 15px; }
.contacts-b2b-page .cb2b-swiper .swiper-wrapper { aspect-ratio: auto; height: 100%; }
.contacts-b2b-page .cb2b-swiper .swiper-slide { height: 100%; }
.contacts-b2b-page .cb2b-swiper .swiper-slide img {
    width: 100%; height: 100%; object-fit: cover; display: block;
}
.contacts-b2b-page .cb2b-swiper .contact-swiper-prev,
.contacts-b2b-page .cb2b-swiper .contact-swiper-next {
    width: 45px; height: 45px; padding: 8px; border-radius: 50%;
    background: var(--c-teal); box-shadow: none;
}
.contacts-b2b-page .cb2b-swiper .contact-swiper-prev { left: 18.5px; }
.contacts-b2b-page .cb2b-swiper .contact-swiper-next { right: 18.5px; }
.contacts-b2b-page .cb2b-swiper .contact-swiper-prev:hover,
.contacts-b2b-page .cb2b-swiper .contact-swiper-next:hover { background: var(--c-teal-dark); }
.contacts-b2b-page .cb2b-swiper .contact-swiper-prev img,
.contacts-b2b-page .cb2b-swiper .contact-swiper-next img { width: 30px; height: 30px; }


/* ---- Соцсети и приложение ------------------------------------------------
   Разметку даёт общий contacts-social.php, здесь только размеры из этого
   макета: карточки 332, колонка приложения 415 у правого края (Фигма). */
.contacts-b2b-page .cb2b-social { padding-top: 20px; }
.contacts-b2b-page .contacts__social {
    grid-template-columns: 332fr 332fr 332fr 424fr; gap: 20px; margin-top: 0;
}
.contacts-b2b-page .social-card {
    min-height: 100px; padding: 0 30px; gap: 10px;
    border-radius: 20px; box-shadow: var(--sh-card);
}
.contacts-b2b-page .social-card:hover { box-shadow: var(--sh-card); transform: translateY(-2px); }
.contacts-b2b-page .social-card__handle {
    font-size: clamp(1rem, 1.5vw, 24px); font-weight: 500; line-height: 1.3; color: var(--c-body);
}
.contacts-b2b-page .contacts__app {
    justify-content: flex-start; gap: 21.5px; padding-left: 9px;
}
.contacts-b2b-page .contacts__app-title {
    font-size: clamp(1rem, 1.5625vw, 25px); font-weight: 500; line-height: 1.3; color: var(--c-body);
}
/* Размеры кнопок сторов не трогаем: они заданы атрибутами самих картинок,
   а gap/вылет в style.css подобраны под холсты с зашитой тенью. */


/* ---- Карта -------------------------------------------------------------- */
.contacts-b2b-page .cb2b-map { padding-top: 20px; padding-bottom: clamp(2.5rem, 9.375vw, 150px); }
.contacts-b2b-page .cb2b-map .map-embed {
    margin-top: 0;
    height: clamp(220px, 33vw, 528px);
}


/* ====================== АДАПТИВ ====================== */
@media (max-width: 1024px) {
    .contacts-b2b-page .cb2b-intro { padding-top: calc(var(--header-h) + 40px); }
    .contacts-b2b-page .cb2b-cards-sec { padding-top: 28px; }
    .contacts-b2b-page .cb2b-cards { flex-direction: column; gap: 20px; }
    .contacts-b2b-page .cb2b-card { width: 100%; height: auto; margin-left: 0; }
    .contacts-b2b-page .cb2b-card--gallery { height: 240px; }
    .contacts-b2b-page .contacts__social { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .contacts-b2b-page .contacts__app { grid-column: 1 / -1; padding-left: 0; gap: 12px; }
}

@media (max-width: 640px) {
    .contacts-b2b-page .cb2b-intro { padding-top: calc(var(--header-h) + 24px); }
    .contacts-b2b-page .cb2b-cards-sec { padding-top: 20px; }
    .contacts-b2b-page .cb2b-card { border-radius: 10px; }
    .contacts-b2b-page .cb2b-card--info { padding: 16px; }
    .contacts-b2b-page .cb2b-card--form { padding: 16px; }
    .contacts-b2b-page .cb2b-phones { display: block; }
    .contacts-b2b-page .cb2b-phones a { display: block; }
    .contacts-b2b-page .cb2b-phones a + a { margin-left: 0; }
    .contacts-b2b-page .cb2b-card--gallery { height: 200px; border-radius: 10px; }
    .contacts-b2b-page .cb2b-swiper { border-radius: 10px; }
    .contacts-b2b-page .cb2b-swiper .contact-swiper-prev { left: 10px; }
    .contacts-b2b-page .cb2b-swiper .contact-swiper-next { right: 10px; }
    .contacts-b2b-page .contacts__social { grid-template-columns: 1fr; }
    .contacts-b2b-page .social-card { padding: 0 20px; gap: 14px; }
    .contacts-b2b-page .contacts__app { align-items: center; }
    .contacts-b2b-page .cb2b-map__plate { height: 220px; }
}

/* End */
/* /local/templates/immunohealth/assets/css/pages/contacts-b2b.css?178999202210186 */
