/* Текстовый блок (views/constructor/textContent.php). Виды: text (колонка для чтения), media (фото и текст рядом),
   columns (текст в две колонки). «Во всю ширину» (cb-text--wide) — колонка шире, но не на весь экран. */
.cb-text__body {font-size: 17px}
.cb-text__body > :first-child {margin-top: 0}
/* Абзацы: в base.css правило .cb p {margin: 0} перебивает .cb-rich > * + * — возвращаем отступ между абзацами */
.cb .cb-text__body > * + p {margin-top: 1em}
.cb .cb-text__body > h3 + p, .cb .cb-text__body > h4 + p {margin-top: .5em}
.cb-text .cb-text__actions {margin-top: 32px}

/* Текст: ~70 знаков в строке */
.cb-text__column {max-width: 70ch}
.cb-text--center .cb-text__column {margin-inline: auto}
.cb-text--wide.cb-text--text, .cb-text--wide.cb-text--columns {max-width: 1100px; margin-inline: auto}
.cb-text--wide .cb-text__column {max-width: 1000px}
.cb-text--wide.cb-text--center .cb-text__column {margin-inline: auto}
.cb-text--wide .cb-text__column .cb-text__body {font-size: 18px}
.cb-text--wide.cb-text--text .cb-title {max-width: none}
.cb-text--wide.cb-text--text .cb-title--left .cb-title__sub {max-width: 760px}

/* Две колонки */
.cb-text__columns {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 5vw, 72px); align-items: start}
.cb-text--center .cb-text__columns + .cb-text__actions {justify-content: center}

/* Фото и текст */
.cb-text--media {display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5.5vw, 88px); align-items: center}
.cb-text--image-right .cb-text__media {order: 2}
.cb-text__media {min-width: 0}
.cb-text__media picture, .cb-text__media > img {display: block; overflow: hidden; border-radius: calc(var(--cb-radius) * 1.6); box-shadow: var(--cb-shadow); background: var(--cb-alt)}
.cb-tone--dark .cb-text__media picture, .cb-tone--dark .cb-text__media > img {box-shadow: none}
.cb .cb-text__img {display: block; width: 100%; max-height: 720px; object-fit: cover}
.cb-text__content {min-width: 0}
.cb-text--media .cb-text__head {margin-bottom: 24px}
.cb-text--media .cb-text__head:last-child {margin-bottom: 0}
.cb-text--wide.cb-text--media .cb-text__content {max-width: 640px}
.cb-text--wide.cb-text--image-left .cb-text__content {justify-self: start}
.cb-text--wide.cb-text--image-right .cb-text__content {justify-self: end}

@media (max-width: 991px) {
    .cb-text--media {grid-template-columns: minmax(0, 1fr); gap: 28px}
    .cb-text--media .cb-text__media {order: -1}
    .cb-text--wide.cb-text--media .cb-text__content {max-width: none}
    .cb .cb-text__img {max-height: 60vh}
}
@media (max-width: 767px) {
    .cb-text__columns {grid-template-columns: minmax(0, 1fr); gap: 1em}
    .cb-text__body, .cb-text--wide .cb-text__column .cb-text__body {font-size: 16px}
}
@media (max-width: 575px) {
    .cb-text__media picture, .cb-text__media > img {border-radius: var(--cb-radius)}
    .cb-text__body table {display: block; max-width: 100%; overflow-x: auto}
}
