/* Уход с Vue (Э4): главная, кадры Figma 5446:296000, 5504:301078, 5582:310625. Числа - токены specialty_v2. */
.sp-home {
    box-sizing: border-box;
    width: 100%;
    max-width: calc(var(--container-max) + 48px);
    margin: 0 auto;
    padding: var(--space-6) 24px var(--space-16);
    color: var(--text-black);
    font: var(--font-body-2);
}

.sp-root:has(.sp-home) .sp-main {
    background: var(--bg-white);
}

.sp-home__hero {
    display: flex;
    gap: var(--space-4);
    margin-bottom: var(--space-10);
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
}

.sp-home__slide {
    flex: 0 0 100%;
    overflow: hidden;
    border-radius: var(--radius-sm);
    background: var(--bg-light-grey);
    scroll-snap-align: start;
}

.sp-home__slide img {
    display: block;
    width: 100%;
    height: auto;
}

.sp-home__cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-6);
    margin-bottom: var(--space-14);
}

.sp-home__card {
    padding: var(--space-6);
    border-radius: var(--radius-sm);
    background: var(--color-main-xlight-blue);
}

.sp-home__card-title {
    margin: 0 0 var(--space-2);
    font: var(--font-h3);
    text-transform: var(--heading-transform);
}

.sp-home__card-title a {
    color: inherit;
    text-decoration: none;
}

.sp-home__sec {
    margin-bottom: var(--space-10);
}

.sp-home__head {
    display: flex;
    align-items: baseline;
    gap: var(--space-4);
    justify-content: space-between;
    margin-bottom: var(--space-6);
}

.sp-home__h2 {
    margin: 0;
    font: var(--font-h2);
    text-transform: var(--heading-transform);
}

.sp-home__more {
    flex: none;
    color: var(--color-main);
    font: var(--font-btn-sm);
    text-decoration: none;
    text-transform: uppercase;
}

.sp-home .sp-sr__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-6);
}

.sp-home__links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-6);
    margin-bottom: var(--space-14);
}

.sp-home__links-title {
    margin: 0 0 var(--space-3);
    font: var(--font-h3);
    text-transform: var(--heading-transform);
}

.sp-home__links ul {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin: 0;
    padding: 0;
    list-style: none;
}

.sp-home__links a {
    display: inline-block;
    padding: var(--space-1) var(--space-3);
    border: 1px solid var(--stroke-grey-normal);
    border-radius: var(--radius-full);
    color: var(--text-black);
    font: var(--font-body-3);
    text-decoration: none;
}

.sp-home__links a:hover {
    background: var(--color-hover);
}

.sp-home__articles {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-6);
}

.sp-home__article {
    display: flex;
    gap: var(--space-3);
}

.sp-home__article-photo {
    flex: 0 0 96px;
    height: 96px;
    overflow: hidden;
    border-radius: var(--radius-sm);
    background: var(--bg-light-grey);
}

.sp-home__article-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sp-home__article-title {
    margin: 0;
    font: var(--font-h4);
    text-transform: var(--heading-transform);
}

.sp-home__article-title a {
    color: inherit;
    text-decoration: none;
}

