/* Детальная страница изделия: слайдер, текст, характеристики */

/* Детальная страница изделия — */
.inner--product .product-specs { margin-top: .625rem; }
/* 50 + 10 = 60 от блока 2 × 2 */
.inner--product .product-specs + .inner__title { margin-top: .125rem; }

/* Блок 2 × 2: слайдер фото и описание */
.product-top { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; gap: 1.25rem; padding: 0 3.75rem; }
.product-slider {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 1.25rem;
  padding: 1.25rem 0;
  border: 1px solid var(--orange);
  border-radius: var(--radius);
}
.product-slider__stage { flex: 1; display: flex; }
.product-slider__viewport { flex: 1; min-width: 0; display: grid; }
.product-slider__slide {
  grid-area: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 33.125rem;          /* 530 — высота фото ракеты в макете */
  margin: 0;
  animation: fade-in .4s ease both;
}
/* display: flex выше перебивает браузерное [hidden] — гасим скрытые слайды явно */
.product-slider__slide[hidden] { display: none; }
.product-slider__slide img { width: auto; max-width: 100%; max-height: 33.125rem; object-fit: contain; }
.product-slider__arrow {
  position: absolute;
  top: calc((100% - .4375rem) / 2);
  width: 3rem;
  height: 3rem;
  margin-top: -1.5rem;
  padding: 0;
  border: 0;
  background: transparent no-repeat center / 100% 100%;
  cursor: pointer;
  transition: transform .15s ease, filter .2s ease;
}
/* 40 от внешнего края плашки: рамка 1 px уже вычтена padding-боксом */
.product-slider__arrow--prev { left: calc(2.5rem - 1px); background-image: url('../../../img/arrow-left.svg'); }
.product-slider__arrow--next { right: calc(2.5rem - 1px); background-image: url('../../../img/arrow-right.svg'); }
.product-slider__arrow:hover,
.product-slider__arrow:focus-visible { transform: scale(1.08); filter: drop-shadow(0 0 .5rem rgba(231, 124, 28, .55)); }
.product-slider__arrow:active { transform: scale(1); }
/* Точки макета — не кружки, а четыре черты 76 × 7 */
.product-slider__dots { display: flex; justify-content: center; gap: .625rem; padding: 0 2.5rem; }
.product-slider__dot {
  width: 4.75rem;
  height: .4375rem;
  padding: 0;
  border: 0;
  background: #fff;
  cursor: pointer;
  transition: background-color .2s ease;
}
.product-slider__dot.is-active { background: var(--orange); }
.product-slider__dot:hover,
.product-slider__dot:focus-visible { background: #f18f34; }

/* Фото во всю плашку: .product-slider--cover */
.product-slider--cover { overflow: hidden; }
.product-slider--cover .product-slider__stage { position: static; min-height: 33.125rem; }
.product-slider--cover .product-slider__viewport { position: absolute; inset: 0; z-index: 0; }
.product-slider--cover .product-slider__slide { min-height: 0; }
.product-slider--cover .product-slider__slide img {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
}
.product-slider--cover .product-slider__arrow { z-index: 1; top: 50%; }
.product-slider--cover .product-slider__dots { position: relative; z-index: 1; }
@media (max-width: 1279px) {
  .product-slider--cover { aspect-ratio: 3 / 2; }
  .product-slider--cover .product-slider__stage { min-height: 0; }
}
@media (max-width: 767px) {
  .product-slider--cover { aspect-ratio: auto; }
  .product-slider--cover .product-slider__stage { min-height: 0; }
}

/* Ролик в слайдере и кнопка воспроизведения */
.product-slider__video { width: auto; max-width: 100%; max-height: 33.125rem; }
.product-slider__play {
  visibility: hidden;
  pointer-events: none;
  display: flex;
  align-self: center;
  align-items: center;
  justify-content: center;
  width: 3.75rem;                /* 60 */
  height: 3.75rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background-color: var(--orange);
  cursor: pointer;
  transition: background-color .2s ease, transform .15s ease;
}
.product-slider__play:hover,
.product-slider__play:focus-visible { background-color: #f18f34; transform: scale(1.06); }
.product-slider__play:active { transform: scale(1); }
.product-slider__play-icon { display: block; width: 1.5rem; height: 1.5rem; }
.product-slider__play-bars { display: none; }
.product-slider.is-playing .product-slider__play-tri { display: none; }
.product-slider.is-playing .product-slider__play-bars { display: block; }
.product-slider.is-video .product-slider__play { visibility: visible; pointer-events: auto; }
.product-text {
  min-width: 0;
  padding: 1.25rem;
  border: 1px solid var(--orange);
  border-radius: var(--radius);
  background: #fff;
  color: #0a1226;
  font-size: 1.25rem;             /* Reg 20/1.3 */
  line-height: 1.3;
}
/* заголовок внутри текстового блока набирается как абзац: размер задаёт модификатор */
.product-text p,
.product-text h2 { margin: 0; font-size: inherit; line-height: inherit; }
.product-text .product-text__sub { margin-top: 1.625rem; font-weight: 700; }
.product-text__list { margin: 0; padding-left: 1.5em; list-style: disc; }
.product-text .product-text__list--last { margin-bottom: 1.625rem; }
/* пустая строка после списка */
.product-text p.product-text__lg,
.product-text h2.product-text__lg { font-size: 1.5rem; font-weight: 700; }
.product-text__link { color: var(--orange); text-decoration: underline; text-underline-offset: .125rem; }
.product-text__link:hover,
.product-text__link:focus-visible { text-decoration: none; }

/* Характеристики */
.product-specs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto 1fr;
  column-gap: 1.25rem;
  row-gap: 2.5rem;                /* 40 от линии заголовка до карточки */
  padding: 0 3.75rem;
}
.product-specs__head--tech { grid-column: 1; grid-row: 1; }
.product-specs__card--tech,
.spec-card--tech { grid-column: 1; grid-row: 2; }
.product-specs__head--energy { grid-column: 2; grid-row: 1; }
.spec-card-scrollarea { grid-column: 2; grid-row: 2; }
.product-specs__head { display: flex; min-width: 0; justify-content: center; margin: 0 0 1rem; }
/* 14 до линии + 2 линия */
.product-specs__plate {
  position: relative;
  padding: 1.25rem 1.875rem;
  background: var(--orange);
  color: #fff;
  font-size: 1.25rem;             /* h2 20 Semibold uppercase */
  line-height: 1.2;
  font-weight: 600;
  text-transform: uppercase;
  text-align: center;
}
/* линия 2 px в 14 px под плашкой — в макете отдельный слой-вектор */
.product-specs__plate::after {
  content: '';
  position: absolute;
  top: calc(100% + .875rem);
  left: 0; right: 0;
  height: .125rem;
  background: var(--orange);
}
.spec-card {
  position: relative;
  min-width: 0;
  height: 31rem;                  /* 496 */
  border: 1px solid var(--orange);
  border-radius: var(--radius);
  background: #fff;
  overflow: hidden;
}
.spec-card--tech { padding: 1.25rem; }
.spec-card--tech::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url('../../../img/specs-graph.jpg') no-repeat left bottom / 100% 139.08%;
  opacity: .1;
  pointer-events: none;
}
.tech-list {
  position: relative;             /* над подложкой */
  display: grid;
  grid-template-columns: 11.5625rem 11.375rem 16.8125rem;   /* 185 / 182 / 269 */
  justify-content: center;
  column-gap: min(7.5rem, (100% - 39.75rem) / 2);
  margin: 0;
  padding: 1.6875rem 0;
}
.tech-list--row { grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 2.5rem; }
.tech-list__item { display: flex; flex-direction: column; gap: 1.25rem; }
.tech-list__label { font-size: 1.25rem; line-height: 1.1; color: #050a1b; }
/* черта между подписью и значением — граница ячейки, отдельный SVG для 1 px не нужен */
.tech-list__value {
  margin: 0;
  padding-top: 1.25rem;
  border-top: 1px solid var(--orange);
  color: var(--orange);
  font-size: 1.25rem;             /* H2 20/30 Semibold uppercase */
  line-height: 1.875rem;
  font-weight: 600;
  text-transform: uppercase;
}
/* остальные диаметры обтекателя — в макете тот же стиль на 50% прозрачности */
.tech-list__alt { display: block; margin-top: .625rem; opacity: .5; }
.spec-card--energy { padding: 0; }
/* на ПК обёртки просто ячейка грида, прокрутка и индикатор включаются в мобильном */
.spec-card-scrollarea,
.spec-card-scroll { min-width: 0; }
.spec-card-bar { display: none; }
.spec-card-bar[hidden] { display: none; }
.spec-table { width: 100%; height: 100%; border-collapse: collapse; table-layout: fixed; }
.spec-table--three { height: auto; }
.spec-card--fit { height: auto; }
/* У «Союза-2-1В» колонки три: космодром, наклонение и масса */
.spec-table--three .spec-table__col--site { width: 30%; }
.spec-table--three .spec-table__col--incl { width: 35%; }
.spec-table--three .spec-table__col--mass-a { width: 35%; }
.spec-table__col--site { width: 15.81%; }
.spec-table__col--incl { width: 16.02%; }
.spec-table__col--alt { width: 24.19%; }
.spec-table__col--mass-a { width: 22.15%; }
/* 206 */
.spec-table__col--mass-b { width: 21.83%; }
/* 203 */
.spec-table__th {
  padding: .625rem 1.875rem;
  border: 1px solid rgba(230, 235, 240, .55);
  background: rgba(230, 235, 240, .55);
  color: #647e98;
  font-size: 1rem;                /* h6 16 Semibold */
  line-height: 1.125rem;
  font-weight: 600;
  text-align: center;
}
.spec-table thead tr:first-child { height: 3.125rem; }
.spec-table thead tr + tr { height: 2.5625rem; }
.spec-table tbody tr:nth-child(1) { height: 9.125rem; }
/* 146 */
.spec-table tbody tr:nth-child(2) { height: 7.125rem; }
/* 114 */
.spec-table tbody tr:nth-child(3) { height: 8.9375rem; }
.spec-table__site,
.spec-table__cell {
  padding: .625rem 1.875rem;
  border: 1px solid rgba(230, 235, 240, .55);
  background: #fdfffe;
  color: #16243b;
}
.spec-table__site { font-size: 1.25rem; line-height: 1.25rem; font-weight: 400; text-align: left; }
.spec-table__cell { font-size: 1.25rem; line-height: 1.875rem; font-weight: 600; text-align: center; }

/* Планшет: своего макета нет, сделан в логике */
@media (max-width: 1279px) {
  .inner--product .product-specs,
  .inner--product .product-specs + .inner__title { margin-top: 0; }
  .product-top { grid-template-columns: 1fr; gap: 1rem; padding: 0 1rem; }
  .product-slider { gap: 1rem; padding: 1rem 0; }
  .product-slider__slide { min-height: 20rem; }
  .product-slider__slide img { max-height: 20rem; }
  .product-slider__arrow { width: 2.5rem; height: 2.5rem; margin-top: -1.25rem; }
  .product-slider__arrow--prev { left: 1.25rem; }
  .product-slider__arrow--next { right: 1.25rem; }
  .product-slider__dots { gap: .5rem; padding: 0 1.25rem; }
  .product-slider__dot { width: 3rem; height: 6px; }
  .product-slider__play { width: 3rem; height: 3rem; }
  .product-slider__play-icon { width: 1.25rem; height: 1.25rem; }
  .product-slider__video { max-height: 20rem; }
  .product-text { padding: 1rem; font-size: .9375rem; }
  .product-text .product-text__sub { margin-top: 1.21875rem; }
  .product-text .product-text__list--last { margin-bottom: 1.21875rem; }
  /* та же пропорция 24/20 от планшетного кегля плашки (15) */
  .product-text p.product-text__lg,
  .product-text h2.product-text__lg { font-size: 1.125rem; }
  .product-specs { grid-template-columns: 1fr; grid-template-rows: none; row-gap: 1rem; padding: 0 1rem; }
  .product-specs__head--tech,
  .product-specs__head--energy,
  .spec-card--tech,
  .spec-card-scrollarea { grid-column: auto; grid-row: auto; }
  .product-specs__head { margin-bottom: .75rem; }
  .product-specs__plate { padding: .75rem 1rem; font-size: .8125rem; }
  .product-specs__plate::after { top: calc(100% + .625rem); height: 2px; }
  .spec-card { height: auto; }
  .spec-card--tech { padding: 1rem; }
  .spec-card--tech::before { background-size: cover; }
  .tech-list { grid-template-columns: 1fr 1fr; column-gap: 2.5rem; row-gap: 1.25rem; padding: 1rem 0; }
  .tech-list--row { grid-template-columns: 1fr 1fr; column-gap: 2.5rem; row-gap: 1.25rem; }
  .tech-list__item { gap: .75rem; }
  .tech-list__item--fairing { grid-column: 1 / -1; }
  .tech-list__label { font-size: .9375rem; line-height: 1.1; }
  .tech-list__value { padding-top: .75rem; font-size: 1.125rem; line-height: 1.6; }
  .spec-table__th { padding: .5rem .75rem; font-size: .8125rem; line-height: 1.15; }
  .spec-table thead tr:first-child,
  .spec-table thead tr + tr { height: auto; }
  .spec-table tbody tr:nth-child(1),
  .spec-table tbody tr:nth-child(2),
  .spec-table tbody tr:nth-child(3) { height: auto; }
  .spec-table__site,
  .spec-table__cell { padding: .75rem; }
  .spec-table__site { font-size: .9375rem; }
  .spec-table__cell { font-size: 1rem; line-height: 1.5; }
}

/* Мобильный */
@media (max-width: 767px) {
  .product-top { grid-template-columns: 1fr; gap: 20px; padding: 0 20px; }
  .product-slider { height: 346px; gap: 10px; padding: 20px 0; }
  .product-slider__stage { position: static; }
  .product-slider__viewport { position: absolute; inset: 0; z-index: 0; }
  .product-slider__slide { min-height: 0; }
  .product-slider__slide img {
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: contain;
    border-radius: var(--radius);
  }
  .product-slider__arrow { top: 50%; width: 48px; height: 48px; margin-top: -24px; z-index: 1; }
  .product-slider__arrow--prev { left: 20px; }
  .product-slider__arrow--next { right: 20px; }
  /* точки макета — 30 × 4, лежат поверх фотографии */
  .product-slider__dots { position: relative; z-index: 1; gap: 10px; padding: 0 40px; }
  .product-slider__dot { width: 30px; height: 4px; }
  /* кнопка, как и черты, лежит поверх кадра: лента слайдов здесь вынута из потока */
  .product-slider__play { position: relative; z-index: 1; width: 44px; height: 44px; }
  .product-slider__play-icon { width: 18px; height: 18px; }
  .product-slider__video { width: 100%; height: 100%; max-width: none; max-height: none; object-fit: contain; }
  /* кегль описания в мобильном макете тот же, что на ПК, — 20/1.3 */
  .product-text { padding: 20px; font-size: 20px; overflow-wrap: break-word; hyphens: auto; }  /* длинные слова («высококвалифицированных») переносятся */
  .product-text .product-text__sub { margin-top: 26px; }
  .product-text .product-text__list--last { margin-bottom: 26px; }
  .product-text p.product-text__lg,
  .product-text h2.product-text__lg { font-size: 24px; }
  /* Плашка-заголовок во всю ширину: 20 / 15, кегль 14, линия в 10 px под ней */
  .product-specs { row-gap: 20px; padding: 0 20px; }
  .product-specs__head { display: block; margin-bottom: 12px; }
  /* 10 до линии + 2 линия */
  .product-specs__plate { display: block; padding: 15px 20px; font-size: 14px; }
  .product-specs__plate::after { top: calc(100% + 10px); }
  .spec-card--tech { height: 295px; padding: 20px; }
  .spec-card--tech::before { background-size: 100% 88.21%; background-position: left bottom; }
  .tech-list { grid-template-columns: 1fr 1fr; column-gap: 20px; row-gap: 17px; padding: 0; }
  .tech-list--row { grid-template-columns: 1fr 1fr; column-gap: 20px; row-gap: 17px; }
  .tech-list__item { gap: 10px; }
  .tech-list__item--fairing { grid-column: 1 / -1; }
  .tech-list__label {
    font-size: 14px;
    line-height: 14px;
    font-weight: 600;
    text-transform: uppercase;
    color: #0a1226;
  }
  .tech-list__value { padding-top: 10px; font-size: 20px; line-height: 20px; font-weight: 400; }
  .tech-list__alt { margin-top: 10px; line-height: 28px; }
  .tech-list__item--fairing .tech-list__label { line-height: 24px; }
  .spec-card-scroll {
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .spec-card-scroll::-webkit-scrollbar { display: none; }
  .spec-card--energy { width: max-content; height: auto; }
  .spec-card-bar {
    display: block;
    margin-top: 10px;
    height: 5px;
    border-radius: 10px;
    background: #fdfffe;
  }
  .spec-card-bar__thumb {
    display: block;
    width: 40%;
    height: 100%;
    border-radius: 10px;
    background: var(--orange);
    transition: transform .1s linear;
  }
  .spec-table { width: 604px; table-layout: fixed; }
  .spec-table__col--site { width: 98px; }
  .spec-table__col--incl { width: 117px; }
  .spec-table__col--alt { width: 117px; }
  .spec-table__col--mass-a { width: 137px; }
  .spec-table__col--mass-b { width: 135px; }
  .spec-table__th { padding: 0 10px; font-size: 12px; line-height: 18px; }
  .spec-table__th--group,
  .spec-table thead tr + tr .spec-table__th { padding-left: 10px; padding-right: 10px; }
  .spec-table thead tr:first-child { height: 50px; }
  .spec-table thead tr + tr { height: 41px; }
  .spec-table tbody tr:nth-child(1) { height: 110px; }
  .spec-table tbody tr:nth-child(2) { height: 85px; }
  .spec-table tbody tr:nth-child(3) { height: 104px; }
  .spec-table__site,
  .spec-table__cell { padding: 0 10px; font-size: 14px; }
  /* в мобильном макете название космодрома по центру и Semibold, на ПК — слева и Regular */
  .spec-table__site { font-weight: 600; line-height: 24px; text-align: center; }
  .spec-table__cell { line-height: 28px; }
}

/* «Ресурс-П» № 1 (resurs-p-1.html) */
/* 28/34 */
.product-specs--ka { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto; }
.product-specs--ka .product-specs__scrollarea { grid-column: 1; grid-row: auto; }
.spec-card--ka {
  height: auto;
  padding: 2.5rem;
}
.spec-card--ka::before {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  aspect-ratio: 1880 / 1618;
  transform: translateY(11%);
  background: url('../../../img/specs-graph-band.jpg') no-repeat center bottom / 100% 100%;
  /* 10 %, как на «Союзе-2»: в макете 20 %, заказчик попросил приглушить */
  opacity: .1;
  pointer-events: none;
}
.spec-list { position: relative; display: flex; flex-direction: column; gap: 2.5rem; margin: 0; }
.spec-list__group {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(24rem, 1fr));
  column-gap: 7.5rem;              /* 120 */
  row-gap: 2.5rem;
}
.spec-list__head {
  grid-column: 1 / -1;
  margin: 0;
  padding-bottom: .625rem;
  border-bottom: 2px solid var(--orange);   /* группа отбита чертой потолще */
  color: #050a1b;
  font-size: 1.25rem;
  line-height: 1.5rem;
  font-weight: 600;
  text-transform: uppercase;
}
.spec-list__row {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;                    /* 20 от черты до значения */
}
.spec-list--cols {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(28rem, 1fr));
  align-items: start;
  column-gap: 7.5rem;
  row-gap: 2.5rem;
}
.spec-list--cols .spec-list__group { display: flex; flex-direction: column; gap: 1.25rem; }
.spec-list--cols .spec-list__head { margin-bottom: .625rem; }
.spec-list--cols .spec-list__row {
  flex-direction: row;
  align-items: baseline;
  justify-content: space-between;
  gap: 2.5rem;
}
.spec-list--cols .spec-list__label { flex: 1 1 auto; min-width: 0; padding-bottom: 0; border-bottom: 0; line-height: 1.1; }
.spec-list--cols .spec-list__value { flex: none; max-width: 50%; text-align: right; }
.spec-list__label {
  padding-bottom: 1.25rem;         /* 20 от подписи до черты */
  border-bottom: 1px solid var(--orange);
  font-size: 1.25rem;              /* 20 Regular */
  line-height: 1.1;                /* многострочные подписи идут плотнее */
  color: #050a1b;
}
.spec-list__value {
  margin: 0;
  color: var(--orange);
  font-size: 1.25rem;              /* 20/30 Semibold caps */
  line-height: 1.875rem;
  font-weight: 600;
  text-transform: uppercase;
}
@media (max-width: 1279px) {
  .spec-card--ka { padding: 1.5rem; }
  .spec-list { gap: 1.5rem; }
  .spec-list__group { grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); column-gap: 3rem; row-gap: 1.5rem; }
  .spec-list--cols { grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); column-gap: 3rem; row-gap: 1.5rem; }
  .spec-list--cols .spec-list__group { gap: 1rem; }
  .spec-list__head { font-size: 1rem; line-height: 1.3; }
  .spec-list__row { gap: .75rem; }
  .spec-list__label { padding-bottom: .75rem; font-size: .9375rem; line-height: 1.1; }
  .spec-list__value { font-size: .9375rem; line-height: 1.4; }
}
@media (max-width: 767px) {
  .spec-card--ka { padding: 20px; }
  /* в мобильном макете (node 3086-11368) кадр прижат к низу без выноса */
  .spec-card--ka::before { aspect-ratio: 332 / 260; transform: none; }
  .spec-list { gap: 20px; }
  /* в 320 колонок нет — показатели идут друг под другом */
  .spec-list__group { grid-template-columns: minmax(0, 1fr); column-gap: 0; row-gap: 20px; }
  /* в 320 колонка одна, подпись и значение идут строками друг под другом */
  .spec-list--cols { grid-template-columns: minmax(0, 1fr); column-gap: 0; row-gap: 20px; }
  .spec-list--cols .spec-list__group { gap: 14px; }
  .spec-list--cols .spec-list__row { flex-direction: column; align-items: flex-start; gap: 4px; }
  .spec-list--cols .spec-list__value { max-width: none; text-align: left; }
  .spec-list__head { font-size: 14px; line-height: 1.3; }
  .spec-list__row { gap: 10px; }
  .spec-list__label { padding-bottom: 10px; font-size: 14px; line-height: 1.1; }
  .spec-list__value { font-size: 14px; line-height: 1.4; }
}

