:root {
    --gk-header-height: 82px;
}

html {
    scroll-padding-top: var(--gk-header-height);
}

.gk-site-header,
.gk-site-header * {
    box-sizing: border-box;
}

.gk-site-header {
    --gk-header-opacity: 0;
    position: fixed;
    z-index: 990;
    top: 0;
    right: 0;
    left: 0;
    height: var(--gk-header-height);
    color: #000;
    font-family: var(--t-text-font, Arial), Arial, sans-serif;
    transition: background-color .2s ease, box-shadow .2s ease, color .2s ease;
}

.gk-site-header::before {
    position: absolute;
    z-index: -1;
    inset: 0;
    background: #f5f5f5;
    content: "";
    opacity: 1;
    transition: background-color .2s ease;
}

.gk-site-header.is-overlay {
    color: #fff;
}

.gk-site-header.is-overlay::before {
    background: #000;
    opacity: var(--gk-header-opacity);
}

.gk-site-header.is-scrolled {
    box-shadow: 0 8px 28px rgba(0, 0, 0, calc(.18 * var(--gk-header-opacity)));
}

.gk-site-header__inner {
    display: flex;
    align-items: center;
    width: min(1200px, 100%);
    height: 100%;
    margin: 0 auto;
    padding: 0 20px;
}

.gk-site-header__brand {
    display: block;
    flex: 0 0 auto;
    width: 188px;
    line-height: 0;
}

.gk-site-header__brand img {
    display: block;
    width: 184px;
    height: 41px;
}

.gk-site-header__slogan {
    position: relative;
    display: block;
    flex: 0 0 auto;
    width: 219px;
    height: 29px;
    margin-left: 21px;
}

.gk-site-header__slogan img {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 169px;
    height: 29px;
    transition: opacity .2s ease;
}

.gk-site-header__slogan-light,
.gk-site-header.is-overlay .gk-site-header__slogan-dark {
    opacity: 0;
}

.gk-site-header.is-overlay .gk-site-header__slogan-light {
    opacity: 1;
}

.gk-site-header__nav {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-left: auto;
    font-size: 14px;
    line-height: 1.2;
    white-space: nowrap;
}

.gk-site-header__nav a {
    color: inherit !important;
    text-decoration: none;
    transition: color .2s ease;
}

.gk-site-header__nav a:hover,
.gk-site-header__nav a[aria-current="page"] {
    color: #dedd26 !important;
}

.gk-site-header__phone {
    display: flex;
    flex: 0 0 200px;
    height: 42px;
    margin-left: auto;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background: #000;
    color: #fff !important;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.1;
    text-decoration: none;
    transition: background-color .2s ease, color .2s ease;
}

.gk-site-header__phone small {
    display: block;
    margin-top: 3px;
    font-size: 9px;
    font-weight: 400;
    line-height: 1;
}

.gk-site-header.is-overlay .gk-site-header__phone {
    background: #fff;
    color: #000 !important;
}

.gk-site-header__phone:hover {
    color: #dedd26 !important;
}

.gk-site-header__mobile-phone,
.gk-site-header__menu-toggle {
    display: none;
}

.gk-mobile-menu {
    position: fixed;
    z-index: 1100;
    inset: 0;
    display: flex;
    flex-direction: column;
    padding: 20px;
    background: #f5f5f5;
    color: #000;
    font-family: var(--t-text-font, Arial), Arial, sans-serif;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-12px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}

.gk-mobile-menu.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.gk-mobile-menu__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.gk-mobile-menu__top img {
    display: block;
    width: 136px;
    height: auto;
}

.gk-mobile-menu__top button {
    width: 42px;
    height: 42px;
    border: 0;
    background: transparent;
    color: #000;
    font: 300 36px/1 Arial, sans-serif;
    cursor: pointer;
}

.gk-mobile-menu nav {
    display: grid;
    gap: 4px;
    margin: 54px 0 auto;
}

.gk-mobile-menu nav a {
    padding: 12px 0;
    border-bottom: 1px solid #d8d8d8;
    color: #000 !important;
    font-size: 26px;
    font-weight: 500;
    line-height: 1.1;
    text-decoration: none;
}

