/**
 * ВЕТ ЭКСПЕРТ — фирменные цвета и переопределения темы.
 * Герой главной — korgi.png через <img> (contain); остальное — переопределения theme-style.
 */
:root {
  --vet-brand: #168DA8;
  --vet-brand-dark: #168DA8;
  --vet-peach: #f8cfa8;
}

ul.main_list li {
  background-image: url("../img/paw-icon.svg");
}

.front_slider_slogan {
  margin-top: 1.5rem;
  padding: 1rem 0;
  background-color: var(--vet-brand);
  color: #fff;
}

.front_slider_slogan p {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-align: center;
  text-transform: uppercase;
  padding-right: 2.5rem;
  background: url("../img/slogan-arrow.svg") no-repeat right center / 28px 28px;
}

@media (min-width: 768px) {
  .front_slider_slogan p {
    font-size: 1.15rem;
  }
}

.navbar .navbar-brand img {
  display: block;
  height: auto;
  max-height: 52px;
  width: auto;
  max-width: 204px;
  object-fit: contain;
}

.navbar-brand-text {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}

.navbar-brand-title {
  font-weight: 800;
  font-size: 1.15rem;
  letter-spacing: 0.06em;
  color: #222;
}

.navbar-brand-sub {
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #555;
}

.btn-primary {
  --bs-btn-bg: var(--vet-brand);
  --bs-btn-border-color: var(--vet-brand);
  --bs-btn-hover-bg: var(--vet-brand-dark);
  --bs-btn-hover-border-color: var(--vet-brand-dark);
  --bs-btn-active-bg: var(--vet-brand-dark);
  --bs-btn-active-border-color: var(--vet-brand-dark);
}

/* Иконка у телефона в герое (:before) — контекст позиционирования */
.banner_slogan .phone {
  position: relative;
}

/* Форма в блоке контактов (.contact_main) — ссылка на политику на тёмном фоне */
.contact_main .wpcf7-list-item-label a {
  color: #fff;
  text-decoration: underline;
}
.contact_main .wpcf7-list-item-label a:hover {
  color: #e0f7fa;
}