/* «Волга»: характеристики в один ряд */
.product-specs--volga { grid-template-columns: 1fr 1fr; grid-template-rows: auto 1fr; }
.product-specs--volga .product-specs__ka { grid-column: 1; grid-row: 2; }
.product-specs--volga .product-specs__scrollarea { grid-column: 2; grid-row: 2; }
.product-specs--volga .product-specs__energy { height: 100%; }
.spec-list--two { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2.5rem; }
.spec-list--two .spec-list__group:not(.spec-list__group--wide) .spec-list__head {
  display: flex;
  align-items: flex-end;
  min-height: 3.75rem;             /* две строки по 1.5rem плюс поле и черта */
}
.spec-list__group--wide { grid-column: 1 / -1; }
@media (max-width: 1279px) {
  /* колонки не помещаются: таблица уходит под плашку */
  .product-specs--volga { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto auto; }
  .product-specs--volga .product-specs__head--tech { grid-column: 1; grid-row: 1; }
  .product-specs--volga .product-specs__ka { grid-column: 1; grid-row: 2; }
  .product-specs--volga .product-specs__head--energy { grid-column: 1; grid-row: 3; margin-top: 2.5rem; }
  .product-specs--volga .product-specs__scrollarea { grid-column: 1; grid-row: 4; }
}
@media (max-width: 767px) {
  .spec-list--two { grid-template-columns: minmax(0, 1fr); column-gap: 0; }
  .product-specs--volga .product-specs__head--energy { margin-top: 20px; }
}

