/* Розовая коза — единая бренд-палитра. */
:root {
  --brand-earth: #392e2d;
  --brand-grass: #79863c;
  --brand-life: #f4fdaf;
  --brand-pink: #f5dbdf;
  --brand-bg: #f6f5f0;
}

html, body, #page, .site, .page-shell {
  background: var(--brand-bg);
  color: var(--brand-earth);
}

main, .site-main, .site-content, .page-content, .page-wrap,
.content-area, .entry-content, .cats-main {
  background-color: var(--brand-bg);
}

.site-header, .header, .site-header-inner,
.mobile-bottom-nav, .bottom-navigation {
  background-color: #FFFFFF;
  border-color: #F6F5F0;
}

.site-footer, footer.site-footer, .footer-shell {
  background-color: var(--brand-earth);
  border-color: var(--brand-earth);
}

.site-footer, footer.site-footer, .footer-shell,
.site-footer a, footer.site-footer a, .footer-shell a {
  color: #FFFFFF;
}

body, button, input, select, textarea {
  color: var(--brand-earth);
}

a { color: inherit; }

.site-header, .site-footer, .footer, .page-wrap > section,
.container > section, .cats-main > section {
  border-color: #F6F5F0;
}

.button, button[type="submit"], input[type="submit"],
.hero-button, .cats-hero-button, .appointment-button,
.doctor-profile-note-button:not(.complaint-card-help-button) {
  background-color: var(--brand-earth);
  border-color: var(--brand-earth);
  color: #FFFFFF;
}

.button:hover, button[type="submit"]:hover, input[type="submit"]:hover,
.hero-button:hover, .cats-hero-button:hover, .appointment-button:hover {
  background-color: var(--brand-grass);
  border-color: var(--brand-grass);
}

.accent, .text-accent, .complaint-card-arrow,
.cats-service-card-arrow, .service-card-arrow {
  background-color: var(--brand-grass);
  color: #FFFFFF;
}

.tag, .chip, .badge, .contacts-chip,
.complaint-card-icon, .cats-service-card-icon {
  background-color: var(--brand-life);
  color: var(--brand-grass);
}

input, select, textarea {
  background-color: #FFFFFF;
  border-color: #F6F5F0;
}

input:focus, select:focus, textarea:focus {
  border-color: var(--brand-grass);
  box-shadow: 0 0 0 3px rgba(121, 134, 60, .16);
}

.card, .service-card, .cats-service-card, .complaint-card,
.clinic-card, .doctor-card, .price-card, .review-card,
.contacts-card, .article-card {
  border-color: #F6F5F0;
}

.card:hover, .service-card:hover, .cats-service-card:hover,
.complaint-card:hover, .clinic-card:hover, .doctor-card:hover,
.price-card:hover, .review-card:hover {
  border-color: var(--brand-grass);
}

.notice, .alert, .important-note, .symptom-emergency,
.cats-service-intro, .service-intro {
  background-color: var(--brand-pink);
  border-color: var(--brand-pink);
}

/* Карточка связи в жалобах остаётся такой же лёгкой, как остальные карточки. */
.complaints-grid .complaint-card--help {
  grid-column: auto !important;
  display: flex !important;
  min-height: 252px !important;
  padding: 26px 24px 22px !important;
  background: var(--brand-pink) !important;
  border-color: var(--brand-pink) !important;
  color: var(--brand-earth) !important;
}
.complaints-grid .complaint-card--help .complaint-card-icon {
  display: inline-flex !important;
  width: 70px !important;
  height: 70px !important;
  margin: 4px 0 0 !important;
  background: var(--brand-pink) !important;
  color: var(--brand-grass) !important;
}
.complaints-grid .complaint-card--help .complaint-card-title {
  margin: 20px 0 0 !important;
  color: var(--brand-earth) !important;
  font-size: 30px !important;
}
.complaints-grid .complaint-card--help .complaint-card-help-button {
  width: auto !important;
  min-height: 50px !important;
  margin-top: auto !important;
  border: 1px solid var(--brand-earth) !important;
  background: #FFFFFF !important;
  color: var(--brand-earth) !important;
}

/* Жалобы: убираем унаследованные голубые оттенки полностью. */
.complaints-page-wrap,
.complaints-page-wrap::before,
.complaints-page-wrap::after {
  background: var(--brand-bg) !important;
}
.complaints-hero {
  background: #FFFFFF !important;
  border-color: var(--brand-bg) !important;
  box-shadow: 0 12px 32px rgba(57, 46, 45, .05) !important;
}
.complaints-page-lead, .complaint-card-text {
  color: var(--brand-earth) !important;
}
.complaints-decor {
  color: rgba(121, 134, 60, .27) !important;
}
.complaints-decor:nth-child(even) {
  color: #392E2D !important;
}
.complaints-grid .complaint-card {
  background: #FFFFFF !important;
  border-color: var(--brand-bg) !important;
  box-shadow: 0 10px 24px rgba(57, 46, 45, .05) !important;
}
.complaints-grid .complaint-card:nth-child(4n + 1) .complaint-card-icon {
  background: var(--brand-life) !important;
  color: var(--brand-grass) !important;
}
.complaints-grid .complaint-card:nth-child(4n + 2) .complaint-card-icon {
  background: var(--brand-pink) !important;
  color: var(--brand-grass) !important;
}
.complaints-grid .complaint-card:nth-child(4n + 3) .complaint-card-icon {
  background: var(--brand-life) !important;
  color: var(--brand-grass) !important;
}
.complaints-grid .complaint-card:nth-child(4n + 4) .complaint-card-icon {
  background: var(--brand-pink) !important;
  color: var(--brand-grass) !important;
}
.complaints-grid .complaint-card::before { background: var(--brand-grass) !important; }
.complaints-grid .complaint-card:nth-child(even)::before { background: var(--brand-pink) !important; }

