.main-lazy-block {
    min-height: 0;
    content-visibility: auto;
    contain-intrinsic-size: auto 360px;
}

.main-lazy-block + .main-lazy-block {
    margin-top: calc(93px + 47 * var(--vw-f));
}

.main-lazy-block[data-block-type="15"] {
    contain-intrinsic-size: auto 540px;
}

.main-lazy-block[data-block-type="16"] {
    contain-intrinsic-size: auto 520px;
}

.main-lazy-block[data-block-type="18"] {
    contain-intrinsic-size: auto 720px;
}

.main-lazy-block[data-block-type="19"] {
    contain-intrinsic-size: auto 760px;
}

.main-lazy-block[data-block-type="23"] {
    contain-intrinsic-size: auto 600px;
}

.main-lazy-block[data-block-type="26"] {
    contain-intrinsic-size: auto 760px;
}

.main-lazy-block[data-block-type="28"] {
    contain-intrinsic-size: auto 550px;
}

.main-lazy-block[data-state="loaded"],
.main-lazy-block[data-state="empty"] {
    contain-intrinsic-size: none;
}

.main-lazy-block[data-state="empty"] {
    display: none;
}

.main-lazy-block--revealing {
    animation: main-lazy-block-reveal .6s cubic-bezier(.22, 1, .36, 1) both;
    will-change: opacity, transform;
}

.main-lazy-shimmer {
    box-sizing: border-box;
    width: 100%;
    padding: 0 calc(160px + 80 * var(--vw-f));
}

.main-lazy-shimmer__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: calc(27px + 13 * var(--vw-f));
}

.main-lazy-shimmer__title {
    width: min(46%, 620px);
    height: calc(30px + 10 * var(--vw-f));
    border-radius: 10px;
}

.main-lazy-shimmer__header-action {
    width: 84px;
    height: 40px;
    border-radius: 12px;
}

.main-lazy-shimmer__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: calc(16px + 8 * var(--vw-f));
}

.main-lazy-shimmer__item {
    position: relative;
    min-width: 0;
}

.main-lazy-shimmer__surface {
    display: block;
    overflow: hidden;
    background: linear-gradient(100deg, #efedf3 20%, #faf9fc 38%, #efedf3 56%);
    background-size: 240% 100%;
    animation: main-lazy-shimmer 1.35s ease-in-out infinite;
}

.main-lazy-shimmer__media {
    width: 100%;
    aspect-ratio: 1.45;
    border-radius: 20px;
}

.main-lazy-shimmer__badge {
    position: absolute;
    top: 12px;
    left: 12px;
    width: 34%;
    height: 20px;
    border-radius: 8px;
}

.main-lazy-shimmer__line {
    height: 18px;
    margin-top: 16px;
    border-radius: 7px;
}

.main-lazy-shimmer__line--wide {
    width: 88%;
}

.main-lazy-shimmer__line--short {
    width: 62%;
    margin-top: 8px;
}

.main-lazy-shimmer__meta {
    width: 38%;
    height: 24px;
    margin-top: 18px;
    border-radius: 8px;
}

.main-lazy-shimmer__button {
    width: 52%;
    height: 42px;
    margin-top: 18px;
    border-radius: 12px;
}

/* Type 15: product carousel. */
.main-lazy-shimmer--type-15 .main-lazy-shimmer__grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.main-lazy-shimmer--type-15 .main-lazy-shimmer__media {
    aspect-ratio: 1;
    border-radius: 0;
}

.main-lazy-shimmer--type-15 .main-lazy-shimmer__item:nth-child(6) {
    display: none;
}

/* Type 16: promo banner and product cards. */
.main-lazy-shimmer--type-16 .main-lazy-shimmer__grid {
    grid-template-columns: 2fr repeat(4, minmax(0, .72fr));
    align-items: start;
}

.main-lazy-shimmer--type-16 .main-lazy-shimmer__item:first-child .main-lazy-shimmer__media {
    aspect-ratio: 1.18;
}

.main-lazy-shimmer--type-16 .main-lazy-shimmer__item:first-child > :not(.main-lazy-shimmer__media),
.main-lazy-shimmer--type-16 .main-lazy-shimmer__item:nth-child(6) {
    display: none;
}

.main-lazy-shimmer--type-16 .main-lazy-shimmer__item:not(:first-child) .main-lazy-shimmer__media {
    aspect-ratio: .78;
    border-radius: 8px;
}

/* Type 18: two large service banners. */
.main-lazy-shimmer--type-18 .main-lazy-shimmer__header,
.main-lazy-shimmer--type-18 .main-lazy-shimmer__item > :not(.main-lazy-shimmer__media) {
    display: none;
}

.main-lazy-shimmer--type-18 .main-lazy-shimmer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: calc(12px + 12 * var(--vw-f));
}