/* Страница «Научно-техническое */
.product-top--coop .product-top__slider { min-height: 46.375rem; }
.product-text .product-text__lead { margin-bottom: 1.625rem; font-weight: 600; }

/* Планшет (< 1280) */
@media (max-width: 1279px) {
  .product-top--coop .product-top__slider { min-height: 22rem; }
  /* Пустая строка после первого абзаца — по кеглю планшетной версии .product-text */
  .product-text .product-text__lead { margin-bottom: 1.21875rem; }
}

/* Мобильная (< 768) */
@media (max-width: 767px) {
  .product-top--coop .product-top__slider { min-height: 240px; }
  .product-text .product-text__lead { margin-bottom: 26px; }
}

/* Страница «История предприятия» (history-plant.html) */
.product-text--wide { margin: 0 3.75rem; padding: 2.5rem; }
.inner--product .product-text--wide { margin-top: .625rem; }
.inner--product .product-text--wide + .inner__title { margin-top: .125rem; }
.product-text.product-text--spaced p + p { margin-top: 1.625rem; }

/* Планшет (< 1280) */
@media (max-width: 1279px) {
  .product-text--wide { margin: 0 1rem; padding: 1.5rem; }
  .inner--product .product-text--wide { margin-top: 0; }
  .inner--product .product-text--wide + .inner__title { margin-top: 0; }
  .product-text.product-text--spaced p + p { margin-top: 1.21875rem; }
}