@media (max-width: 1023px) {
    .sp-home .sp-sr__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sp-home__cards,
    .sp-home__links,
    .sp-home__articles {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 639px) {
    .sp-home {
        padding: var(--space-4) 16px var(--space-12);
    }

    .sp-home__cards,
    .sp-home__links,
    .sp-home__articles {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Раскладка кадра 1920: верх, ряды, полосы */
.sp-home__top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 282px;
    gap: var(--space-6);
    margin-bottom: var(--space-10);
}

.sp-home__top .sp-home__hero {
    margin-bottom: 0;
}

.sp-home__account {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    align-items: stretch;
    justify-content: center;
    padding: var(--space-6);
    border-radius: var(--radius-sm);
    background: var(--color-main-xlight-blue);
}

.sp-home__account-title,
.sp-home__panel-title {
    margin: 0;
    font: var(--font-h2);
    text-transform: var(--heading-transform);
}

.sp-home__account-text {
    margin: 0;
    color: var(--text-dark-grey);
}

.sp-home__split {
    display: grid;
    grid-template-columns: 282px minmax(0, 1fr);
    gap: var(--space-6);
    align-items: center;
    margin-bottom: var(--space-14);
}

.sp-home__intro {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    align-items: flex-start;
}

.sp-home__rail {
    position: relative;
    min-width: 0;
}

.sp-home .sp-home__rail .sp-sr__grid {
    display: flex;
    gap: var(--space-6);
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.sp-home .sp-home__rail .sp-sr__grid::-webkit-scrollbar {
    display: none;
}

.sp-home .sp-home__rail .sp-sr__cell {
    flex: 0 0 282px;
    min-width: 0;
    scroll-snap-align: start;
}

.sp-home__split .sp-home__rail .sp-sr__cell {
    flex-basis: 214px;
}

.sp-home__arrow {
    position: absolute;
    top: 40%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid var(--stroke-grey-normal);
    border-radius: var(--radius-full);
    background: var(--bg-white);
    color: var(--text-black);
    cursor: pointer;
}

.sp-home__arrow[hidden] {
    display: none;
}

.sp-home__arrow--prev {
    left: -12px;
}

.sp-home__arrow--next {
    right: -12px;
}

.sp-home__countries {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr)) 282px;
    gap: var(--space-4);
    margin-top: var(--space-6);
}

.sp-home__country {
    position: relative;
    display: block;
    color: var(--text-black);
    font: var(--font-h4);
    text-decoration: none;
    text-transform: uppercase;
}

.sp-home__country img {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    margin-bottom: var(--space-2);
    border-radius: var(--radius-sm);
    object-fit: cover;
}

.sp-home__countries .sp-home__cards {
    display: block;
    margin: 0;
}

.sp-home__roasters {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    gap: var(--space-6);
}

.sp-home__logos {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-4);
    align-items: center;
    margin: var(--space-6) 0 var(--space-4);
}

.sp-home__logos img {
    display: block;
    max-width: 100%;
    max-height: 72px;
    margin: 0 auto;
    object-fit: contain;
}

.sp-home__logos--small {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
}

.sp-home__panel,
.sp-home__service,
.sp-home__consult {
    padding: var(--space-6);
    border-radius: var(--radius-sm);
    background: var(--color-main-xlight-blue);
}

.sp-home__panel {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    align-items: flex-start;
}

.sp-home__panel p {
    margin: 0;
}

.sp-home__band {
    width: 100vw;
    margin: 0 calc(50% - 50vw) var(--space-14);
    padding: var(--space-10) max(24px, calc((100vw - var(--container-max)) / 2));
    box-sizing: border-box;
    background: var(--color-main-xlight-blue);
}

.sp-home__band .sp-home__split {
    margin-bottom: 0;
}

.sp-home__radio {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.sp-home__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2) var(--space-6);
}

.sp-home__tab {
    padding-bottom: var(--space-1);
    border-bottom: 2px solid transparent;
    color: var(--text-dark-grey);
    font: var(--font-small-sb);
    text-transform: uppercase;
    cursor: pointer;
}

.sp-home__radio:checked + .sp-home__tab {
    border-bottom-color: var(--text-black);
    color: var(--text-black);
}

.sp-home__radio:focus-visible + .sp-home__tab {
    outline: 2px solid var(--color-main);
    outline-offset: 2px;
}

.sp-home__panel-tab {
    display: none;
    flex: 0 0 100%;
    min-width: 0;
    margin-top: var(--space-4);
}

.sp-home__tabs:has([data-sp-eq="0"]:checked) [data-sp-eq-panel="0"],
.sp-home__tabs:has([data-sp-eq="1"]:checked) [data-sp-eq-panel="1"],
.sp-home__tabs:has([data-sp-eq="2"]:checked) [data-sp-eq-panel="2"] {
    display: block;
}

.sp-home__service {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--space-6);
    align-items: center;
    margin-bottom: var(--space-14);
}

.sp-home__service p {
    margin: var(--space-3) 0;
}

.sp-home__reviews {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-6);
    margin-top: var(--space-6);
}

.sp-home__review {
    padding: var(--space-4);
    border: 1px solid var(--stroke-grey-light);
    border-radius: var(--radius-sm);
}

.sp-home__review p {
    margin: 0 0 var(--space-2);
}

.sp-home__review-date {
    color: var(--text-dark-grey);
    font: var(--font-body-3);
}

.sp-home__review a {
    color: var(--color-main);
}