/* Вложенные страницы жалоб и симптомов. */
.complaint-detail-hero,
.symptom-hero,
.vomit-animal-hero {
  background: #FFFFFF !important;
  border-color: var(--brand-bg) !important;
  box-shadow: 0 12px 32px rgba(57, 46, 45, .05) !important;
}
.complaint-detail-lead, .symptom-hero-lead,
.vomit-page-content > p {
  color: var(--brand-earth) !important;
}
.complaint-detail-decor, .symptom-hero-decor {
  color: rgba(121, 134, 60, .27) !important;
}
.complaint-detail-decor:nth-child(even), .symptom-hero-decor:nth-child(even) {
  color: #392E2D !important;
}
.vomit-animal-card, .vomit-cause-card,
.surface.doctors-section, .surface.faq-section {
  background: #FFFFFF !important;
  border-color: var(--brand-bg) !important;
}
.vomit-animal-card, .vomit-cause-card {
  box-shadow: 0 10px 24px rgba(57, 46, 45, .05) !important;
}
.vomit-animal-card:nth-child(odd) .vomit-animal-icon,
.vomit-cause-card:nth-child(odd) .vomit-cause-icon {
  color: var(--brand-grass) !important;
}
.vomit-animal-card:nth-child(even) .vomit-animal-icon,
.vomit-cause-card:nth-child(even) .vomit-cause-icon {
  color: var(--brand-grass) !important;
}
.vomit-emergency, .vomit-before-visit {
  background: var(--brand-pink) !important;
  border-color: var(--brand-pink) !important;
  border-left-color: var(--brand-pink) !important;
}
.vomit-emergency-note, .vomit-before-visit-note {
  color: var(--brand-grass) !important;
}
.vomit-path {
  background: var(--brand-earth) !important;
}
.vomit-path-step {
  border-color: rgba(244, 253, 175, .32) !important;
}

/* Страницы животных внутри жалоб: кошки, собаки и отдельные симптомы. */
.symptom-hero,
.complaint-detail-section,
.cats-service-card.vomit-card,
.cat-vomit-prep,
.cat-vomit-info-block,
.cat-vomit-urgent,
.complaint-doctors-section {
  background: #FFFFFF !important;
  border-color: var(--brand-bg) !important;
}
.symptom-hero {
  box-shadow: 0 12px 32px rgba(57, 46, 45, .05) !important;
}
.symptom-hero::before, .symptom-hero::after {
  background: transparent !important;
}
.cats-service-card.vomit-card {
  box-shadow: 0 8px 22px rgba(57, 46, 45, .04) !important;
}
.vomit-card-text, .cat-vomit-prep p,
.cat-vomit-info-block p, .cat-vomit-info-block li {
  color: var(--brand-earth) !important;
}
.cat-vomit-urgent {
  border-left-color: var(--brand-pink) !important;
  background: var(--brand-pink) !important;
}
.cat-vomit-urgent-button {
  background: var(--brand-earth) !important;
  color: #FFFFFF !important;
}

/* Контакты: скрываем служебные и тестовые витринные блоки. */
.contacts-storyband,
.contacts-history,
.contacts-director,
.contacts-gallery,
.contacts-team,
.contacts-reviews {
  display: none !important;
}

/* Основное действие на странице контактов должно быть читаемой CTA-кнопкой. */
body:not(.wp-admin) main .contacts-hero-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--brand-grass) !important;
  border-color: var(--brand-grass) !important;
  color: #FFFFFF !important;
}

/* Шапка и плавающая связь: контрастные действия на любом фоне. */
body:not(.wp-admin) .site-header .site-header-cta,
body:not(.wp-admin) .site-header-cta {
  background: var(--brand-grass) !important;
  border-color: var(--brand-grass) !important;
  color: #FFFFFF !important;
}

body:not(.wp-admin) .site-header .site-header-cta :is(span, strong, svg, path),
body:not(.wp-admin) .site-header-cta :is(span, strong, svg, path) {
  color: #FFFFFF !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

#floating-contact-toggle {
  background: var(--brand-grass) !important;
  border-color: var(--brand-grass) !important;
  color: #FFFFFF !important;
  box-shadow: 0 10px 24px rgba(57, 46, 45, .24) !important;
}

#floating-contact-toggle :is(svg, path, use),
#floating-contact-toggle::before,
#floating-contact-toggle::after {
  color: #FFFFFF !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* Логотип MasterCard — две различимые брендовые окружности, а не пустая плашка. */