/* Мобильная (< 768) */
@media (max-width: 767px) {
  .product-text--wide { margin: 0 20px; padding: 20px; }
  .product-text.product-text--spaced p + p { margin-top: 26px; }
}

/* «ЦПОИ «Самара» / Заказ снимков» (cpoi-samara.html) */
.product-text__list--num { list-style: decimal; }
.product-text.product-text--spaced p + .product-text__list { margin-top: 1.625rem; }
.product-text .product-text__btn { margin-top: 2.5rem; }
/* заголовок плашки «Заказ снимков» — 2rem (правка заказчика), на всех ширинах */
.inner--cpoi .product-text--wide .product-text__lead { font-size: 2rem; }
@media (min-width: 1280px) {
  .inner--cpoi .product-top + .inner__title { margin-top: -.1925rem; }
  /* 50 − 30 = 20 */
  .inner--cpoi .product-text--wide.product-text--after-archive { margin-top: -.625rem; }
}
@media (max-width: 1279px) {
  .product-text.product-text--spaced p + .product-text__list { margin-top: 1.21875rem; }
  .product-text .product-text__btn { margin-top: 1.5rem; }
}
@media (max-width: 767px) {
  .product-text.product-text--spaced p + .product-text__list { margin-top: 26px; }
  .product-text .product-text__btn { margin-top: 20px; }
}