.sp-home__consult {
    display: flex;
    align-items: center;
    gap: var(--space-6);
    justify-content: space-between;
    margin-bottom: var(--space-14);
}

@media (max-width: 1023px) {
    .sp-home__top,
    .sp-home__split,
    .sp-home__roasters,
    .sp-home__service {
        grid-template-columns: minmax(0, 1fr);
    }

    .sp-home__countries {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sp-home__countries .sp-home__cards {
        grid-column: 1 / -1;
    }

    .sp-home__reviews {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 639px) {
    .sp-home__reviews {
        grid-template-columns: minmax(0, 1fr);
    }

    .sp-home .sp-home__rail .sp-sr__cell,
    .sp-home__split .sp-home__rail .sp-sr__cell {
        flex-basis: 214px;
    }

    .sp-home__consult {
        align-items: flex-start;
        flex-direction: column;
    }
}

.sp-home__arrow-prev {
    transform: rotate(90deg);
}

.sp-home__arrow-next {
    transform: rotate(-90deg);
}

.sp-home__quick {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--space-4);
    margin-bottom: var(--space-14);
}

.sp-home__quick a {
    padding: var(--space-4);
    border-radius: var(--radius-sm);
    background: var(--color-main-xlight-blue);
    color: var(--text-black);
    font: var(--font-h4);
    text-decoration: none;
    text-transform: uppercase;
}

/* В справочнике стран флаги, не фото: без растягивания */
.sp-home__country img {
    aspect-ratio: 3 / 2;
    border: 1px solid var(--stroke-grey-light);
    object-fit: contain;
}

.sp-home__taste {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    gap: var(--space-6);
}

.sp-home__taste-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-3);
    margin: var(--space-6) 0 var(--space-4);
}

.sp-home__taste-links a {
    padding: var(--space-4);
    border: 1px solid var(--stroke-grey-light);
    border-radius: var(--radius-sm);
    color: var(--text-black);
    font: var(--font-h4);
    text-decoration: none;
    text-transform: uppercase;
}

