/* Brand accents — purple (#6B237A) + gold (#226468) from new logo */
:root {
  --brand-teal: #226468;
  --brand-teal-dark: #154F58;
  --brand-purple: #6B237A;
  --brand-purple-dark: #4A1856;
  --brand-purple-light: rgba(107, 35, 122, .1);
  --brand-gold: #226468;
  --brand-gold-dark: #154F58;
}

/* === HOVER → PURPLE (brand-driven action) === */
.header-v2__btn:hover,
.header-v2__btn:focus-visible,
.svc-row__btn--book:hover,
.booking-modal__submit:hover,
.svc-help__btn--book:hover,
.home-slides .main-slides-content .slides-btn .default-btn:hover {
  background: var(--brand-purple) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 20px rgba(107, 35, 122, .3) !important;
}
.home-slides .main-slides-content .slides-btn .default-btn:hover i {
  color: #ffffff !important;
}

.cat-card:hover {
  border-color: var(--brand-purple) !important;
}
.cat-card:hover .cat-card__arrow,
.qp-card:hover .qp-card__arrow {
  color: var(--brand-purple) !important;
}
.qp-card:hover .qp-card__icon {
  background: #226468 !important;
  color: #ffffff !important;
}

/* === HIGHLIGHT — основні слова h1 лимонні, span залишається purple === */
.home-slides .main-slides-content h1 {
  color: #ffffff !important;
}
.single-features.bg-f57e57 {
  background-color: var(--brand-purple) !important;
}

/* Smooth-scroll до картки категорії з urlhash #cat-... — fixed header не має перекривати */
html { scroll-behavior: smooth; }
.qp-card[id^="cat-"] { scroll-margin-top: 140px; }
.qp-card:target {
  border-color: var(--brand-purple) !important;
  box-shadow: 0 0 0 4px rgba(107, 35, 122, .25), 0 12px 28px rgba(22, 62, 64, .15) !important;
  transform: translateY(-2px);
}
.home-slides .main-slides-content h1 span {
  color: #ffffff !important;
}
.booking-modal__promo-title span,
.svc-hero__title em {
  color: var(--brand-purple) !important;
}
.home-slides .main-slides-content h1 span::after {
  content: none !important;
  display: none !important;
  background: transparent !important;
  opacity: 0 !important;
}

/* === COUNT BADGES / METADATA → PURPLE === */
.qp-card__count,
.cat-card__count {
  color: #6b7a8c !important;
  font-weight: 500;
}
.svc-chip__count {
  background: var(--brand-purple) !important;
  color: #fff !important;
}
.accord-count {
  background: var(--brand-purple-light) !important;
  color: var(--brand-purple) !important;
}

/* === ACTIVE FILTER CHIP — PURPLE === */
.svc-chip.is-active {
  background: var(--brand-purple-light) !important;
  color: var(--brand-purple) !important;
  border-color: rgba(107, 35, 122, .3) !important;
}
.svc-chip.is-active .svc-chip__count {
  background: var(--brand-purple) !important;
  color: #fff !important;
}

/* === TAGS → DIFFERENTIATE === */
.svc-tag--child {
  background: var(--brand-purple-light) !important;
  color: var(--brand-purple) !important;
}
.svc-tag--home {
  background: rgba(31, 111, 127, .15) !important;
  color: var(--brand-gold-dark) !important;
}

/* === GOLD ACCENTS (success states, sale highlights) === */
.svc-row__price {
  /* keep teal for prices — readability */
}
.cat-card__price {
  color: var(--brand-gold-dark) !important;
  font-weight: 700;
}
.qp-card.is-active {
  border-color: var(--brand-purple) !important;
  background: #fff 100%) !important;
}

/* === SECTION TITLE ICON BACKGROUND — alternate teal/purple === */
.svc-section[data-group="package"] .svc-section__title .anatomy-icon,
.svc-section[data-group="pelvis"] .svc-section__title .anatomy-icon,
.svc-section[data-group="muscles"] .svc-section__title .anatomy-icon {
  color: var(--brand-purple) !important;
}
.svc-section[data-group="package"] .svc-section__title,
.svc-section[data-group="pelvis"] .svc-section__title,
.svc-section[data-group="muscles"] .svc-section__title {
  background: #226468 0%, rgba(107,35,122,0) 60%) !important;
}

/* === BOOKING MODAL PROMO PANEL — purple gradient option === */
.booking-modal__perks i {
  background: var(--brand-purple-light) !important;
  color: var(--brand-purple) !important;
}

/* === PAGE BANNER ACCENT === */
.page-banner-content h2::after {
  background: #226468 0%, var(--brand-gold) 100%) !important;
}
.page-banner-content .breadcrumb-item.active {
  color: #ffffff !important;
  font-weight: 600 !important;
}

/* === HERO TITLE UNDERLINE → GOLD === */
.svc-hero__title {
  position: relative;
}