/* Страница «Молодежная политика» (youth-policy.html) */
.product-text .product-text__sep { margin-top: 1.625rem; }
.product-text .product-text__sub--flush { margin-top: 0; }

/* Планшет (< 1280) */
@media (max-width: 1279px) {
  .product-text .product-text__sep { margin-top: 1.21875rem; }
}

/* Мобильная (< 768) */
@media (max-width: 767px) {
  .product-text .product-text__sep { margin-top: 26px; }
}

/* Страница «Ракета-носитель «Союз-5»» (soyuz-5.html) */
.spec-list--cols .spec-list__row--solo .spec-list__value { margin-left: auto; }
.spec-list__value--lc { text-transform: none; }
@media (min-width: 1280px) {
  .spec-list--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .spec-list--four .spec-list__head { display: flex; align-items: flex-end; min-height: 3.75rem; }
}
@media (max-width: 767px) {
  .spec-list--cols .spec-list__row--solo .spec-list__value { margin-left: 0; }
}

/* Страница «Космический аппарат «Обзор-Р»» */
.spec-card--modes { display: flex; flex-direction: column; gap: 2.5rem; padding: 1.625rem; }
/* 26 + граница 1 = 27 до контента, как в макете */
.spec-table--modes { position: relative; }
.spec-table--auto { height: auto; }
.spec-table--auto tbody tr:nth-child(n) { height: auto; }
.spec-card--auto { height: auto; }
.spec-table--modes .spec-table__th {
  position: relative;
  padding: 0 1.875rem .75rem 0;
  align-self: end;
  border: 0;
  background: none;
  color: #050a1b;
  font-size: 1.25rem;            /* 20 при 1920, дальше масштабируется с сайтом */
  line-height: 1.5rem;
  font-weight: 600;
  text-transform: uppercase;
  text-align: left;
}
.spec-table--modes {
  display: grid;
  width: 100%;
  justify-content: space-between;
  align-items: start;
}
.spec-table--modes thead,
.spec-table--modes tbody,
.spec-table--modes tr { display: contents; }
.spec-table--cols-3 { grid-template-columns: repeat(3, max-content); }
.spec-table--cols-4 { grid-template-columns: repeat(4, max-content); }
.spec-table--modes .spec-table__th::after {
  content: '';
  position: absolute;
  left: 0;
  right: 1.875rem;
  bottom: 0;
  height: 2px;
  background: var(--orange);
}
.spec-table--modes .spec-table__cell { padding-left: 0; text-align: left; }
.spec-table--modes thead tr:first-child { height: auto; }
.spec-table--modes tbody tr:first-child > * { padding-top: 1.4375rem; }
/* 23 = 27 до верха букв значения (интерлиньяж 22 съедает 4 полулидингом) */
.spec-table--modes .spec-table__site,
.spec-table--modes .spec-table__cell {
  border: 0;
  background: none;
  font-size: 1.25rem;
  line-height: 1.375rem;
  font-weight: 400;
}
.spec-table--modes .spec-table__site { padding-left: 0; }