.gk-mobile-menu__phone {
    display: block;
    margin-top: 32px;
    padding: 15px;
    background: #000;
    color: #fff !important;
    font-size: 18px;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
}

.gk-mobile-menu__phone small {
    display: block;
    margin-top: 4px;
    font-size: 11px;
    font-weight: 400;
}

body.gk-menu-open {
    overflow: hidden;
}

#t-footer .t396__artboard {
    position: relative;
}

.gk-product-page,
.gk-product-page * {
    box-sizing: border-box;
}

.gk-product-page {
    min-height: 720px;
    padding: 132px 20px 80px;
    background: #f5f5f5;
    color: #000;
    font-family: var(--t-text-font, Arial), Arial, sans-serif;
}

.gk-product-page__inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(320px, 1fr);
    gap: 56px;
    width: min(1040px, 100%);
    margin: 0 auto;
    padding: 54px 52px 48px;
    border-radius: 5px;
    background: #fff;
}

.gk-product-page__back {
    position: absolute;
    top: 22px;
    left: 52px;
    color: #000 !important;
    font-size: 13px;
    line-height: 1.2;
    text-decoration: none;
}

.gk-product-page__media {
    display: grid;
    min-height: 410px;
    place-items: center;
    background: #f5f5f5;
}

.gk-product-page__media img {
    display: block;
    width: 100%;
    max-height: 430px;
    object-fit: contain;
}

.gk-product-page__info {
    align-self: center;
}

.gk-product-page__kicker {
    margin: 0 0 12px;
    color: #4f4f4f;
    font-size: 12px;
    line-height: 1.2;
    text-transform: uppercase;
}

.gk-product-page h1 {
    margin: 0 0 20px;
    font-family: var(--t-headline-font, var(--t-text-font, Arial)), Arial, sans-serif;
    font-size: 38px;
    line-height: 1.08;
}

.gk-product-page__description {
    margin: 0 0 24px;
    color: #303030;
    font-size: 14px;
    line-height: 1.55;
}

.gk-product-page__description p {
    margin: 0 0 14px;
}

.gk-product-page__description ul {
    margin: 14px 0;
    padding-left: 22px;
}

.gk-product-page__description li {
    margin-bottom: 6px;
}

.gk-product-page__description em {
    display: block;
    margin-top: 14px;
    color: #606060;
}

.gk-product-page__price {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin: 0 0 26px;
    font-size: 22px;
    line-height: 1.2;
}

.gk-product-page__price strong {
    font-weight: 400;
}

.gk-product-page__price s {
    color: #777;
    font-size: 16px;
}

.gk-product-page__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.gk-product-page__actions button,
.gk-product-page__actions a {
    display: inline-flex;
    min-height: 54px;
    padding: 0 24px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 4px;
    background: #dedd26;
    color: #000 !important;
    font: 500 14px/1.2 var(--t-text-font, Arial), Arial, sans-serif;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
}

.gk-product-page__actions a {
    border: 1px solid #000;
    background: #fff;
}

.gk-product-page__actions button:hover,
.gk-product-page__actions a:hover {
    background: #000;
    color: #dedd26 !important;
}

@font-face {
    font-family: "Gk Bebas";
    src: url("/wp-content/themes/glavkorob/assets/fonts/Bebas-Neue-Cyrillic.woff") format("woff");
    font-display: swap;
    font-style: normal;
    font-weight: 400;
}

body.gk-blog-article-page {
    margin: 0;
    background: #fff;
}

body.gk-blog-article-page .gk-cart-button {
    display: none !important;
}

.gk-blog-article,
.gk-blog-article * {
    box-sizing: border-box;
}

.gk-blog-article {
    min-height: 100vh;
    padding: 166px 20px 100px;
    background: #fff;
    color: #191919;
    font-family: Arial, sans-serif;
    text-align: left;
}

.gk-blog-article__back {
    display: inline-block;
    margin: 0 0 28px;
    color: #606060 !important;
    font-size: 13px;
    line-height: 1.3;
    text-decoration: none;
}

.gk-blog-article__inner {
    width: min(760px, 100%);
    margin: 0 auto;
}

