


.promo-detail-hero .page-hero__grid { align-items: stretch; gap: 36px; }
.promo-detail-hero .page-hero__text { gap: 24px; }
.promo-detail-photo {
  display: block;
  width: 100%;
  height: 395px;
  border-radius: var(--radius-md);
  object-fit: cover;
}


.promo-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: var(--space-xs);
  margin-top: 20px;
}
.promo-meta__sale,
.promo-meta__date {
  padding: 6px 12px;
  border-radius: var(--radius-sm);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;
}
.promo-meta__sale { background: var(--color-gold-soft); color: var(--color-primary); }
.promo-meta__date { background: var(--color-primary-bright); color: var(--color-white); }
.promo-meta__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px 5px 10px;
  border-radius: var(--radius-sm);
  background: var(--color-surface-light);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.1;
  color: var(--color-text);
  text-decoration: none;
  text-underline-offset: 3px;
  text-decoration-color: currentColor;
}
.promo-meta__link:hover { color: var(--color-primary); text-decoration: underline; }
.promo-meta__link .flag { text-decoration: none; }
.promo-detail-hero .page-hero__title {
  max-width: 800px;
  margin-top: 20px;
  font-size: 40px;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: -0.7px;
  text-transform: none;
}
.promo-detail-hero .page-hero__lead { max-width: 660px; font-size: 16px; line-height: 1.4; }

.promo-detail-hero .card-doctor-row__meta { margin-top: 24px; }


.promo-body-aside { width: 300px; }

.promo-doctors {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-md);
}
.promo-doctors > * { min-width: 0; }
.promo-doctors .card-doctor { height: 100%; }

.promo-price-card { overflow: hidden; }
.promo-price-card__row {
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 6px 12px;
}
.promo-price-card__price {
  min-width: 0;
  white-space: normal;
  font-size: clamp(26px, 2.2vw, 32px);
  overflow-wrap: anywhere;
}
.promo-price-card__old {
  max-width: 100%;
  white-space: normal;
  font-size: 14px;
}
.promo-price-card__old[data-prefix]::before { content: attr(data-prefix); }
.promo-band .card-promo__old { text-decoration: none; }
.promo-band .card-promo__old::before { content: "вместо "; }


.promo-band {
  background: var(--color-primary);
  padding-block: 56px 64px;
  color: var(--color-white);
}
.promo-band .section-head__title { color: var(--color-white); }
.promo-band__chips { display: flex; gap: 10px; margin-top: 20px; }

.promo-band__carousel { margin-top: 28px; }
.promo-band__carousel .carousel__track { gap: 20px; }
.promo-band__carousel .card-promo { width: 416px; border-color: transparent; }
.promo-band__carousel .carousel__controls { margin-top: 20px; }
@media (max-width: 767px) {
	.promo-doctors { grid-template-columns: 1fr; }
  .promo-band__carousel .card-promo { width: min(416px, 88vw); }
}


@media (max-width: 1199px) {
  .promo-body-aside { width: 100%; }
  .promo-body-aside .promo-price-card { width: 100%; }
}
@media (max-width: 1023px) {
  .promo-detail-hero .page-hero__grid { flex-direction: column; }
  .promo-detail-hero .page-hero__featured { align-self: stretch; }
  .promo-detail-hero .promo-price-card { width: 100%; }
  .promo-detail-hero .page-hero__title { font-size: 32px; }
  .promo-detail-photo { height: 320px; }
}
@media (max-width: 767px) {
  .promo-detail-hero .page-hero__title { font-size: 26px; }
  .promo-detail-photo { height: 220px; }
}
