/* ── Service detail page ── */

/* ── Richtext blocks (body / body_after) ── */

.detail-page{
  padding: 40px 0 100px;
}

.service-detail__body,
.service-detail__body-after {
  padding: 0 0 48px 0;
  line-height: 1.8;
  color: var(--color-text-body);
  font-family: var(--font-primary), sans-serif;
  font-size: 16px;
  margin-top: 40px;
}

.service-detail__body-after p {
  font-family: var(--font-secondary);
}

.service-detail__body h2,
.service-detail__body-after h2,
.service-detail__body h3,
.service-detail__body-after h3 {
  color: var(--color-dark);
}

.service-detail__body h2,
.service-detail__body-after h2 {
  font-size: 28px;
  margin-bottom: 16px;
}

.service-detail__body h3,
.service-detail__body-after h3 {
  font-size: 22px;
  margin-bottom: 12px;
}

.service-detail__body ul,
.service-detail__body ol,
.service-detail__body-after ul,
.service-detail__body-after ol {
  padding-left: 28px;
  margin-bottom: 16px;
}

.service-detail__body li,
.service-detail__body-after li {
  margin-bottom: 8px;
}

.service-detail__body a,
.service-detail__body-after a {
  color: var(--color-gold);
  text-decoration: none;
  border-bottom: 1px solid var(--color-gold-divider);
  transition: var(--transition-color);
}

.service-detail__body a:hover,
.service-detail__body-after a:hover {
  color: var(--color-gold-hover);
  border-bottom-color: var(--color-gold-hover);
}

.service-detail__body strong,
.service-detail__body-after strong {
  color: var(--color-dark);
  font-weight: 700;
}

.service-detail__body blockquote,
.service-detail__body-after blockquote {
  border-left: 4px solid var(--color-gold);
  padding-left: 20px;
  color: var(--color-text-secondary);
  font-style: italic;
}

.service-detail__body img,
.service-detail__body-after img {
  max-width: 100%;
  height: auto;
  border-radius: var(--radius-card);
}

/* ── Service cards grid ── */

.service-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px;
  padding: 48px 0;
}

/* Карточка без фона — Figma spec */
.service-card {
  display: flex;
  flex-direction: column;
  text-align: center;
}

/* Иконка 70×70 с серым фоном, иконка внутри 55×55 — Figma spec */
.service-card__image {
  width: 70px;
  height: 70px;
  background-color: var(--color-form-bg); /* #ECF1F3 */
  border-radius: 6px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  margin: 0 auto 20px;
}

.service-card__image img {
  width: 55px;
  height: 55px;
  object-fit: contain;
  display: block;
}

/* Playfair Display Medium 20px, #1E1E1E, centered — Figma spec */
.service-card__title {
  font-family: var(--font-primary);
  font-size: 21px;
  font-weight: 500;
  color: #1E1E1E;
  line-height: 1.3;
  margin-bottom: 20px;
  text-align: center;
}

/* Open Sans 14px, lh 22px, #2D2D2D — Figma spec */
.service-card__description {
  flex: 1;
  color: var(--color-text-dark);
  font-family: var(--font-secondary), sans-serif;
  font-size: 14px;
  line-height: 22px;
  text-align: left;
  margin-bottom: 16px;
}

.service-card__description p {
  margin-bottom: 10px;
}

.service-card__description ul {
  padding-left: 0;
  margin: 0 0 16px;
}

.service-card__description ul > li {
  margin-left: 20px;
}

.service-card__btn {
  align-self: center;
}

/* ── Related services ── */

.service-related {
  padding: 48px 0;
  border-top: 1px solid var(--color-grey-bg);
}

.service-related__title {
  font-family: var(--font-primary);
  font-size: 24px;
  color: var(--color-dark);
  padding-bottom: 12px;
  border-bottom: 2px solid var(--color-gold-divider);
  margin-bottom: 20px;
}

.service-related__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  list-style: none;
  padding: 0;
}

.service-related__link {
  color: var(--color-gold);
  text-decoration: none;
  font-family: var(--font-secondary), sans-serif;
  font-size: 16px;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s;
}

.service-related__link:hover {
  border-bottom-color: var(--color-gold);
}

/* ── Responsive ── */

@media (max-width: 1024px) {
  .service-cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
  }
}

@media (max-width: 600px) {
  .service-cards {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