.gk-blog-article h1 {
    margin: 0;
    font-family: "Gk Bebas", Arial, sans-serif;
    font-size: 36px;
    font-weight: 400;
    line-height: 1.23;
    text-transform: uppercase;
}

.gk-blog-article__header {
    margin: 0 0 30px;
}

.gk-blog-article__header time {
    display: block;
    margin-top: 24px;
    color: #6a6a6a;
    font-size: 10px;
    line-height: 1.2;
    letter-spacing: .14em;
}

.gk-blog-article__content h2 {
    margin: 36px 0 12px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.55;
}

.gk-blog-article__content p,
.gk-blog-article__content li {
    margin: 0 0 22px;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.55;
}

.gk-blog-article__content ul,
.gk-blog-article__content ol {
    margin: 0 0 24px;
    padding-left: 28px;
}

.gk-blog-article__content li {
    margin-bottom: 8px;
}

.gk-blog-article__image {
    display: block;
    width: 100%;
    height: auto;
    margin: 20px 0 34px;
}

/* Blog cards keep their title, description and date rows aligned. */
#rec1818347511 .t-feed__col-grid__post-wrapper {
    display: flex;
    flex-direction: column;
}

#rec1818347511 .t-feed__col-grid__wrapper {
    display: flex;
    flex: 1 1 auto !important;
    flex-direction: column;
}

#rec1818347511 .t-feed__post-parts-date-row {
    margin-top: auto !important;
}