/* === HEADER ACTIVE LINK — purple underline === */
.header-v2__menu > li > a.active {
  color: var(--brand-purple) !important;
  background: var(--brand-purple-light) !important;
}
.header-v2__menu > li > a:hover {
  color: var(--brand-purple) !important;
}

/* === BURGER lines → purple on open === */
.header-v2--mobile-open .header-v2__burger span {
  background: var(--brand-purple) !important;
}

/* === SCHEDULE icon in topbar — gold === */
.header-v2__schedule > i,
.header-v2__address i {
  color: var(--brand-gold) !important;
}
.header-v2__social a:hover {
  background: var(--brand-purple) !important;
}

/* === SLIDE bg blob in hero — purple + gold === */
.svc-catalog::before,
.page-banner-area::before {
  background: #226468 0%, transparent 65%) !important;
}
.page-banner-area::after {
  background: #226468 0%, transparent 70%) !important;
}

/* Vacancies grid */
.vacancy-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 32px;
}
.vacancy-card {
  background: #fff;
  border-radius: 18px;
  padding: 30px 28px;
  box-shadow: 0 2px 12px rgba(22,62,64,.08);
  border: 1px solid rgba(34,100,104,.1);
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: transform .25s, box-shadow .25s, border-color .25s;
}
.vacancy-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(22,62,64,.15);
  border-color: rgba(34,100,104,.3);
}
.vacancy-card__title {
  font-size: 22px;
  font-weight: 700;
  color: #163E40;
  margin: 0;
}
.vacancy-card__desc {
  color: #4a5563;
  font-size: 14px;
  line-height: 1.6;
  flex: 1;
}
.vacancy-card__desc p { margin: 0 0 8px; }
.vacancy-card__desc ul { margin: 8px 0; padding-left: 20px; }
.vacancy-card__salary {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 6px;
  background: rgba(34,100,104,.1);
  color: #226468;
  font-weight: 600;
  font-size: 14px;
  padding: 6px 14px;
  border-radius: 999px;
}
.vacancy-card__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 22px;
  border-radius: 999px;
  background: #226468;
  color: #fff;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  transition: background .2s;
}
.vacancy-card__cta:hover { background: #6B237A; }
@media (max-width: 991px) {
  .vacancy-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575px) {
  .vacancy-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   ACCENT — кольори сайту (teal #226468 + purple #6B237A).
   Лимонний акцент прибрано на прохання клієнта (2026-06-26):
   усі підсвітки/бейджі/декор переведено на брендові кольори.
   На білому — світла teal-підкладка (текст лишається читабельним).
   ============================================================ */
:root {
  --brand-accent: #6B237A;
  --brand-accent-soft: rgba(34, 100, 104, .12);
}

/* — 1. Маркер-підсвітка ключових слів — */
/* Підкреслення виділеного слова в hero h1 → purple (брендовий, на темному) */
.home-slides .main-slides-content h1 span::after {
  content: none !important;
  display: none !important;
  background: transparent !important;
  opacity: 0 !important;
}
/* Маркер позаду em у заголовку каталогу (на білому), текст лишається purple */
.svc-hero__title em {
  background: linear-gradient(transparent 58%, var(--brand-accent-soft) 58%);
  padding: 0 .12em;
  border-radius: 2px;
}

/* — 2. Бейдж знижки в картці акції — teal-підсвітка "вау-числа" — */
.sales-card__feature[data-label="Знижка"] {
  background: var(--brand-accent-soft) !important;
  border-color: rgba(34, 100, 104, .5) !important;
  color: #163E40 !important;
}
.sales-card__feature[data-label="Знижка"]::before {
  color: #226468 !important;
}

/* — 3. Декор: purple кант картки акції при hover + крапки у фоні списку — */
.sales-card { position: relative; }
.sales-card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: var(--brand-accent);
  opacity: 0;
  transition: opacity .15s;
  z-index: 3;
}
.sales-card:hover::before { opacity: 1; }

/* Кнопка "Записатись на прийом" (.pd-book) — текст лишається білим на hover/focus
   (глобальне a:hover інакше робить його темним → зливається з фоном) */
.pd-book:hover,
.pd-book:focus,
.pd-book:hover i,
.pd-book:focus i {
  color: #fff !important;
}

/* ============================================================
   TEAL — м'який "дихаючий" пульс навколо плавучої кнопки
   "Записатись" (кут екрана). Кільце на ::after, сама кнопка
   не чіпається. Привертає погляд до запису.
   ============================================================ */
.quick-actions__btn--booking { position: relative; }
.quick-actions__btn--booking::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  animation: brandPulse 2.6s ease-out infinite;
}
@keyframes brandPulse {
  0%   { box-shadow: 0 0 0 0 rgba(34, 100, 104, .55); }
  70%  { box-shadow: 0 0 0 14px rgba(34, 100, 104, 0); }
  100% { box-shadow: 0 0 0 0 rgba(34, 100, 104, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .quick-actions__btn--booking::after { animation: none; }
}