.main-lazy-shimmer--type-18 .main-lazy-shimmer__item:nth-child(n + 3) {
    display: none;
}

.main-lazy-shimmer--type-18 .main-lazy-shimmer__media {
    aspect-ratio: .9;
    border-radius: 12px;
}

/* Type 19: customer reviews. */
.main-lazy-shimmer--type-19 .main-lazy-shimmer__grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.main-lazy-shimmer--type-19 .main-lazy-shimmer__item:nth-child(6) {
    display: none;
}

.main-lazy-shimmer--type-19 .main-lazy-shimmer__media {
    aspect-ratio: .68;
    border-radius: 12px;
}

.main-lazy-shimmer--type-19 .main-lazy-shimmer__badge {
    position: static;
    width: 100%;
    height: 70px;
    margin-top: 16px;
    border-radius: 12px;
}

.main-lazy-shimmer--type-19 .main-lazy-shimmer__meta {
    width: 46%;
    height: 18px;
}

.main-lazy-shimmer--type-19 .main-lazy-shimmer__button {
    display: none;
}

/* Type 23: blog cards. */
.main-lazy-shimmer--type-23 .main-lazy-shimmer__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.main-lazy-shimmer--type-23 .main-lazy-shimmer__item:nth-child(n + 4) {
    display: none;
}

.main-lazy-shimmer--type-23 .main-lazy-shimmer__media {
    aspect-ratio: 1.55;
    border-radius: 18px;
}

.main-lazy-shimmer--type-23 .main-lazy-shimmer__badge,
.main-lazy-shimmer--type-23 .main-lazy-shimmer__button {
    display: none;
}

.main-lazy-shimmer--type-23 .main-lazy-shimmer__meta {
    width: 30%;
    height: 16px;
    margin-top: 24px;
}

.main-lazy-shimmer--type-23 .main-lazy-shimmer__line {
    height: 24px;
}

/* Type 28: selections carousel. */
.main-lazy-shimmer--type-28 .main-lazy-shimmer__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: calc(8px + 4 * var(--vw-f));
}

.main-lazy-shimmer--type-28 .main-lazy-shimmer__media {
    aspect-ratio: .72;
    border-radius: 24px;
}

.main-lazy-shimmer--type-28 .main-lazy-shimmer__badge {
    top: auto;
    bottom: 62px;
    width: 42%;
    height: 28px;
    border-radius: 14px;
}

.main-lazy-shimmer--type-28 .main-lazy-shimmer__line {
    height: 22px;
}

.main-lazy-shimmer--type-28 .main-lazy-shimmer__line--short,
.main-lazy-shimmer--type-28 .main-lazy-shimmer__meta,
.main-lazy-shimmer--type-28 .main-lazy-shimmer__button {
    display: none;
}

/* Type 26: two-column promo mosaic. */
.main-lazy-shimmer--type-26 .main-lazy-shimmer__header,
.main-lazy-shimmer--type-26 .main-lazy-shimmer__item > :not(.main-lazy-shimmer__media) {
    display: none;
}