@media (max-width: 1199px) {
    :root {
        --gk-header-height: 70px;
    }

    .gk-site-header__inner {
        padding: 0 10px;
    }

    .gk-site-header__brand {
        width: 136px;
    }

    .gk-site-header__brand img {
        width: 136px;
        height: auto;
    }

    .gk-site-header__slogan,
    .gk-site-header__nav,
    .gk-site-header__phone {
        display: none;
    }

    .gk-site-header__mobile-phone {
        display: grid;
        width: 70px;
        height: 30px;
        margin-left: auto;
        place-items: center;
        background: #000;
        color: #fff !important;
        text-decoration: none;
    }

    .gk-site-header__mobile-phone svg {
        width: 18px;
        height: 18px;
    }

    .gk-site-header.is-overlay .gk-site-header__mobile-phone {
        background: #fff;
        color: #000 !important;
    }

    .gk-site-header__menu-toggle {
        display: grid;
        width: 35px;
        height: 34px;
        margin-left: 10px;
        padding: 7px 5px;
        align-content: space-between;
        border: 0;
        background: transparent;
        color: inherit;
        cursor: pointer;
    }

    .gk-site-header__menu-toggle span {
        display: block;
        width: 25px;
        height: 2px;
        background: currentColor;
    }

    .gk-product-page {
        min-height: 0;
        padding: 94px 10px 48px;
    }

    .gk-product-page__inner {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 52px 20px 24px;
    }

    .gk-product-page__back {
        top: 20px;
        left: 20px;
    }

    .gk-product-page__media {
        min-height: 280px;
    }

    .gk-product-page h1 {
        font-size: 28px;
    }

    .gk-product-page__actions {
        display: grid;
    }

    .gk-blog-article {
        padding: 112px 16px 64px;
    }

    .gk-blog-article h1 {
        font-size: 30px;
    }

    .gk-blog-article__content h2 {
        margin: 30px 0 10px;
        font-size: 18px;
    }

    .gk-blog-article__content p,
    .gk-blog-article__content li {
        margin-bottom: 18px;
        font-size: 17px;
        line-height: 1.55;
    }

    .gk-blog-article__image {
        margin: 18px 0 28px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gk-site-header,
    .gk-site-header::before,
    .gk-site-header__slogan img,
    .gk-mobile-menu {
        transition: none;
    }
}

/* ==========================================================================
   Секция «Ассортимент и решения» (главная).
   Заменяет Tilda zero-block rec1811080191 (61 КБ, 472 data-field-*), где
   картинки на абсолютных координатах выламывались из карточек и перекрывали
   текст. Разметка — обычный поток + CSS Grid; геометрия фото задана в cqw
   (1cqw = 1% ширины карточки), поэтому композиция масштабируется на любой
   ширине без брейкпоинтов и не может «съехать» на текст.
   Макет: Figma 6083:228, десктоп 1440 / контент 1160 / карточка 570.
   ========================================================================== */

.gk-assortment,
.gk-assortment * {
    box-sizing: border-box;
}

.gk-assortment {
    padding: 60px 20px;
    background: #f5f5f5;
    color: #000;
    font-family: Inter, Arial, sans-serif;
    overflow-x: clip;
}

.gk-assortment__inner {
    max-width: 1160px;
    margin: 0 auto;
}

.gk-assortment__title {
    margin: 0 0 20px;
    font-family: "Gk Bebas", "Bebas Neue", Impact, sans-serif;
    font-size: 46px;
    font-weight: 400;
    line-height: 48px;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0;
}

.gk-assortment__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

/* Ячейка не обрезает содержимое — сквозь неё «выпускается» фото за край
   карточки (модификатор --bleed). Сама карточка при этом обрезает всегда. */
/* Контейнер для cqw — именно ячейка, а не карточка: у карточки есть padding,
   и cqw считался бы от её content-box (510px вместо 570px), из-за чего вся
   геометрия фото уезжала бы на ~10%. */
.gk-assortment__cell {
    container-type: inline-size;
    position: relative;
    min-width: 0;
}

.gk-assortment__cell--custom {
    grid-column: 1;
    grid-row: 1 / span 2;
}

.gk-assortment__cell--sheets {
    grid-column: 1;
    grid-row: 3;
}

.gk-assortment__cell--stock {
    grid-column: 2;
    grid-row: 1;
}

.gk-assortment__cell--business {
    grid-column: 2;
    grid-row: 2;
}

.gk-assortment__cell--services {
    grid-column: 2;
    grid-row: 3;
}

/* Нижний отступ 29px, а не 30: в макете низ кнопки отстоит от низа карточки
   ровно на 29px (159 + 59.4 + 29 = 248). При 30px контент перерастал min-height
   и карточка становилась на 1px выше макета. */
.gk-assortment__card {
    position: relative;
    height: 100%;
    padding: 30px 30px 29px;
    border-radius: 5px;
    background: #ebebeb;
    overflow: hidden;
}

/* Высоты рядов задаются правой колонкой (248 / 252 / 248 при ширине 570).
   Левая верхняя карточка растягивается на два ряда + gap = 520.
   min-height в cqw, а НЕ aspect-ratio: жёсткая пропорция вместе с overflow:hidden
   обрезала кнопку, когда на узкой ширине текст переносился на лишние строки.
   min-height даёт ту же высоту при 570px и позволяет карточке вырасти. */
.gk-assortment__cell--stock .gk-assortment__card,
.gk-assortment__cell--services .gk-assortment__card,
.gk-assortment__cell--sheets .gk-assortment__card {
    min-height: 43.5088cqw;
}

.gk-assortment__cell--business .gk-assortment__card {
    min-height: 44.2105cqw;
}

.gk-assortment__card-title {
    position: relative;
    z-index: 1;
    margin: 0;
    font-family: "Gk Bebas", "Bebas Neue", Impact, sans-serif;
    font-size: 30px;
    font-weight: 400;
    line-height: 32px;
    text-transform: uppercase;
    letter-spacing: 0;
}

/* min-height = 3 строки: кнопка стоит на фиксированной высоте 159px, как в
   макете, но более длинный текст сдвигает её вниз, а не подкладывается под неё. */
.gk-assortment__card-text {
    position: relative;
    z-index: 1;
    min-height: 58px;
    margin: 10px 0 0;
    font-size: 16px;
    font-weight: 400;
    /* 1.21 = 19.36px — интерлиньяж макета (58px на 3 строки). `normal` даёт в
       Chrome 20px и уводит кнопку на 2px ниже. */
    line-height: 1.21;
}

.gk-assortment__cta {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 29px;
    padding: 20px 40px;
    border: 0;
    background: #dedd26;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.21;
    text-decoration: none;
    text-transform: uppercase;
    transition: background-color .2s ease, color .2s ease;
}

/* !important — глобальное правило Tilda `#allrecords a {color:#ff8562}` бьёт
   по ID и перекрывает любой селектор по классам. */
.gk-assortment__cta {
    color: #000 !important;
}

.gk-assortment__cta:hover,
.gk-assortment__cta:focus-visible {
    background: #000;
    color: #dedd26 !important;
}

/* Ширины текста — из макета, чтобы совпали переносы строк.
   stock: в макете 345px, но строка «Коробки универсальных размеров и листы,»
   набирается в 345.3px (округление Figma) и «листы,» срывалось на вторую
   строку — поставлено 348px, внутри допустимого диапазона [345.3, 434.8). */
.gk-assortment__cell--custom .gk-assortment__card-text { max-width: 329px; }
.gk-assortment__cell--stock .gk-assortment__card-text { max-width: 348px; }
.gk-assortment__cell--business .gk-assortment__card-text { max-width: 358px; }
.gk-assortment__cell--sheets .gk-assortment__card-text { max-width: 335px; }
.gk-assortment__cell--services .gk-assortment__card-text { max-width: 292px; }

.gk-assortment__cell--business .gk-assortment__cta { margin-top: 33px; }

/* --- Фото ---------------------------------------------------------------
   Позиция и размер — в cqw от ширины карточки: 1cqw = 5.7px при 570px.
   Фото лежит под текстом (z-index текста = 1) и обрезается карточкой. */
.gk-assortment__photo {
    position: absolute;
    z-index: 0;
    max-width: none;
    object-fit: contain;
    pointer-events: none;
}

.gk-assortment__cell--custom .gk-assortment__photo {
    left: 4.2105cqw;
    top: 12.8947cqw;
    width: 107.8947cqw;
    height: 107.8947cqw;
}

.gk-assortment__cell--stock .gk-assortment__photo {
    left: 49.6491cqw;
    top: -39.9298cqw;
    width: 69.8596cqw;
    height: 97.807cqw;
}

.gk-assortment__cell--business .gk-assortment__photo {
    left: 64.2105cqw;
    top: -4.9123cqw;
    width: 44.1053cqw;
    height: 54.9123cqw;
}

.gk-assortment__cell--sheets .gk-assortment__photo {
    left: 53.5088cqw;
    top: -3.1579cqw;
    width: 92.9825cqw;
    height: 57.7886cqw;
}

.gk-assortment__cell--services .gk-assortment__photo {
    left: 59.6491cqw;
    top: -17.5439cqw;
    width: 53.4211cqw;
    height: 76.3158cqw;
}

/* --- Выпуск фото за верхний край карточки ------------------------------
   В макете у двух правых карточек коробки «вылезают» над карточкой и правее
   её края. Карточка обрезает всегда, поэтому видимая наружу часть — отдельный
   слой в ячейке со своей областью обрезки (как и сделано в Figma). */
.gk-assortment__bleed {
    container-type: inline-size;
    position: absolute;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
}

.gk-assortment__bleed .gk-assortment__photo {
    left: 0;
    max-width: none;
}

/* cqw, а не % — процентный `top` считается от ВЫСОТЫ ячейки, и выпуск встал бы
   на -13px вместо -30px. cqw всегда от ширины, как в макете. */
.gk-assortment__cell--stock .gk-assortment__bleed {
    left: 49.6491cqw;
    top: -5.2632cqw;
    width: 69.8246cqw;
    aspect-ratio: 398 / 198;
}

.gk-assortment__cell--stock .gk-assortment__bleed .gk-assortment__photo {
    top: -49.6231cqw;
    width: 100cqw;
    height: 140.0754cqw;
}

.gk-assortment__cell--business .gk-assortment__bleed {
    left: 64.2105cqw;
    top: -4.9123cqw;
    width: 44.1053cqw;
    aspect-ratio: 251.4 / 126;
}

.gk-assortment__cell--business .gk-assortment__bleed .gk-assortment__photo {
    top: 0;
    width: 100cqw;
    height: 124.5027cqw;
}

/* --- Планшет ------------------------------------------------------------ */
@media (max-width: 1023px) {
    .gk-assortment {
        padding: 44px 16px;
    }

    .gk-assortment__title {
        margin-bottom: 16px;
        font-size: 36px;
        line-height: 38px;
    }

    .gk-assortment__card {
        padding: 24px;
    }

    /* Заголовок тоже ограничен по ширине: на десктопе он в одну строку и до фото
       не достаёт, а на узкой карточке без ограничения заезжает под картинку. */
    .gk-assortment__card-title {
        max-width: 58cqw;
        font-size: 24px;
        line-height: 26px;
    }

    .gk-assortment__card-text {
        min-height: 0;
        font-size: 15px;
    }

    /* Ширины текста переводятся из px в те же доли ширины карточки, что и в
       макете, — иначе фиксированные 329/348/358px на узкой карточке заезжают
       на фото. Специфичность (0,2,0) совпадает с десктопными правилами, но
       блок идёт ниже по файлу и потому выигрывает. */
    .gk-assortment__cell--custom .gk-assortment__card-text { max-width: 57.72cqw; }
    .gk-assortment__cell--stock .gk-assortment__card-text { max-width: 61.05cqw; }
    .gk-assortment__cell--business .gk-assortment__card-text { max-width: 62.81cqw; }
    .gk-assortment__cell--sheets .gk-assortment__card-text { max-width: 58.77cqw; }
    .gk-assortment__cell--services .gk-assortment__card-text { max-width: 51.23cqw; }

    .gk-assortment__cta,
    .gk-assortment__cell--business .gk-assortment__cta {
        margin-top: 20px;
        padding: 15px 26px;
        font-size: 14px;
    }
}

/* --- Мобильный ----------------------------------------------------------
   Одна колонка: сетка «бенто» на такой ширине нечитаема. Карточка тянется по
   контенту, фото уходит в правый нижний угол и уменьшается, текст ограничен по
   ширине — пересечения текста и фото не остаётся ни при каком объёме текста. */
@media (max-width: 619px) {
    .gk-assortment {
        padding: 32px 14px;
    }

    .gk-assortment__title {
        font-size: 30px;
        line-height: 32px;
    }

    .gk-assortment__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    .gk-assortment__cell--custom,
    .gk-assortment__cell--stock,
    .gk-assortment__cell--business,
    .gk-assortment__cell--sheets,
    .gk-assortment__cell--services {
        grid-column: 1;
        grid-row: auto;
    }

    .gk-assortment__card,
    .gk-assortment__cell--custom .gk-assortment__card,
    .gk-assortment__cell--stock .gk-assortment__card,
    .gk-assortment__cell--business .gk-assortment__card,
    .gk-assortment__cell--sheets .gk-assortment__card,
    .gk-assortment__cell--services .gk-assortment__card {
        min-height: 210px;
        padding: 20px;
    }

    /* Текст не шире 56% карточки — фото занимает правый нижний угол (42cqw),
       поэтому пересечения нет ни при каком объёме текста. */
    .gk-assortment__cell--custom .gk-assortment__card-text,
    .gk-assortment__cell--stock .gk-assortment__card-text,
    .gk-assortment__cell--business .gk-assortment__card-text,
    .gk-assortment__cell--sheets .gk-assortment__card-text,
    .gk-assortment__cell--services .gk-assortment__card-text {
        max-width: 56%;
    }

    .gk-assortment__cell--custom .gk-assortment__card-text {
        max-width: 50%;
    }

    .gk-assortment__card-title {
        max-width: 60%;
    }

    /* Выпуск за край на мобильном выключен — карточки идут встык. */
    .gk-assortment__bleed {
        display: none;
    }

    .gk-assortment__photo,
    .gk-assortment__cell--custom .gk-assortment__photo,
    .gk-assortment__cell--stock .gk-assortment__photo,
    .gk-assortment__cell--business .gk-assortment__photo,
    .gk-assortment__cell--sheets .gk-assortment__photo,
    .gk-assortment__cell--services .gk-assortment__photo {
        left: auto;
        top: auto;
        right: -6cqw;
        bottom: -4cqw;
        width: 42cqw;
        height: auto;
        object-fit: contain;
        object-position: right bottom;
    }

    .gk-assortment__cell--custom .gk-assortment__photo {
        width: 54cqw;
        right: -4cqw;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gk-assortment__cta {
        transition: none;
    }
}
