/*
 * Ad zone layout and slot styling
 */
.home-ad-zone {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
    gap: 24px;
}

.home-ad-zone--top {
    margin-top: 0;
    margin-bottom: 24px;
}

.home-mobile-header-adsense-anchor {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 0 16px;
}

.home-mobile-header-adsense-anchor .ad-slot--home-mobile-header {
    width: 100%;
    max-width: 336px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
}

.home-mobile-header-adsense-anchor .ad-slot--home-mobile-header > * {
    width: auto;
    margin: 0;
}

.home-ad-zone--bottom {
    margin-top: 24px;
}

.home-billboard-anchor,
.home-bottom-billboard-anchor {
    width: 100%;
    max-width: 970px;
}

.footer-mobile-adsense-anchor {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 0 16px;
}

.ad-slot--footer-mobile {
    width: 100%;
    max-width: 336px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
}

.ad-slot--footer-mobile > * {
    width: auto;
    margin: 0;
}

.mobile-footer-test {
    width: 100%;
    max-width: 320px;
    margin: 0 auto;
    text-align: center;
}

.mobile-footer-test__creative {
    width: 100%;
    max-width: 320px;
    min-height: 250px;
    border-radius: 12px;
    background: linear-gradient(135deg, #10141c, #1e2a3f);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-family: 'Lato', sans-serif;
}

.mobile-footer-test .ad-label {
    display: block;
    margin-top: 6px;
    font-size: 12px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    opacity: 0.7;
}

.item-rail-wrapper {
    --home-rail-width: 300px;
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 24px;
    width: 100%;
    max-width: calc(1170px + (var(--home-rail-width) * 2) + 48px);
    margin: 0 auto;
}

.home-rail-zone {
    display: flex;
    align-items: stretch;
}

.home-rail-zone--left {
    flex: 0 0 var(--home-rail-width);
    padding-top: 20px;
    display: block;
    align-self: flex-start;
    position: relative;
}

.home-rail-zone--right {
    flex: 0 0 var(--home-rail-width);
    padding-top: 20px;
}

.home-rail-zone--content {
    flex: 0 1 1170px;
    width: 100%;
    min-width: 0;
}

.home-rail-zone--content .item-wrapper {
    flex: 1 1 auto;
    width: 100%;
}

.home-left-rail-anchor,
.home-right-rail-anchor {
    width: 100%;
    align-self: flex-start;
    position: relative;
    margin-top: 0;
    transform: translate3d(0, 0, 0);
    will-change: transform;
}

.home-billboard-slot {
    max-width: 970px;
    margin: 0 auto;
    padding: 0;
    display: none;
}

.home-billboard-slot__inner {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.home-billboard-slot__container {
    width: 100%;
}

.home-billboard-slot.has-ad {
    display: block;
    margin-top: 10px;
    margin-bottom: 30px;
}

.home-billboard-test {
    max-width: 970px;
    margin: 0 auto;
    text-align: center;
}

.home-billboard-test img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
}

.home-billboard-test .ad-label {
    display: block;
    margin-top: 6px;
    font-size: 12px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    opacity: 0.7;
}

.home-left-rail-slot,
.home-left-rail-slot__inner,
.home-left-rail-slot__container,
.home-right-rail-slot,
.home-right-rail-slot__inner,
.home-right-rail-slot__container {
    width: 100%;
}

@media (max-width: 1199px) {
    .item-rail-wrapper {
        display: block;
    }
    .home-rail-zone {
        width: 100%;
    }
    .home-rail-zone--left {
        padding-top: 0;
        margin-bottom: 32px;
    }
    .home-rail-zone--right {
        display: none;
    }
    .home-left-rail-anchor,
    .home-right-rail-anchor {
        width: 100%;
        position: static;
        margin: 0;
        transform: none;
    }
    .home-ad-zone--top {
        margin-top: 80px;
    }
    body.home .section.posts.padding-sm-60 {
        padding-top: 140px;
    }
    .home-left-rail-slot,
    .home-left-rail-slot__inner,
    .home-left-rail-slot__container,
    .home-right-rail-slot,
    .home-right-rail-slot__inner,
    .home-right-rail-slot__container {
        width: 100%;
    }
}

@media (max-width: 1024px) {
    .home-billboard-slot.has-ad {
        padding-left: 16px;
        padding-right: 16px;
    }
}

@media (min-width: 1200px) {
    .section.posts .container {
        width: 100%;
        max-width: calc(1170px + 2 * 300px + 48px);
        padding-left: 0;
        padding-right: 0;
    }
}