@media (max-width: 1023px) {
    .sp-home__quick {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sp-home__taste {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 639px) {
    .sp-home__taste-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Флаг вместо фото страны: значок на плитке, пока нет фотографий */
.sp-home__country {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    align-items: center;
    justify-content: center;
    min-height: 168px;
    padding: var(--space-4);
    box-sizing: border-box;
    border-radius: var(--radius-sm);
    background: var(--color-main-xlight-blue);
    text-align: center;
}

.sp-home__country img {
    width: 72px;
    height: 48px;
    margin: 0;
    aspect-ratio: auto;
    border: 1px solid var(--stroke-grey-light);
    border-radius: var(--radius-xs);
    object-fit: cover;
}

.sp-home__country:hover {
    background: var(--color-hover);
}

.sp-home__taste-links {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.sp-home__taste-links a {
    padding: var(--space-2) var(--space-4);
    border-color: var(--stroke-grey-normal);
    border-radius: var(--radius-full);
    font: var(--font-small-sb);
}

.sp-home__taste-links a:hover {
    background: var(--color-hover);
}

/* Сверка с кадром: плашки статей, узкие карточки сплит-рядов, логотипы на плитках, мобайл */
.sp-home__hero-wrap {
    position: relative;
    min-width: 0;
}

.sp-home__hero-wrap .sp-home__hero {
    scrollbar-width: none;
}

.sp-home__hero-wrap .sp-home__arrow {
    top: calc(50% - 20px);
}

.sp-home__hero-wrap .sp-home__arrow--prev {
    left: var(--space-3);
}

.sp-home__hero-wrap .sp-home__arrow--next {
    right: var(--space-3);
}

.sp-home__split--plate {
    grid-template-columns: 282px 214px minmax(0, 1fr);
}

.sp-home__split--plate-end {
    grid-template-columns: 214px minmax(0, 1fr) 282px;
}

.sp-home__plate {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    justify-content: space-between;
    min-height: 200px;
    padding: var(--space-6);
    box-sizing: border-box;
    border-radius: var(--radius-sm);
    background: var(--color-main-xlight-blue);
    color: var(--text-black);
    text-decoration: none;
}

.sp-home__plate:hover {
    background: var(--color-hover);
}

.sp-home__plate-title {
    font: var(--font-h2);
    text-transform: var(--heading-transform);
}

.sp-home__split .sp-home__rail .sp-sr__cell {
    flex-basis: 190px;
}

.sp-home__logos a,
.sp-home__logos > img {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    height: 96px;
    padding: var(--space-3);
    border: 1px solid var(--stroke-grey-light);
    border-radius: var(--radius-sm);
    background: var(--bg-white);
}

.sp-home__logos--small > img {
    object-fit: contain;
}

.sp-home__review img {
    display: block;
    width: 96px;
    height: 96px;
    margin-bottom: var(--space-3);
    border-radius: var(--radius-sm);
    object-fit: contain;
}

.sp-home__taste .sp-home__plate {
    min-height: 0;
}

.sp-home__consult {
    flex-wrap: wrap;
}

.sp-home__consult .sp-form-embed {
    flex: 1 1 360px;
    min-width: 0;
}

@media (max-width: 1279px) {
    .sp-home__split--plate,
    .sp-home__split--plate-end {
        grid-template-columns: 214px minmax(0, 1fr);
    }

    .sp-home__split--plate > .sp-home__plate,
    .sp-home__split--plate-end > .sp-home__plate {
        grid-column: 1 / -1;
        min-height: 0;
    }
}

/* Кадр 320: заголовок, ряд, под ним кнопка */
@media (max-width: 1023px) {
    .sp-home__split,
    .sp-home__split--plate,
    .sp-home__split--plate-end {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    .sp-home__intro {
        display: contents;
    }

    .sp-home__split .sp-home__rail {
        order: 1;
    }

    .sp-home__intro .sp-btn {
        align-self: flex-start;
        order: 2;
    }

    .sp-home__split > .sp-home__plate {
        order: 3;
    }
}

.sp-home__split--plate .sp-home__intro .sp-home__h2,
.sp-home__split--plate-end .sp-home__intro .sp-home__h2 {
    font: var(--font-h3);
    overflow-wrap: anywhere;
}

.sp-home__plate-title {
    font: var(--font-h3);
}

.sp-home__article-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2) var(--space-6);
    margin-bottom: var(--space-4);
}

.sp-home__article-tabs a {
    color: var(--text-dark-grey);
    font: var(--font-small-sb);
    text-decoration: none;
    text-transform: uppercase;
}

.sp-home__article-tabs a:hover {
    color: var(--text-black);
}

.sp-home__service {
    grid-template-columns: minmax(0, 1fr) 214px;
}

.sp-home__service .sp-home__rail .sp-sr__cell {
    flex: 0 0 100%;
}

.sp-home__service .sp-home__logos {
    margin: var(--space-3) 0;
}

.sp-home__consult {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    align-items: start;
}

.sp-home__consult p {
    margin: var(--space-3) 0 0;
}

@media (max-width: 1023px) {
    .sp-home__service,
    .sp-home__consult {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Сверка с кадром: отзыв парой товар и текст, сервис справа, мобильные разделы и статьи */
.sp-home__review {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: var(--space-1) var(--space-3);
    align-content: start;
}

.sp-home__review img {
    grid-row: span 3;
    margin-bottom: 0;
}

.sp-home__review > :not(img) {
    grid-column: 2;
}

.sp-home__reviews {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 1280px) {
    .sp-home__service {
        max-width: 792px;
        margin-left: auto;
    }
}

@media (max-width: 639px) {
    .sp-home__quick {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    .sp-home__quick a {
        padding: var(--space-3) 0;
        border-bottom: 1px solid var(--stroke-grey-light);
        border-radius: 0;
        background: none;
    }

    .sp-home__articles {
        display: flex;
        gap: var(--space-4);
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .sp-home__article {
        flex: 0 0 260px;
        scroll-snap-align: start;
    }
}

/* Инспектор на макет: сервис без дыры слева (обучения нет), карточка стандартной ширины, отзывы */
.sp-home__service {
    grid-template-columns: minmax(0, 1fr) 282px;
}

.sp-home__review:only-child {
    grid-column: 1 / -1;
}

@media (min-width: 1280px) {
    .sp-home__service {
        max-width: none;
        margin-left: 0;
    }
}

@media (max-width: 1023px) {
    .sp-home__service {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 639px) {
    .sp-home__reviews {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Главная: вкладки скидок, мини-карточки SCA, дата и закладка статей, левая часть консультаций */
.sp-home__tabs:has([data-sp-eq="3"]:checked) [data-sp-eq-panel="3"] {
    display: block;
}

.sp-home__split--sca .product-card__manufacturer a,
.sp-home__split--sca .product-card__info-list,
.sp-home__split--sca .product-card__reviews,
.sp-home__split--sca .product-card__footer,
.sp-home__split--sca .product-card__labels,
.sp-home__split--sca .product-card__controls {
    display: none;
}

.sp-home__split--sca .product-card {
    min-height: 0;
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
}

.sp-home__split--sca .product-card__head {
    display: block;
    height: auto;
    min-height: 0;
    margin: 0 0 var(--space-2);
}

.sp-home__split--sca .product-card__manufacturer {
    display: block;
    position: static;
    height: auto;
    margin: 0;
}

.sp-home__split--sca .product-card__title {
    position: static;
    margin: 0;
    padding: 0;
}

.sp-home__split--sca .product-card__state {
    position: static;
    display: inline-block;
    width: auto;
    max-width: none;
    margin: 0;
    overflow: visible;
}

.sp-home__split--sca .sp-home__rail {
    align-self: start;
    width: 100%;
    min-width: 0;
}

.sp-home__article {
    position: relative;
}

.sp-home__article-text {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.sp-home__article-text .sp-home__article-title {
    padding-right: var(--space-8);
}

.sp-home__article-meta {
    margin: auto 0 0;
    padding-top: var(--space-2);
    color: var(--text-dark-grey);
    font: var(--font-body-3);
}

.sp-home__article-fav {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    padding: 0;
    border: 0;
    background: none;
    color: inherit;
    cursor: pointer;
}

.sp-home__article-fav:hover,
.sp-home__article-fav.is-active {
    color: var(--color-main);
}

.sp-home__article-fav.is-active path {
    fill: currentColor;
}

.sp-home__consult {
    display: block;
    padding: 0;
    background: none;
}

.sp-home__consult-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    margin-top: var(--space-4);
    overflow: hidden;
    border: 1px solid var(--stroke-grey-light);
    border-radius: var(--radius-sm);
}

.sp-home__consult-side {
    display: flex;
    flex-direction: column;
    color: var(--text-black);
    text-decoration: none;
    border-right: 1px solid var(--stroke-grey-light);
}

.sp-home__consult-side img {
    display: block;
    width: 100%;
    height: 320px;
    object-fit: cover;
}

.sp-home__consult-name {
    padding: var(--space-6) var(--space-6) 0;
    font: var(--font-h3);
    text-transform: uppercase;
}

.sp-home__consult-text {
    padding: var(--space-2) var(--space-6) var(--space-6);
    color: var(--text-dark-grey);
    font: var(--font-body-3);
}

.sp-home__consult-card .sp-form-root {
    padding: 0;
    background: none;
}

.sp-home__consult-card .sp-form-embed {
    max-width: none;
    margin: 0;
    padding: var(--space-6);
    border: 0;
    border-radius: 0;
}

@media (max-width: 1023px) {
    .sp-home__consult {
        display: block;
    }

    .sp-home__consult-card {
        grid-template-columns: minmax(0, 1fr);
    }

    .sp-home__consult-side {
        border-right: 0;
        border-bottom: 1px solid var(--stroke-grey-light);
    }

    .sp-home__consult-side img {
        height: 200px;
    }
}

/* мини-карточки SCA: карточка sp-cd */
.sp-home__split--sca .sp-cd__tags,
.sp-home__split--sca .sp-cd__fav,
.sp-home__split--sca .sp-cd__info,
.sp-home__split--sca .sp-cd__rating,
.sp-home__split--sca .sp-cd__variants,
.sp-home__split--sca .sp-cd__bottom,
.sp-home__split--sca .sp-cd__brand {
    display: none;
}

.sp-home__split--sca [data-sp-block="product-card"] {
    height: auto;
    min-height: 0;
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
}

.sp-home__split--sca .sp-cd__meta {
    justify-content: flex-start;
    margin: 0 0 var(--space-2);
}

.sp-home__split--sca .sp-cd__chip {
    flex: 0 0 auto;
    max-width: none;
}

/* дескрипторы картинками */
.sp-home__desc {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-4);
    margin-bottom: var(--space-4);
}

.sp-home__desc a {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    align-items: center;
    color: var(--text-black);
    font: var(--font-small-sb);
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
}

.sp-home__desc img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: contain;
}

@media (max-width: 639px) {
    .sp-home__desc {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Кадр: дескрипторы в три колонки, плашка на две; мобильный порядок и ленты */
.sp-home__desc {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sp-home__desc .sp-home__plate {
    grid-column: span 2;
    margin: 0;
}

@media (max-width: 1023px) {
    .sp-home__split--plate > .sp-home__plate {
        order: -1;
    }
}

@media (max-width: 639px) {
    .sp-home__desc {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sp-home__roasters .sp-home__logos,
    .sp-home__countries {
        display: flex;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .sp-home__roasters .sp-home__logos > * {
        flex: 0 0 40%;
    }

    .sp-home__country {
        flex: 0 0 150px;
    }

    .sp-home__countries .sp-home__plate {
        flex: 0 0 230px;
    }
}

/* одна карточка в ряду занимает всю ширину, без дыры */
.sp-home__card:only-child {
    grid-column: 1 / -1;
}

/* плитки быстрых ссылок со значком, шоу-рум без растяжки */
.sp-home__quick a {
    display: flex;
    gap: var(--space-3);
    align-items: center;
    justify-content: space-between;
}

.sp-home__taste {
    align-items: start;
}

/* значки из старых шаблонов разной яркости: единый чёрный контур */
.sp-home__quick img {
    filter: brightness(0);
}

.sp-home__brand-name {
    display: inline-flex;
    align-items: center;
    font: var(--font-small-sb);
    text-transform: uppercase;
}

.sp-home__panel-photo {
    width: 100%;
    height: 180px;
    border-radius: var(--radius-sm);
    object-fit: cover;
}

/* Пачка 04.11 по кадрам 1440 и 390 */
.sp-home__logos--small > img {
    width: 100%;
}

.sp-home__roasters .sp-home__panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--space-4);
    align-content: start;
}

.sp-home__roasters .sp-home__panel-title {
    font: var(--font-h3);
    text-transform: uppercase;
    overflow-wrap: anywhere;
}

.sp-home__roasters .sp-home__panel .sp-btn {
    grid-column: 1 / -1;
    justify-self: stretch;
}

.sp-home__taste:has(.sp-home__panel-photo) {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.sp-home__taste .sp-home__panel:has(.sp-home__panel-photo) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-auto-rows: min-content;
    column-gap: var(--space-5);
    align-content: center;
    overflow: hidden;
    padding: var(--space-6) 0 var(--space-6) var(--space-6);
}

.sp-home__taste .sp-home__panel:has(.sp-home__panel-photo) > * {
    grid-column: 1;
}

.sp-home__taste .sp-home__panel > .sp-home__panel-photo {
    grid-column: 2;
    grid-row: 1 / span 6;
    align-self: stretch;
    height: calc(100% + 2 * var(--space-6));
    min-height: 320px;
    margin: calc(-1 * var(--space-6)) 0;
    border-radius: 0;
}

.sp-home__consult--leasing {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    column-gap: var(--space-6);
    align-items: stretch;
}

.sp-home__consult--leasing > .sp-home__h2 {
    grid-row: 1;
}

.sp-home__consult--leasing .sp-home__consult-card {
    grid-row: 2;
}

.sp-home__consult--leasing .sp-home__leasing-h2 {
    grid-column: 2;
}

.sp-home__leasing {
    display: flex;
    grid-row: 2;
    flex-direction: column;
    gap: var(--space-4);
    justify-content: space-between;
    box-sizing: border-box;
    margin-top: var(--space-4);
    padding: var(--space-6);
    border-radius: var(--radius-sm);
    background: var(--color-main-xlight-blue);
    color: var(--text-black);
    text-decoration: none;
}

.sp-home__leasing-title {
    font: var(--font-h3);
    text-transform: uppercase;
}

.sp-home__leasing img {
    width: 100%;
    max-height: 220px;
    object-fit: contain;
}

.sp-home__leasing .sp-home__more {
    align-self: flex-end;
}

@media (max-width: 1023px) {
    .sp-home__consult--leasing {
        grid-template-columns: minmax(0, 1fr);
    }

    .sp-home__consult--leasing .sp-home__leasing-h2,
    .sp-home__leasing {
        grid-column: 1;
        grid-row: auto;
    }

    .sp-home__consult--leasing .sp-home__leasing-h2 {
        margin-top: var(--space-8);
    }

    .sp-home__countries {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sp-home__countries > .sp-home__plate {
        grid-column: 1 / -1;
    }

    .sp-home__quick {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 639px) {
    .sp-home__h2 {
        font-size: 28px;
        line-height: 1.2;
    }

    .sp-home__intro .sp-btn {
        align-self: stretch;
        order: 2;
    }

    .sp-home__roasters .sp-home__panel,
    .sp-home__taste .sp-home__panel:has(.sp-home__panel-photo) {
        grid-template-columns: minmax(0, 1fr);
    }

    .sp-home__taste .sp-home__panel:has(.sp-home__panel-photo) {
        padding: var(--space-6);
    }

    .sp-home__taste .sp-home__panel > .sp-home__panel-photo {
        grid-column: 1;
        grid-row: auto;
        height: 200px;
        min-height: 0;
        margin: 0;
        border-radius: var(--radius-sm);
    }

    .sp-home__quick {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* заголовок 28 px и ссылка «Перейти в каталог» на телефоне не помещаются в строку */
@media (max-width: 639px) {
    .sp-home__head {
        flex-wrap: wrap;
    }
}

/* Пачка 06.11 по сверке с кадром 5446:296000 (1440 и 390) */
/* дескрипторы и шоу-рум на планшете и телефоне одной колонкой: правило блока с фото шоу-рума перебивало одноколоночный вид */
@media (max-width: 1023px) {
    .sp-home__taste:has(.sp-home__panel-photo) {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* ритм кадра: между секциями 100-135 px, от заголовка до содержимого ~40 */
.sp-home > :is(.sp-home__top, .sp-home__quick, section):not(:last-child) {
    margin-bottom: var(--space-24);
}

.sp-home .sp-home__head {
    margin-bottom: var(--space-10);
}

@media (max-width: 1023px) {
    .sp-home > :is(.sp-home__top, .sp-home__quick, section):not(:last-child) {
        margin-bottom: var(--space-16);
    }
}

@media (max-width: 639px) {
    .sp-home > :is(.sp-home__top, .sp-home__quick, section):not(:last-child) {
        margin-bottom: var(--space-12);
    }

    .sp-home .sp-home__head {
        margin-bottom: var(--space-6);
    }
}

/* подборки у плашки: заголовок H2 как у остальных секций (кадр ~30 px), колонка заголовка 260 */
@media (min-width: 1280px) {
    .sp-home__split--plate {
        grid-template-columns: 282px 260px minmax(0, 1fr);
    }

    .sp-home__split--plate-end {
        grid-template-columns: 260px minmax(0, 1fr) 282px;
    }

    .sp-home__split--plate > .sp-home__plate,
    .sp-home__split--plate-end > .sp-home__plate {
        align-self: stretch;
        min-height: 374px;
    }
}

@media (min-width: 1280px), (max-width: 1023px) {
    .sp-home__split--plate .sp-home__intro .sp-home__h2,
    .sp-home__split--plate-end .sp-home__intro .sp-home__h2 {
        font: var(--font-h2);
        overflow-wrap: normal;
    }
}

@media (max-width: 639px) {
    .sp-home__split--plate .sp-home__intro .sp-home__h2,
    .sp-home__split--plate-end .sp-home__intro .sp-home__h2 {
        font-size: 28px;
        line-height: 1.2;
    }
}

.sp-home__plate .sp-home__more {
    display: inline-flex;
    gap: var(--space-1);
    align-items: center;
}

.sp-home__plate-arrow {
    transform: rotate(-90deg);
}

/* обжарщики: заголовок на всю ширину, логотипы 5 в ряд, «Посмотреть всех» справа под ними, «Ищем новые вкусы» справа на уровне логотипов */
@media (min-width: 1024px) {
    .sp-home__roasters:has(> .sp-home__panel) {
        grid-template-columns: minmax(0, 1fr) 486px;
        row-gap: var(--space-4);
    }

    .sp-home__roasters:has(> .sp-home__panel) > div:first-child {
        display: contents;
    }

    .sp-home__roasters:has(> .sp-home__panel) .sp-home__h2 {
        grid-column: 1 / -1;
    }

    .sp-home__roasters:has(> .sp-home__panel) .sp-home__logos {
        grid-column: 1;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        margin: 0;
    }

    .sp-home__roasters:has(> .sp-home__panel) > div:first-child > .sp-home__more {
        grid-column: 1;
        justify-self: end;
    }

    .sp-home__roasters > .sp-home__panel {
        grid-column: 2;
        grid-row: 2 / span 2;
        align-self: start;
    }
}

/* полная карточка каталога в рядах: на телефоне в кадре 320 видна одна карточка и край следующей (~270 при 390) */
@media (max-width: 639px) {
    .sp-home .sp-home__rail .sp-sr__cell {
        flex-basis: 270px;
    }
}

/* Пачка 2, 06.11 */
/* быстрые ссылки по кадру 1440: без плиток, текст и значок справа от него */
@media (min-width: 1024px) {
    .sp-home__quick a {
        justify-content: flex-start;
        gap: var(--space-4);
        padding: var(--space-2) 0;
        background: none;
    }

    .sp-home__quick a:hover {
        color: var(--color-main);
    }

    .sp-home__quick img {
        width: 48px;
        height: 48px;
    }
}

/* «Кофе со скидкой» и статьи: ссылка раздела внизу справа, как в кадре */
.sp-home__sec:is([aria-labelledby="sp-home-discount"], [aria-labelledby="sp-home-blog"]) {
    display: flex;
    flex-direction: column;
}

.sp-home__sec:is([aria-labelledby="sp-home-discount"], [aria-labelledby="sp-home-blog"]) > .sp-home__head {
    display: contents;
}

.sp-home__sec:is([aria-labelledby="sp-home-discount"], [aria-labelledby="sp-home-blog"]) > .sp-home__head > .sp-home__h2 {
    margin-bottom: var(--space-10);
}

.sp-home__sec:is([aria-labelledby="sp-home-discount"], [aria-labelledby="sp-home-blog"]) > .sp-home__head > .sp-home__more {
    order: 99;
    align-self: flex-end;
    margin-top: var(--space-6);
}

@media (max-width: 639px) {
    .sp-home__sec:is([aria-labelledby="sp-home-discount"], [aria-labelledby="sp-home-blog"]) > .sp-home__head > .sp-home__h2 {
        margin-bottom: var(--space-6);
    }

    /* «Сервисный центр» на телефоне полосой на всю ширину экрана, логотипы без плиток */
    .sp-home__service {
        margin-right: -16px;
        margin-left: -16px;
        padding-right: 16px;
        padding-left: 16px;
        border-radius: 0;
    }

    .sp-home__service .sp-home__logos--small > img {
        border: 0;
        background: none;
    }
}

/* Проверка в Chrome 06.11 */
/* полоса «Кофемолок»: фон на всю ширину окна без 100vw (100vw шире окна на полосу прокрутки - горизонтальная прокрутка на Windows) */
.sp-home__band {
    width: auto;
    margin-right: 0;
    margin-left: 0;
    padding-right: 0;
    padding-left: 0;
    box-shadow: 0 0 0 100vmax var(--color-main-xlight-blue);
    clip-path: inset(0 -100vmax);
}

/* планшет: «Сервисный центр» - текст и логотипы слева, карточка стандартной ширины справа */
@media (min-width: 640px) and (max-width: 1023px) {
    .sp-home__service {
        grid-template-columns: minmax(0, 1fr) 282px;
        align-items: start;
    }

    /* «Кофе разных стран»: четыре страны в ряд, плашка статьи под ними без растяжки */
    .sp-home__countries {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .sp-home__countries > .sp-home__plate {
        grid-column: 1 / -1;
        min-height: 0;
    }
}

/* логотипы брендов сервиса ссылками: плитка ссылки, на телефоне без плиток */
@media (max-width: 639px) {
    .sp-home__service .sp-home__logos--small > a {
        border: 0;
        background: none;
    }
}

/* «Популярные подборки» без своего нижнего отступа: ритм задают секции */
.sp-home__sec > .sp-home__links {
    margin-top: var(--space-6);
    margin-bottom: 0;
}

.sp-home__sec > .sp-home__links + .sp-home__links {
    margin-top: var(--space-10);
}