/* =========================================================
   ServiceCards widget — стили карточек услуг.
   Изолирован от глобальных h1..h6 / p.
   Bootstrap 5.

   Внешние вертикальные отступы виджет НЕ задаёт.
   Отступы задаются шаблоном (обёртка py-5 / my-4 и т.п.).

   Ховер-поведение:
     .service-card--interactive  → подъём + тень + cursor: pointer
     .service-card--link         → дополнительно смена цвета рамки
   ========================================================= */

/* ---------- CARD ---------- */
.service-card {
  background: var(--card);
  border: 1px solid var(--bd);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  height: 100%;
  color: var(--text);
  /* transition нужен только для интерактивных карточек,
     но безвреден и на статичных */
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

/* ---------- INTERACTIVE ---------- */

/* Ховер без смены рамки: подъём, тень, курсор */
.service-card--interactive {
  cursor: pointer;
}

.service-card--interactive:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
}

/* Дополнительно для карточек-ссылок — смена цвета рамки */
.service-card--link:hover {
  border-color: var(--accent);
}

/* ---------- LINK-WRAPPER ---------- */
/* Обёртка-ссылка вокруг карточки: без подчёркивания, цвет наследуется */
a.service-card-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

a.service-card-link:hover,
a.service-card-link:focus {
  color: inherit;
  text-decoration: none;
}

/* ---------- BODY ---------- */
.service-card .card-body {
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
  color: var(--text);
}

/* ---------- HEAD (иконка + заголовок) ---------- */
.service-card .card-head {
  display: flex;
  align-items: flex-start;   /* заголовок — к верхнему краю иконки */
  gap: 1rem;                 /* отступ между иконкой и заголовком */
  min-height: 52px;          /* высота строки = высота иконки */
}

/* ---------- ICON ---------- */
.service-card .icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  flex-shrink: 0;
  border: 1px solid var(--bd);
  border-radius: 2px;
  background: var(--accent-l);
  transition: border-color .3s ease, background .3s ease;
}

/* Смена цвета иконки при наведении — только у карточек со ссылкой */
.service-card--link:hover .icon-wrap {
  border-color: var(--accent);
  background: rgba(176, 138, 68, .18);
}

.service-card .icon-wrap .fas {
  color: var(--accent);
  font-size: 1.4rem;
  line-height: 1;
}

/* ---------- TITLE ---------- */
.service-card .card-title,
.service-card h3.card-title {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.35;
  letter-spacing: .3px;
  text-transform: none;
  text-align: left;
  color: var(--head);
  margin: 0;
  padding-top: .35rem;       /* визуально выравниваем с центром иконки 52px */
  flex: 1 1 auto;
  min-width: 0;              /* чтобы длинный заголовок корректно переносился */
}

/* Если иконки нет — заголовок просто сверху, без лишнего паддинга */
.service-card .card-head > .card-title:only-child {
  flex-basis: 100%;
  padding-top: 0;
}

/* Убираем глобальную декоративную черту h3::after */
.service-card .card-title::after {
  display: none;
}

/* ---------- TEXT ---------- */
.service-card .card-text,
.service-card p.card-text {
  padding-top: .75rem;
  margin-bottom: 0;
  font-family: var(--font-body);
  font-weight: 300;
  font-size: .95rem;
  line-height: 1.55;
  color: var(--text);
  text-align: left;
}

/* ---------- A11Y ---------- */
@media (prefers-reduced-motion: reduce) {
  .service-card { transition: none; }
  .service-card--interactive:hover { transform: none; }
}