/* Планшет и мобильная (< 1280): режимы группами, */
@media (max-width: 1279px) {
  .spec-card--modes { gap: 2rem; padding: 1.5rem; }
  .spec-table--modes { justify-content: stretch; column-gap: 3rem; row-gap: 1rem; }
  .spec-table--cols-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .spec-table--cols-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  /* столбец «Режимы съемки» с подписями строк не нужен: подпись стоит у значения */
  .spec-table--modes tr > :first-child { display: none; }
  .spec-table--modes tr > :nth-child(2) { grid-column: 1; }
  .spec-table--modes tr > :nth-child(3) { grid-column: 2; }
  .spec-table--modes tr > :nth-child(4) { grid-column: 3; }
  .spec-table--modes thead tr > * { grid-row: 1; }
  .spec-table--modes tbody tr:nth-child(1) > * { grid-row: 2; }
  .spec-table--modes tbody tr:nth-child(2) > * { grid-row: 3; }
  .spec-table--modes tbody tr:nth-child(3) > * { grid-row: 4; }
  .spec-table--modes tbody tr:nth-child(4) > * { grid-row: 5; }
  .spec-table--modes .spec-table__th { padding: 0 0 .625rem; font-size: 1rem; line-height: 1.3; }
  .spec-table--modes .spec-table__th::after { right: 0; }
  /* черта во всю группу */
  .spec-table--modes .spec-table__cell,
  .spec-table--modes tbody tr:first-child > * { padding: 0; }
  .spec-table--modes .spec-table__cell { font-size: .9375rem; line-height: 1.4; }
  .spec-table--modes .spec-table__cell::before {
    content: attr(data-label);
    display: block;
    margin-bottom: .25rem;
    color: rgba(5, 10, 27, .6);
  }
}
@media (max-width: 767px) {
  .spec-card--modes { gap: 24px; padding: 20px; }
  .spec-table--modes { display: flex; flex-direction: column; gap: 14px; }
  .spec-table--modes .spec-table__th { align-self: stretch; padding-bottom: 10px; font-size: 14px; line-height: 1.3; }
  .spec-table--modes thead th:nth-child(n + 3) { margin-top: 10px; }
  /* 24 между группами */
  .spec-table--modes .spec-table__cell { font-size: 14px; line-height: 1.4; }
  .spec-table--modes .spec-table__cell::before { margin-bottom: 4px; }
  .spec-table--modes thead tr > :nth-child(2) { order: 20; }
  .spec-table--modes thead tr > :nth-child(3) { order: 30; }
  .spec-table--modes thead tr > :nth-child(4) { order: 40; }
  .spec-table--modes tbody tr:nth-child(1) > :nth-child(2) { order: 21; }
  .spec-table--modes tbody tr:nth-child(2) > :nth-child(2) { order: 22; }
  .spec-table--modes tbody tr:nth-child(3) > :nth-child(2) { order: 23; }
  .spec-table--modes tbody tr:nth-child(4) > :nth-child(2) { order: 24; }
  .spec-table--modes tbody tr:nth-child(1) > :nth-child(3) { order: 31; }
  .spec-table--modes tbody tr:nth-child(2) > :nth-child(3) { order: 32; }
  .spec-table--modes tbody tr:nth-child(3) > :nth-child(3) { order: 33; }
  .spec-table--modes tbody tr:nth-child(4) > :nth-child(3) { order: 34; }
  .spec-table--modes tbody tr:nth-child(1) > :nth-child(4) { order: 41; }
  .spec-table--modes tbody tr:nth-child(2) > :nth-child(4) { order: 42; }
  .spec-table--modes tbody tr:nth-child(3) > :nth-child(4) { order: 43; }
  .spec-table--modes tbody tr:nth-child(4) > :nth-child(4) { order: 44; }
}