.main-lazy-shimmer--type-26 .main-lazy-shimmer__grid {
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
    grid-template-rows: repeat(2, 340px);
    gap: 24px;
}

.main-lazy-shimmer--type-26 .main-lazy-shimmer__item:nth-child(3) {
    grid-column: 2;
    grid-row: 1 / 3;
}

.main-lazy-shimmer--type-26 .main-lazy-shimmer__item:nth-child(n + 4) {
    display: none;
}

.main-lazy-shimmer--type-26 .main-lazy-shimmer__media {
    height: 100%;
    aspect-ratio: auto;
    border-radius: 14px;
}

.main-lazy-block[data-state="error"] .main-lazy-shimmer__surface {
    animation: none;
    opacity: .55;
}

@keyframes main-lazy-shimmer {
    0% {
        background-position: 100% 0;
    }

    100% {
        background-position: -100% 0;
    }
}

@keyframes main-lazy-block-reveal {
    0% {
        opacity: 0;
        transform: translateY(18px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .main-lazy-shimmer__surface {
        animation: none;
    }

    .main-lazy-block--revealing {
        animation: none;
    }
}

@media (max-width: 767px) {
    .main-lazy-block {
        contain-intrinsic-size: auto 400px;
    }

    .main-lazy-block + .main-lazy-block {
        margin-top: 60px;
    }

    .main-lazy-block .page__block:first-child {
        margin-top: 0;
    }

    .main-lazy-shimmer {
        padding: 0 15px;
    }

    .main-lazy-shimmer__header {
        margin-bottom: 20px;
    }

    .main-lazy-shimmer__title {
        width: 68%;
        height: 28px;
        border-radius: 8px;
    }

    .main-lazy-shimmer__header-action {
        width: 52px;
        height: 32px;
    }

    .main-lazy-shimmer__grid,
    .main-lazy-shimmer--type-15 .main-lazy-shimmer__grid,
    .main-lazy-shimmer--type-19 .main-lazy-shimmer__grid,
    .main-lazy-shimmer--type-28 .main-lazy-shimmer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .main-lazy-shimmer--type-15 .main-lazy-shimmer__item:nth-child(n + 3),
    .main-lazy-shimmer--type-19 .main-lazy-shimmer__item:nth-child(n + 3),
    .main-lazy-shimmer--type-28 .main-lazy-shimmer__item:nth-child(n + 3) {
        display: none;
    }

    .main-lazy-shimmer--type-16 .main-lazy-shimmer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .main-lazy-shimmer--type-16 .main-lazy-shimmer__item:first-child {
        grid-column: 1 / 3;
    }

    .main-lazy-shimmer--type-16 .main-lazy-shimmer__item:nth-child(n + 4) {
        display: none;
    }

    .main-lazy-shimmer--type-16 .main-lazy-shimmer__item:first-child .main-lazy-shimmer__media {
        aspect-ratio: 1.55;
    }

    .main-lazy-shimmer--type-18 .main-lazy-shimmer__grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .main-lazy-shimmer--type-18 .main-lazy-shimmer__media {
        aspect-ratio: 1.05;
    }

    .main-lazy-shimmer--type-23 .main-lazy-shimmer__grid {
        grid-template-columns: 1fr;
    }

    .main-lazy-shimmer--type-23 .main-lazy-shimmer__item:nth-child(n + 2) {
        display: none;
    }

    .main-lazy-shimmer--type-28 .main-lazy-shimmer__media {
        border-radius: 16px;
    }

    .main-lazy-shimmer--type-26 .main-lazy-shimmer__grid {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(2, 280px);
        gap: 12px;
    }

    .main-lazy-shimmer--type-26 .main-lazy-shimmer__item:nth-child(3) {
        display: none;
    }

    .main-lazy-shimmer--type-26 .main-lazy-shimmer__item:nth-child(1),
    .main-lazy-shimmer--type-26 .main-lazy-shimmer__item:nth-child(2) {
        grid-column: 1;
        grid-row: auto;
    }
}