/* Плашка согласия на cookies — фиксированная, поверх контента, ниже модальных окон Bootstrap */
.cookie-notice {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1040;
  padding: 0.75rem 1rem;
  background: #fff;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.12);
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.cookie-notice[hidden] {
  display: none !important;
}

.cookie-notice__inner {
  max-width: 1170px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
}

.cookie-notice__text {
  margin: 0;
  flex: 1 1 280px;
  font-size: 0.875rem;
  line-height: 1.45;
  color: #444;
}

.cookie-notice__text a {
  color: var(--vet-brand-dark, #168DA8);
  font-weight: 600;
}

.cookie-notice__accept {
  flex: 0 0 auto;
}

@media (max-width: 575.98px) {
  .cookie-notice__inner {
    flex-direction: column;
    align-items: stretch;
  }

  .cookie-notice__accept {
    width: 100%;
  }
}

/* Каталог /uslugi/ — заголовок карточки как у донора */
.services_catalog .catalog_item_content {
  font-size: 1.125rem;
  line-height: 1.3;
  text-align: center;
  padding: 0 0.75rem;
}

/* «Популярные услуги» без второй колонки (цены убраны) */
.our_service.list_services .popular_uslugi {
  justify-content: center;
}
.our_service.list_services .popular_uslugi span:only-child {
  width: 100%;
  text-align: center;
}

/* Герой главной: синий фон, корги — <img> целиком без обрезки (object-fit: contain) */
.container-fluid.top_banner:not(.banner_services) {
  background-color: var(--vet-brand-dark, #168DA8);
  background-image: none;
  height: auto !important;
  min-height: 0;
  padding: 1.5rem 0;
}

.container-fluid.top_banner:not(.banner_services) .top_banner__inner {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 1rem 2rem;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 0.75rem;
}

.container-fluid.top_banner:not(.banner_services) .top_banner__visual {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: min(48vw, 520px);
}

.container-fluid.top_banner:not(.banner_services) .top_banner__img {
  display: block;
  width: auto;
  height: auto;
  max-width: min(48vw, 520px);
  max-height: min(85vh, 720px);
  object-fit: contain;
  object-position: left center;
}

.container-fluid.top_banner:not(.banner_services) .top_banner__content {
  flex: 1 1 auto;
  min-width: 0;
  padding: 0;
}

@media (max-width: 1199px) {
  .container-fluid.top_banner:not(.banner_services) .top_banner__visual,
  .container-fluid.top_banner:not(.banner_services) .top_banner__img {
    max-width: min(46vw, 440px);
  }
}

@media (max-width: 767.98px) {
  .container-fluid.top_banner:not(.banner_services) .top_banner__inner {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }

  .container-fluid.top_banner:not(.banner_services) .top_banner__visual,
  .container-fluid.top_banner:not(.banner_services) .top_banner__img {
    max-width: min(88vw, 400px);
    max-height: min(50vh, 480px);
  }

  .container-fluid.top_banner:not(.banner_services) .banner_slogan {
    width: 100%;
    margin-left: 0;
  }
}

/* Два номера в шапке — вертикальный стек без лишнего зазора */
.navbar .social_links > a.top_phone + a.top_phone {
  margin-top: 0.15rem;
}

/* Соцсети (чанк chunk_social_links) — не используем .social_link темы (скрытие на мобильных) */
.vet-social-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.25rem 0.65rem;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.3;
}

.vet-social-links__item {
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
}

.vet-social-links__sep {
  display: inline-block;
  margin: 0 0.35rem;
  font-weight: 700;
  opacity: 0.55;
  user-select: none;
}

.navbar .social_links .vet-social-links {
  margin-top: 0.35rem;
  width: 100%;
  justify-content: flex-end;
}

.navbar .social_links .vet-social-links__item {
  color: rgba(255, 255, 255, 0.95);
}

.navbar .social_links .vet-social-links__item:hover {
  color: #fff;
  text-decoration: underline;
}

footer .vet-social-links {
  margin-top: 0.5rem;
  justify-content: flex-start;
}

footer .vet-social-links__item {
  color: var(--vet-brand-dark, #168DA8);
}

footer .vet-social-links__item:hover {
  color: var(--vet-brand, #168DA8);
  text-decoration: underline;
}

.our_contacts .vet-social-links {
  justify-content: center;
}

.our_contacts .vet-social-links__item {
  color: #fff;
}

.our_contacts .vet-social-links__item:hover {
  color: #e0f7fa;
  text-decoration: underline;
}

#offcanvasNavbar .vet-social-links {
  justify-content: flex-start;
}

#offcanvasNavbar .vet-social-links__item {
  color: var(--vet-brand-dark, #168DA8);
}

#offcanvasNavbar .vet-social-links__item:hover {
  color: var(--vet-brand, #168DA8);
  text-decoration: underline;
}

footer .vet-social-links__sep {
  opacity: 0.45;
}

.our_contacts .vet-social-links__sep {
  opacity: 0.65;
}

#offcanvasNavbar .vet-social-links__sep {
  opacity: 0.45;
}

/* Мобильная шапка: номера скрыты; звонок — плавающая кнопка (как navbar-expand-md, до 768px) */
@media (max-width: 767.98px) {
  .navbar .social_links > a.top_phone {
    display: none !important;
  }

  .navbar .social_links {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    column-gap: 0.35rem;
    row-gap: 0.15rem;
  }

  .navbar .social_links .vet-social-links {
    margin-top: 0;
    width: auto;
    justify-content: flex-end;
    font-size: 0.75rem;
  }
}

.vet-mobile-call-fab {
  display: none;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--vet-brand, #168DA8);
  color: #fff;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.28);
  text-decoration: none;
  position: fixed;
  z-index: 1030;
  right: max(16px, env(safe-area-inset-right, 0px));
  bottom: max(20px, env(safe-area-inset-bottom, 0px));
  transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.vet-mobile-call-fab:hover {
  color: #fff;
  background: var(--vet-brand-dark, #168DA8);
  transform: scale(1.05);
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.32);
}

.vet-mobile-call-fab:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}

.vet-mobile-call-fab__icon {
  display: flex;
  line-height: 0;
}

@media (max-width: 767.98px) {
  .vet-mobile-call-fab {
    display: flex;
  }

  body:has(#cookieNotice:not([hidden])) .vet-mobile-call-fab {
    bottom: max(100px, calc(16px + env(safe-area-inset-bottom, 0px)));
  }
}

/* Контраст: синий фон — белый текст; белый фон — синие акценты в span/ссылках */
.top_pluses .top_plus span:not(:first-child) {
  color: #353535;
}

:is(.top_pluses, .our_services, .our_reviews, .our_contacts, .our_blog, .our_pluses, nav.navbar)
  :is(h1, h2, h3, h2 span, h3 span) {
  color: #fff;
}

.our_reviews h2 {
  color: #fff;
}

.front_slider h5 span,
.top_pluses .top_plus span:first-child,
.cookie-notice__text a {
  color: var(--vet-brand);
}

/* Контраст: единый #168DA8 — hover и акценты на том же фоне */
nav.navbar .navbar-nav .nav-link:hover,
nav.navbar .navbar-nav .nav-link:focus,
nav.navbar .navbar-nav .nav-link.show {
  color: #fff !important;
  opacity: 0.9;
}

.our_services h2,
.main_akcii h2,
.our_contacts h2,
.our_blog h2,
.our_pluses h3,
.arhive_doctors h1,
.arhive_blog h1,
.pages.price_page h1 {
  color: #fff;
}

.our_services h2 span,
.main_akcii h2 span,
.our_contacts h2 span,
.our_blog h2 span,
.our_reviews h2 span,
.our_pluses h3 span,
.arhive_doctors h1 span,
.arhive_blog h1 span,
.pages.price_page h1 span {
  color: #fff;
}

.our_service.list_services .popular_uslugi:nth-child(2n + 2),
.our_service.list_services .popular_uslugi:nth-child(2n + 2) a {
  color: #fff;
}

.pages.price_page tr.odd td {
  color: #fff;
}

.modal-content {
  color: #353535;
}

.modal-content .modal-title,
.modal-content .wpcf7-list-item-label {
  color: #353535;
}