.payment-card--mastercard {
  background:
    radial-gradient(circle at 36% 50%, #EB001B 0 34%, transparent 36%),
    radial-gradient(circle at 64% 50%, #F79E1B 0 34%, transparent 36%) !important;
}

/* «Направления»: фотокарточки вместо списка с миниатюрами. */
.services-page-shell > section.services-diagnostics:nth-of-type(5) .services-diagnostics-main {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.services-page-shell > section.services-diagnostics:nth-of-type(5) .services-diagnostics-head {
  max-width: none !important;
  margin: 0 0 28px !important;
}
.services-page-shell > section.services-diagnostics:nth-of-type(5) .services-diagnostics-head h2 {
  font-size: clamp(36px, 4vw, 58px) !important;
  line-height: 1.02 !important;
}
.services-page-shell > section.services-diagnostics:nth-of-type(5) .services-diagnostics-head p { display: none !important; }
.services-page-shell > section.services-diagnostics:nth-of-type(5) .services-diagnostics-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
}
.services-page-shell > section.services-diagnostics:nth-of-type(5) .services-diagnostic-card {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  grid-template-rows: 224px auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 22px !important;
  background: #FFFFFF !important;
  border: 1px solid var(--brand-pink) !important;
}
.services-page-shell > section.services-diagnostics:nth-of-type(5) .services-diagnostic-icon {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  display: block !important;
  width: 100% !important;
  height: 224px !important;
  background: var(--brand-pink) !important;
}
.services-page-shell > section.services-diagnostics:nth-of-type(5) .services-diagnostic-icon img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.services-page-shell > section.services-diagnostics:nth-of-type(5) .services-diagnostic-card h3 {
  grid-column: 1 !important;
  grid-row: 2 !important;
  margin: 0 !important;
  padding: 25px 12px 25px 24px !important;
  font-size: 21px !important;
  line-height: 1.15 !important;
}
.services-page-shell > section.services-diagnostics:nth-of-type(5) .services-diagnostic-arrow {
  grid-column: 2 !important;
  grid-row: 2 !important;
  align-self: center !important;
  margin-right: 24px !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  background: var(--brand-pink) !important;
  color: var(--brand-earth) !important;
  font-size: 28px !important;
}
@media (max-width: 900px) {
  .services-page-shell > section.services-diagnostics:nth-of-type(5) .services-diagnostics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 620px) {
  .services-page-shell > section.services-diagnostics:nth-of-type(5) .services-diagnostics-grid { grid-template-columns: 1fr !important; }
}

/* Страница «Отделения»: все остаточные голубые и лавандовые поверхности. */
.services-instrumental-main {
  background: #FFFFFF !important;
  border-color: var(--brand-bg) !important;
  box-shadow: 0 12px 32px rgba(57, 46, 45, .05) !important;
}
.services-instrumental-item,
.services-instrumental-card,
.services-instrumental-grid > a,
.services-instrumental-grid > button {
  background: #FFFFFF !important;
  border-color: var(--brand-bg) !important;
  color: var(--brand-earth) !important;
}
.services-instrumental-item svg,
.services-instrumental-card svg,
.services-instrumental-grid svg {
  color: var(--brand-grass) !important;
  stroke: currentColor !important;
}
.services-competency-card,
.services-competency-card--blue,
.services-competency-card--lavender,
.services-competency-card--green {
  background: #FFFFFF !important;
  border: 1px solid #F6F5F0 !important;
  color: var(--brand-earth) !important;
}
.services-competency-card:nth-child(3n + 1) { background: var(--brand-pink) !important; }
.services-competency-card:nth-child(3n + 2) { background: var(--brand-life) !important; }
.services-competency-card:nth-child(3n + 3) { background: #FFFFFF !important; }
.services-competency-title,
.services-competency-text { color: var(--brand-earth) !important; }
.services-competency-subtitle { color: var(--brand-earth) !important; }
.services-competency-icon,
.services-competency-icon svg { color: var(--brand-grass) !important; stroke: currentColor !important; }
.services-online-consultation,
.online-consultation,
.services-instrumental-aside {
  background: #FFFFFF !important;
  border-color: var(--brand-bg) !important;
}
.services-online-consultation .button,
.online-consultation .button,
.services-instrumental-aside .button {
  background: var(--brand-grass) !important;
  border-color: var(--brand-grass) !important;
}

/* Текст всегда остаётся контрастным: розовый и лайм используются только как поверхности. */
.services-page-shell h1,
.services-page-shell h2,
.services-page-shell h3,
.services-page-shell h4,
.services-page-shell p,
.services-showcase-title,
.services-specialty-title,
.services-instrumental-title,
.services-competencies-title,
.services-labs-title,
.services-online-consultation-title,
.online-consultation-title {
  color: var(--brand-earth) !important;
}

/* Контрастный слой для всех шаблонов. Акцентные цвета не могут становиться текстом. */
body:not(.wp-admin) main :is(h1, h2, h3, h4, h5, h6, p, li, dt, dd, label, legend, small, strong, em, span, a),
body:not(.wp-admin) .site-header :is(a, span, p, li, button),
body:not(.wp-admin) .header :is(a, span, p, li, button) {
  color: var(--brand-earth) !important;
}

body:not(.wp-admin) main svg,
body:not(.wp-admin) .site-header svg,
body:not(.wp-admin) .header svg {
  color: var(--brand-earth) !important;
}

body:not(.wp-admin) :is(.button, .btn, .appointment-button, .hero-button, .cats-hero-button, .submit-button, button[type="submit"], input[type="submit"], .site-header .header-appointment, .site-header .header-cta) {
  background-color: var(--brand-grass) !important;
  border-color: var(--brand-grass) !important;
  color: #FFFFFF !important;
}

body:not(.wp-admin) :is(.button, .btn, .appointment-button, .hero-button, .cats-hero-button, .submit-button, button[type="submit"], input[type="submit"], .site-header .header-appointment, .site-header .header-cta) :is(span, strong, em, svg, path) {
  color: #FFFFFF !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

.site-footer, footer.site-footer, .footer-shell,
.site-footer :is(a, p, li, span, h2, h3, h4),
footer.site-footer :is(a, p, li, span, h2, h3, h4),
.footer-shell :is(a, p, li, span, h2, h3, h4) {
  color: #FFFFFF !important;
}
/* Restore the homepage controls and sticky footer to dev.zooport.vet values. */
body:not(.wp-admin) .site-header .site-header-cta,
body:not(.wp-admin) .site-header-cta {
  background: #372e2d !important;
  border-color: #372e2d !important;
  color: #fff !important;
}

body:not(.wp-admin) .site-header .site-header-cta:hover,
body:not(.wp-admin) .site-header .site-header-cta:focus-visible,
body:not(.wp-admin) .site-header-cta:hover,
body:not(.wp-admin) .site-header-cta:focus-visible {
  background: #f2a2ae !important;
  border-color: #f2a2ae !important;
  color: #fff !important;
}

body:not(.wp-admin) .home-hero-cta {
  background: #372e2d !important;
  border-color: rgba(13, 30, 58, 0.08) !important;
  box-shadow: 0 12px 24px rgba(55, 46, 45, 0.14) !important;
  color: #fff !important;
}

body:not(.wp-admin) .home-hero-cta:hover,
body:not(.wp-admin) .home-hero-cta:focus-visible {
  transform: translateY(-2px);
  background: #f2a2ae !important;
  border-color: #f2a2ae !important;
  box-shadow: 0 16px 30px rgba(55, 46, 45, 0.18) !important;
  color: #fff !important;
}

body:not(.wp-admin) .home-hero-cta:hover .home-hero-cta-icon,
body:not(.wp-admin) .home-hero-cta:focus-visible .home-hero-cta-icon {
  transform: translateX(3px);
}

body:not(.wp-admin) .site-header-search,
body:not(.wp-admin) .site-header-phone-btn {
  background: #fff !important;
  border-color: #e2eaf0 !important;
  color: #26384a !important;
}

body:not(.wp-admin) .site-header-search:hover,
body:not(.wp-admin) .site-header-search:focus-visible,
body:not(.wp-admin) .site-header-phone-btn:hover,
body:not(.wp-admin) .site-header-phone-wrap:focus-within .site-header-phone-btn {
  background: #f7eaec !important;
  border-color: #f7eaec !important;
  color: #f86076 !important;
}

body:not(.wp-admin) .site-header-nav a:hover,
body:not(.wp-admin) .site-header-nav a:focus-visible {
  color: #f2a2ae !important;
}

body:not(.wp-admin) .site-footer,
body:not(.wp-admin) footer.site-footer,
body:not(.wp-admin) .footer-shell {
  background: #fff !important;
  border-color: #fff !important;
  box-shadow: 0 -1px 0 rgba(219, 231, 238, 0.85) !important;
}

body:not(.wp-admin) .site-footer :is(a, p, li, span, h2, h3, h4),
body:not(.wp-admin) footer.site-footer :is(a, p, li, span, h2, h3, h4),
body:not(.wp-admin) .footer-shell :is(a, p, li, span, h2, h3, h4) {
  color: #3f4348 !important;
}

body:not(.wp-admin) .site-footer .footer-phone {
  color: #7b8646 !important;
}
/* SVG colours are explicitly set because the palette forces header SVGs dark. */
body:not(.wp-admin) .site-header-search :is(svg, circle, path),
body:not(.wp-admin) .site-header-phone-btn :is(svg, path) {
  color: #26384a !important;
  stroke: currentColor !important;
}

body:not(.wp-admin) .site-header-search:hover :is(svg, circle, path),
body:not(.wp-admin) .site-header-search:focus-visible :is(svg, circle, path),
body:not(.wp-admin) .site-header-phone-btn:hover :is(svg, path),
body:not(.wp-admin) .site-header-phone-wrap:focus-within .site-header-phone-btn :is(svg, path) {
  color: #f86076 !important;
  stroke: currentColor !important;
}

body:not(.wp-admin) .home-hero-cta :is(span, strong, em, svg, path),
body:not(.wp-admin) .site-header-cta :is(span, strong, em, svg, path) {
  color: #fff !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}
/* Mobile values copied from the current dev header and contact control states. */
@media (max-width: 900px) {
  body:not(.wp-admin) .site-header {
    background: rgba(255, 255, 255, 0.92) !important;
  }

  body:not(.wp-admin) .site-header-search {
    background: #fff !important;
    border-color: #dbe7ee !important;
    color: #30343a !important;
  }

  body:not(.wp-admin) .site-header-search :is(svg, circle, path) {
    color: #30343a !important;
    stroke: currentColor !important;
  }

  body:not(.wp-admin) .site-header-phone-btn {
    background: #fff !important;
    border-color: #e2eaf0 !important;
    color: #10223a !important;
  }

  body:not(.wp-admin) .site-header-phone-btn :is(svg, path) {
    color: #10223a !important;
    stroke: currentColor !important;
  }

  body:not(.wp-admin) .floating-contact-toggle {
    background: #7b8646 !important;
    border-color: #fff !important;
    color: #fff !important;
  }
}
/* Mobile homepage — mirror dev.zooport.vet. */
@media (max-width: 900px) {
  body:not(.wp-admin) .site-header {
    background: rgba(255, 255, 255, 0.92) !important;
    border-color: #dbe7ee !important;
  }

  body:not(.wp-admin) .site-header-search {
    width: 50px;
    height: 50px;
    flex: 0 0 50px;
    border: 1px solid #dbe7ee !important;
    border-radius: 50%;
    background: #fff !important;
    color: #30343a !important;
  }

  body:not(.wp-admin) .site-header-search :is(svg, circle, path) {
    color: #30343a !important;
    stroke: currentColor !important;
  }

  body:not(.wp-admin) .site-header-cta,
  body:not(.wp-admin) .site-header-phone-wrap,
  body:not(.wp-admin) .site-header-nav {
    display: none !important;
  }

  body:not(.wp-admin) .site-header-city {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 14px;
    border: 0;
    border-radius: 999px;
    background: #9f8694 !important;
    color: #fff !important;
    font-size: 13px;
    font-weight: 400;
  }

  body:not(.wp-admin) .site-header-city :is(span, strong, em) {
    color: #fff !important;
  }

  body:not(.wp-admin) .site-header-burger {
    display: inline-flex !important;
  }

  body:not(.wp-admin) .site-header-burger span {
    background: #30343a !important;
  }

  body:not(.wp-admin) .home-hero-title {
    color: #37363e !important;
  }

  body:not(.wp-admin) .home-hero-text {
    color: rgba(84, 89, 97, 0.7) !important;
  }

  body:not(.wp-admin).home-page .floating-contact,
  body:not(.wp-admin) .site-footer--sticky,
  body:not(.wp-admin) .compact-footer {
    display: none !important;
  }

  body:not(.wp-admin) .mobile-bottom-nav {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 70;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    padding: 8px 8px calc(10px + env(safe-area-inset-bottom));
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 -1px 0 rgba(220, 230, 237, 0.95) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
  }

  body:not(.wp-admin) .mobile-bottom-nav-item {
    color: #3e3d3d !important;
  }

  body:not(.wp-admin) .mobile-bottom-nav-icon,
  body:not(.wp-admin) .mobile-bottom-nav-icon :is(svg, path) {
    color: #52585f !important;
    stroke: currentColor !important;
  }
}
/* Mobile menu booking CTA — dev.zooport.vet. */
@media (max-width: 900px) {
  body:not(.wp-admin) .mobile-menu-cta,
  body:not(.wp-admin) .mobile-menu a.mobile-menu-cta {
    background: #372e2d !important;
    border-color: #372e2d !important;
    color: #fff !important;
  }

  body:not(.wp-admin) .mobile-menu-cta:hover,
  body:not(.wp-admin) .mobile-menu-cta:focus-visible,
  body:not(.wp-admin) .mobile-menu a.mobile-menu-cta:hover,
  body:not(.wp-admin) .mobile-menu a.mobile-menu-cta:focus-visible {
    background: #f2a2ae !important;
    border-color: #f2a2ae !important;
    color: #fff !important;
  }
}
/* Symptoms block — exact interactive palette from dev.zooport.vet. */
.symptoms-subtitle {
  color: #6f7f91 !important;
}

.symptoms-subtitle span {
  color: #f2a2ae !important;
}

.symptom-card-arrow {
  background: #7b8646 !important;
  color: #fff !important;
}

.symptom-card:hover,
.symptom-card:focus-visible {
  transform: translateY(-2px);
  border-color: #7b8646 !important;
  box-shadow: 0 14px 28px rgba(55, 46, 45, 0.08);
}

.symptom-card:hover .symptom-card-arrow,
.symptom-card:focus-visible .symptom-card-arrow {
  transform: translateX(2px);
  background: #f1dcdf !important;
  color: #372e2d !important;
  box-shadow: 0 12px 24px rgba(55, 46, 45, 0.16);
}
/* Keep the normal-state arrow white despite generic SVG/text palette rules. */
.symptom-card-arrow :is(svg, path, use, span, i) {
  color: #fff !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

.symptom-card:hover .symptom-card-arrow :is(svg, path, use, span, i),
.symptom-card:focus-visible .symptom-card-arrow :is(svg, path, use, span, i) {
  color: #372e2d !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}
/* Override the palette's `main span` rule for the text-arrow itself. */
body:not(.wp-admin) main .symptom-card-arrow {
  color: #fff !important;
}

body:not(.wp-admin) main .symptom-card:hover .symptom-card-arrow,
body:not(.wp-admin) main .symptom-card:focus-visible .symptom-card-arrow {
  color: #372e2d !important;
}
/* Treatment process block — palette and connector states from dev.zooport.vet. */
.home-treatment-shell {
  border-color: #7b8646 !important;
}

.home-treatment-subtitle {
  color: #6f7f91 !important;
}

.home-treatment-subtitle span {
  color: #f2a2ae !important;
}

.home-treatment-step:not(:last-child)::after {
  background: radial-gradient(circle, rgba(123, 134, 70, 0.9) 0 2px, transparent 3px) left center / 16px 2px repeat-x !important;
}

.home-treatment-step:not(:last-child)::before {
  background: #7b8646 !important;
}

body:not(.wp-admin) main .home-treatment-step-number {
  background: #f1dcdf !important;
  color: #fff !important;
}

.home-treatment-step-title {
  color: #10223a !important;
}

.home-treatment-step-text {
  color: #4f6178 !important;
}
/* Home doctors block buttons — current dev.zooport.vet states. */
.doctors-section .doctor-btn {
  background: #fff !important;
  border-color: #372e2d !important;
  color: #372e2d !important;
}

.doctors-section .doctor-btn:hover,
.doctors-section .doctor-btn:focus-visible {
  background: #fff !important;
  border-color: #372e2d !important;
  color: #372e2d !important;
}

.doctors-main-btn {
  background: #372e2d !important;
  border-color: transparent !important;
  color: #fff !important;
}

.doctors-main-btn:hover,
.doctors-main-btn:focus-visible {
  transform: translateY(-2px);
  background: #f86076 !important;
  border-color: transparent !important;
  box-shadow: 0 20px 38px rgba(55, 46, 45, 0.18);
  color: #fff !important;
}
/* Override the global button palette for the home doctors block. */
body:not(.wp-admin) main .doctors-section .doctor-btn {
  background: #fff !important;
  border-color: #372e2d !important;
  color: #372e2d !important;
}

body:not(.wp-admin) main .doctors-section .doctor-btn:hover,
body:not(.wp-admin) main .doctors-section .doctor-btn:focus-visible {
  background: #fff !important;
  border-color: #372e2d !important;
  color: #372e2d !important;
}

body:not(.wp-admin) main .doctors-section .doctors-main-btn {
  background: #372e2d !important;
  border-color: transparent !important;
  color: #fff !important;
}

body:not(.wp-admin) main .doctors-section .doctors-main-btn:hover,
body:not(.wp-admin) main .doctors-section .doctors-main-btn:focus-visible {
  transform: translateY(-2px);
  background: #f86076 !important;
  border-color: transparent !important;
  box-shadow: 0 20px 38px rgba(55, 46, 45, 0.18);
  color: #fff !important;
}
/* Clinics block: exact visual states from dev.zooport.vet. */
body:not(.wp-admin) main .clinics-title {
  color: #372e2d !important;
}

body:not(.wp-admin) main .clinics-city,
body:not(.wp-admin) main .clinics-city-icon,
body:not(.wp-admin) main .clinics-tab-icon,
body:not(.wp-admin) main .clinics-branch-button,
body:not(.wp-admin) main .clinics-branch-pin,
body:not(.wp-admin) main .clinics-branch-arrow,
body:not(.wp-admin) main .clinics-branch-meta-row,
body:not(.wp-admin) main .clinics-branch-meta-icon,
body:not(.wp-admin) main .clinics-branch-meta-icon-metro,
body:not(.wp-admin) main .clinics-map-meta-icon {
  color: #372e2d !important;
}

body:not(.wp-admin) main .clinics-city,
body:not(.wp-admin) main .clinics-tabs {
  border: 1px solid rgba(214, 225, 236, 0.92) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.94) 0%, rgba(241, 220, 223, 0.32) 100%) !important;
  box-shadow: 0 14px 36px rgba(189, 205, 221, 0.14) !important;
}

body:not(.wp-admin) main .clinics-city {
  background: transparent !important;
}

body:not(.wp-admin) main .clinics-tab {
  color: #294264 !important;
  background: transparent !important;
}

body:not(.wp-admin) main .clinics-tab.is-active {
  color: #f86076 !important;
  background: #f7eaec !important;
  box-shadow: inset 0 0 0 1px rgba(247, 234, 236, 0.9) !important;
}

body:not(.wp-admin) main .clinics-tab:hover,
body:not(.wp-admin) main .clinics-tab:focus-visible {
  color: #f86076 !important;
  background: #f7eaec !important;
}

body:not(.wp-admin) main .clinics-branch {
  border-color: rgba(214, 225, 236, 0.92) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 10px 28px rgba(189, 205, 221, 0.08) !important;
}

body:not(.wp-admin) main .clinics-branch.is-active {
  border-color: rgba(196, 227, 237, 0.96) !important;
  background: #f8f0f1 !important;
  box-shadow: 0 16px 36px rgba(189, 205, 221, 0.12) !important;
}

body:not(.wp-admin) main .clinics-branch-badge,
body:not(.wp-admin) main .clinics-map-badge {
  color: #372e2d !important;
  background: #f2a2ae !important;
}

body:not(.wp-admin) main .clinics-branch-badge:hover,
body:not(.wp-admin) main .clinics-branch-badge:focus-visible,
body:not(.wp-admin) main .clinics-map-badge:hover,
body:not(.wp-admin) main .clinics-map-badge:focus-visible {
  color: #372e2d !important;
  background: #f7eaec !important;
}

body:not(.wp-admin) main .clinics-map-frame-wrap {
  border-color: rgba(214, 225, 236, 0.92) !important;
  background: radial-gradient(circle at 18% 12%, rgba(248, 233, 213, 0.38), transparent 24%), linear-gradient(180deg, #f8fafb 0%, #f1f6f8 100%) !important;
  box-shadow: 0 20px 44px rgba(189, 205, 221, 0.14) !important;
}

body:not(.wp-admin) main .clinics-map-overlay {
  border-color: rgba(220, 231, 240, 0.86) !important;
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: 0 18px 42px rgba(178, 197, 216, 0.18) !important;
}

body:not(.wp-admin) main .clinics-map-overlay-title {
  color: #192c46 !important;
}

body:not(.wp-admin) main .clinics-map-overlay-link {
  color: #149fbc !important;
}

body:not(.wp-admin) main .clinics-map-meta-row {
  color: #304766 !important;
}
/* Reviews component: shared dev.zooport.vet visual states. */
body:not(.wp-admin) main .reviews-section {
  background: #fff !important;
}

body:not(.wp-admin) main .reviews-title {
  color: #372e2d !important;
}

body:not(.wp-admin) main .review-icon-btn,
body:not(.wp-admin) main .review-arrow {
  border-color: #7b8646 !important;
  background: #fff !important;
  color: #7b8646 !important;
}

body:not(.wp-admin) main .review-icon-btn:hover,
body:not(.wp-admin) main .review-icon-btn:focus-visible,
body:not(.wp-admin) main .review-arrow:hover,
body:not(.wp-admin) main .review-arrow:focus-visible {
  border-color: #7b8646 !important;
  background: #fff !important;
  color: #7b8646 !important;
}

body:not(.wp-admin) main .review-card {
  border-color: transparent !important;
  background: #f8f0f1 !important;
}

body:not(.wp-admin) main .review-source {
  color: #68727c !important;
}

body:not(.wp-admin) main .review-author {
  color: #3e3d3d !important;
}

body:not(.wp-admin) main .review-stars,
body:not(.wp-admin) main .review-full-stars {
  color: #ffbe00 !important;
}

body:not(.wp-admin) main .review-body,
body:not(.wp-admin) main .review-body :is(p, span, strong, em) {
  color: #6f747c !important;
}

body:not(.wp-admin) main .review-body {
  background: #fff !important;
}

body:not(.wp-admin) main .review-link {
  color: #f86076 !important;
}

body:not(.wp-admin) main .review-pin {
  background: #ff6448 !important;
}

body:not(.wp-admin) main .review-pin::after {
  background: #fff !important;
}
/* Promotions cards: shared dev.zooport.vet visual states. */
body:not(.wp-admin) main .promotions-subtitle {
  color: #7988a2 !important;
}

body:not(.wp-admin) main .promotions-count {
  color: #98a4b8 !important;
}

body:not(.wp-admin) main .promotion-card {
  border-color: #dfe8ef !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(55, 46, 45, 0.06) !important;
}

body:not(.wp-admin) main .promotion-card:hover,
body:not(.wp-admin) main .promotion-card:focus-within {
  transform: translateY(-6px) !important;
  border-color: #7b8646 !important;
  box-shadow: 0 20px 40px rgba(55, 46, 45, 0.12), 0 0 0 1px rgba(123, 134, 70, 0.2) !important;
}

body:not(.wp-admin) main .promotion-card-badge {
  background: #7b8646 !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(123, 134, 70, 0.26) !important;
}

body:not(.wp-admin) main .promotion-card-badge::before {
  color: #fff !important;
}

body:not(.wp-admin) main .promotion-card-title {
  color: #233858 !important;
}

body:not(.wp-admin) main .promotion-card-description {
  color: #69788f !important;
}

body:not(.wp-admin) main .promotion-card-arrow {
  background: #7b8646 !important;
  color: #fff !important;
}

body:not(.wp-admin) main .promotion-card:hover .promotion-card-arrow,
body:not(.wp-admin) main .promotion-card:focus-within .promotion-card-arrow {
  transform: translateX(3px) !important;
  background: #372e2d !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(55, 46, 45, 0.24) !important;
}
/* Contacts support section: dev.zooport.vet background. */
body:not(.wp-admin) main .contacts-support-shell {
  background: #f8f0f1 !important;
}
/* Shared footer: exact dev.zooport.vet text palette. */
body:not(.wp-admin) .compact-footer-column-title {
  color: #202428 !important;
}

body:not(.wp-admin) .compact-footer-column a,
body:not(.wp-admin) .compact-footer-column a:hover,
body:not(.wp-admin) .compact-footer-column a:focus-visible {
  color: #23272c !important;
}

body:not(.wp-admin) .compact-footer-meta {
  color: #595e65 !important;
}

body:not(.wp-admin) .compact-footer-divider {
  background: #e7edf1 !important;
}

body:not(.wp-admin) .compact-footer-links,
body:not(.wp-admin) .compact-footer-links a,
body:not(.wp-admin) .compact-footer-links a:hover,
body:not(.wp-admin) .compact-footer-links a:focus-visible {
  color: #9aa1a8 !important;
}

body:not(.wp-admin) .compact-footer-wordmark {
  color: #111315 !important;
}

body:not(.wp-admin) .site-footer--sticky {
  background: #fff !important;
  box-shadow: 0 -1px 0 rgba(219, 231, 238, 0.85) !important;
}

body:not(.wp-admin) .site-footer--sticky .footer-links a {
  color: #30343a !important;
}

body:not(.wp-admin) .site-footer--sticky .footer-city {
  color: #3f4348 !important;
}

body:not(.wp-admin) .site-footer--sticky .footer-location-icon {
  color: #666b72 !important;
}

body:not(.wp-admin) .site-footer--sticky .footer-phone {
  color: #7b8646 !important;
}
/* Floating chat: retain the dev outline bubble and its three dots. */
body:not(.wp-admin) #floating-contact-toggle .floating-contact-toggle-icon path {
  fill: none !important;
  stroke: currentColor !important;
}

body:not(.wp-admin) #floating-contact-toggle .floating-contact-toggle-icon circle {
  fill: currentColor !important;
  stroke: none !important;
}
/* Clinics contact card: messenger icons stay standalone, as on dev. */
body:not(.wp-admin) .clinics-contact-social {
  background: transparent !important;
  box-shadow: none !important;
}

body:not(.wp-admin) .clinics-contact-social:hover,
body:not(.wp-admin) .clinics-contact-social:focus-visible {
  background: transparent !important;
  box-shadow: none !important;
}
/* Clinics contact card: regular text weight, matching the dev reference. */
body:not(.wp-admin) .clinics-contact-phone,
body:not(.wp-admin) .clinics-contact-callback,
body:not(.wp-admin) .clinics-contact-side p,
body:not(.wp-admin) .clinics-contact-side p a {
  font-weight: 400 !important;
}
/* Contacts summary: standalone outlined messenger icons, as on dev. */
body:not(.wp-admin) .contacts-summary-social {
  background: transparent !important;
  box-shadow: none !important;
}

body:not(.wp-admin) .contacts-summary-social:hover,
body:not(.wp-admin) .contacts-summary-social:focus-visible {
  background: transparent !important;
  box-shadow: none !important;
}
/* Contacts summary: outlined messenger buttons. */
body:not(.wp-admin) .contacts-summary-social {
  border: 1px solid #7b8646 !important;
}

body:not(.wp-admin) .contacts-summary-social:hover,
body:not(.wp-admin) .contacts-summary-social:focus-visible {
  border-color: #7b8646 !important;
}
/* Global UI rule: controls use the regular font weight. */
body:not(.wp-admin) :is(
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  summary,
  [role="button"],
  a[class*="btn"],
  a[class*="button"],
  a[class*="cta"],
  a[class*="action"],
  a[class*="tab"],
  a[class*="filter"],
  a[class*="more"]
) {
  font-weight: 400 !important;
}

body:not(.wp-admin) :is(
  button,
  [role="button"],
  a[class*="btn"],
  a[class*="button"],
  a[class*="cta"],
  a[class*="action"],
  a[class*="tab"],
  a[class*="filter"],
  a[class*="more"]
) :is(span, strong, b) {
  font-weight: 400 !important;
}
/* Clinic card actions are link controls; keep their label weight regular. */
body:not(.wp-admin) :is(
  .clinic-card-route,
  .clinic-card-book,
  .clinic-card-link,
  .cats-clinic-primary,
  .cats-clinic-secondary
) {
  font-weight: 400 !important;
}
/* Doctors page: filters and card actions are UI controls, not headings. */
body:not(.wp-admin) :is(
  .doctor-name-filter-box input,
  .today-toggle,
  .filters-reset,
  .doctors-select-control,
  .doctors-sort-button,
  .doctors-select-menu button,
  .doctor-card-primary,
  .doctor-card-secondary
) {
  font-weight: 400 !important;
}

body:not(.wp-admin) .doctor-name-filter-box input::placeholder {
  font-weight: 400 !important;
}
/* Doctors help CTA: use the brighter pink outline requested for this button. */
body:not(.wp-admin) .doctors-help-button {
  border: 1px solid #f86076 !important;
}

body:not(.wp-admin) .doctors-help-button:hover,
body:not(.wp-admin) .doctors-help-button:focus-visible {
  border-color: #f86076 !important;
}
/* Service-template controls: match the dev palette and interaction states. */
body:not(.wp-admin) .cats-hero > .cats-hero-copy > .cats-hero-cta {
  border: 1px solid #372e2d !important;
  background: #372e2d !important;
  color: #fff !important;
  box-shadow: 0 14px 30px rgba(55, 46, 45, 0.18) !important;
  transition: transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
}

body:not(.wp-admin) .cats-hero > .cats-hero-copy > .cats-hero-cta :is(svg, path, span) {
  color: #fff !important;
}

body:not(.wp-admin) .cats-hero > .cats-hero-copy > .cats-hero-cta:hover,
body:not(.wp-admin) .cats-hero > .cats-hero-copy > .cats-hero-cta:focus-visible {
  border-color: #f2a2ae !important;
  background: #f2a2ae !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 20px 38px rgba(242, 162, 174, 0.34) !important;
}

body:not(.wp-admin) .cats-hero > .cats-hero-copy > .cats-hero-cta:hover .cats-hero-cta-icon,
body:not(.wp-admin) .cats-hero > .cats-hero-copy > .cats-hero-cta:focus-visible .cats-hero-cta-icon {
  transform: translateX(3px);
}

body:not(.wp-admin) .cats-service-card {
  border-color: #e2eaf0 !important;
}

body:not(.wp-admin) .cats-service-card:hover,
body:not(.wp-admin) .cats-service-card:focus-visible {
  border-color: #f2a2ae !important;
  box-shadow: 0 20px 40px rgba(242, 162, 174, 0.16) !important;
}

body:not(.wp-admin) .cats-service-card-arrow {
  background: #7b8646 !important;
  color: #fff !important;
}

body:not(.wp-admin) .cats-service-card:hover .cats-service-card-arrow,
body:not(.wp-admin) .cats-service-card:focus-visible .cats-service-card-arrow {
  background: #f2a2ae !important;
  color: #fff !important;
  transform: translateX(3px) !important;
  box-shadow: 0 10px 24px rgba(242, 162, 174, 0.3) !important;
}
/* Authored service FAQs use the Symptom FAQ component in the content column. */
body:not(.wp-admin) .cats-service-content-body .cats-service-faq--symptom {
  margin-top: 40px;
  padding: 28px;
  border: 1px solid #e2eaf0;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(16, 34, 58, 0.06);
}

body:not(.wp-admin) .cats-service-content-body .cats-service-faq--symptom .cats-service-faq-title {
  margin: 0 0 28px;
  color: #392e2d;
  font-size: clamp(32px, 3.8vw, 58px);
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -0.04em;
  text-align: left;
}

body:not(.wp-admin) .cats-service-content-body .cats-service-faq--symptom .zp-faq {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 0;
}

body:not(.wp-admin) .cats-service-content-body .cats-service-faq--symptom details {
  margin: 0;
}

body:not(.wp-admin) .cats-service-content-body .cats-service-faq--symptom details > summary {
  justify-content: space-between;
  min-height: 82px;
  padding: 0 30px;
  border-radius: 24px;
  background: #f6f5f0;
  color: #392e2d;
  text-align: left;
}

body:not(.wp-admin) .cats-service-content-body .cats-service-faq--symptom details > div {
  margin-top: 12px;
  padding: 28px 30px;
  border-radius: 24px;
  background: #f5dbdf;
  color: #79863c;
}

@media (max-width: 560px) {
  body:not(.wp-admin) .cats-service-content-body .cats-service-faq--symptom {
    margin-top: 28px;
    padding: 20px;
    border-radius: 24px;
  }

  body:not(.wp-admin) .cats-service-content-body .cats-service-faq--symptom .cats-service-faq-title {
    margin-bottom: 24px;
    font-size: 28px;
  }

  body:not(.wp-admin) .cats-service-content-body .cats-service-faq--symptom details > summary {
    min-height: 64px;
    padding: 0 18px;
    border-radius: 20px;
  }

  body:not(.wp-admin) .cats-service-content-body .cats-service-faq--symptom details > div {
    margin-top: 8px;
    padding: 18px;
    border-radius: 20px;
  }
}

/* Doctor cards use one consistent profile action, independent of availability. */
body:not(.wp-admin) .doctor-list-card .doctor-card-primary,
body:not(.wp-admin) .doctor-list-card .doctor-card-secondary {
  border: 1px solid #f5dbdf !important;
  background: #f5dbdf !important;
  color: #392e2d !important;
  font-weight: 400 !important;
}

body:not(.wp-admin) .doctor-list-card .doctor-card-primary:hover,
body:not(.wp-admin) .doctor-list-card .doctor-card-primary:focus-visible,
body:not(.wp-admin) .doctor-list-card .doctor-card-secondary:hover,
body:not(.wp-admin) .doctor-list-card .doctor-card-secondary:focus-visible {
  border-color: #f2a2ae !important;
  background: #f2a2ae !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(242, 162, 174, 0.3) !important;
  transform: translateY(-1px) !important;
}

/* Keep the diagnostic-path copy legible on its dark background. */
body:not(.wp-admin) .vomit-path .vomit-path-head h2,
body:not(.wp-admin) .vomit-path .vomit-path-step,
body:not(.wp-admin) .vomit-path .vomit-path-step strong,
body:not(.wp-admin) .vomit-path .vomit-path-links a {
  color: #fff !important;
}

body:not(.wp-admin) .vomit-path .vomit-path-head p,
body:not(.wp-admin) .vomit-path .vomit-path-step small {
  color: rgba(255, 255, 255, 0.78) !important;
}

/* Breadcrumbs stay readable on the light page background. */
body:not(.wp-admin) .breadcrumbs,
body:not(.wp-admin) .breadcrumbs a,
body:not(.wp-admin) .breadcrumbs span {
  color: #392e2d !important;
}

body:not(.wp-admin) .breadcrumbs a:hover,
body:not(.wp-admin) .breadcrumbs a:focus-visible {
  color: #f2a2ae !important;
}