/* Страница «Малый космический аппарат */
.spec-list--heads .spec-list__label {
  padding-bottom: .625rem;
  border-bottom-width: 2px;
  line-height: 1.5rem;
  font-weight: 600;
  text-transform: uppercase;
}
.spec-list--heads .spec-list__row {
  display: grid;
  grid-template-rows: 1fr auto;
  gap: .625rem;
}
.spec-list--heads .spec-list__label { align-self: end; }

/* Характеристики «Икара»: порядок столбцов */
.spec-list__pair { display: contents; }
@media (min-width: 1280px) {
  .spec-list--ikar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .spec-list--ikar .spec-list__pair {
    grid-column: 1 / span 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: inherit;
    row-gap: inherit;
    align-content: start;
  }
  .spec-list--ikar .spec-list__group--c1 { grid-column: 1; }
  .spec-list--ikar .spec-list__group--c2 { grid-column: 2; }
  .spec-list--ikar .spec-list__group--c3 { grid-column: 3; align-self: start; }
  .spec-list--ikar .spec-list__group--r1 { grid-row: 1; }
  .spec-list--ikar .spec-list__group--r2 { grid-row: 2; }
  .spec-list--ikar .spec-list__group--r1 .spec-list__head {
    display: flex;
    align-items: flex-end;
    min-height: 3.75rem;
  }
}

/* Текст «Общественной жизни» (public-life.html) */
.inner--public .product-text--spaced .product-text__sub + p { margin-top: 0; }
