.balobal-editorial-banner,
.balobal-dual-showcase,
.balobal-image-text-feature,
.balobal-service-links,
.balobal-brand-links,
.balobal-editorial-links {
    overflow-wrap: anywhere;
}

.balobal-editorial-banner {
    position: relative;
    margin-top: 40px;
}

.balobal-editorial-banner .campaign-copy {
    top: 7%;
    gap: clamp(14px, 1.5vw, 24px);
    max-height: 86%;
    overflow: auto;
}

.balobal-editorial-banner .campaign-copy > p {
    max-width: 40rem;
}

.balobal-editorial-banner.balobal-copy-light .campaign-copy {
    color: #fff;
    text-shadow: 0 1px 8px #0008;
}

.balobal-editorial-banner .button {
    text-shadow: none;
    text-transform: uppercase;
}

.balobal-editorial-banner.balobal-copy-center .campaign-copy {
    top: 50%;
    transform: translateY(-50%);
}

.balobal-editorial-banner.balobal-copy-bottom .campaign-copy {
    top: auto;
    bottom: 7%;
}

.balobal-editorial-banner.balobal-copy-left .campaign-copy {
    align-items: flex-start;
    text-align: left;
    padding-inline: 4%;
}

.balobal-campaign-carousel .balobal-campaign-lead {
    display: grid;
    position: relative;
    align-items: center;
    text-align: center;
    background: #eeeae4;
    color: #26221c;
    overflow-wrap: anywhere;
}

.balobal-campaign-lead > img {
    position: absolute;
    inset: 0;
}

.balobal-campaign-lead > div {
    display: grid;
    justify-items: center;
    gap: 12px;
    position: relative;
    padding: 20px 12px;
}

.balobal-campaign-lead:has(> img) > div {
    margin: 12px;
    background: #fffef0e8;
}

.balobal-campaign-lead h2 {
    font: 300 clamp(22px, 2.5vw, 40px)/1.1 var(--font-serif);
}

.balobal-campaign-lead p {
    font-size: 13px;
}

.balobal-image-text-feature {
    min-height: clamp(234px, 20.7vw, 440px);
}

.balobal-image-text-feature picture,
.balobal-dual-showcase > picture {
    min-width: 0;
    position: relative;
}

.balobal-image-text-feature picture img,
.balobal-dual-showcase > picture img {
    display: block;
    width: 100%;
}

.balobal-dual-showcase .kids-copy > h2,
.balobal-image-text-feature h2 {
    max-width: 16ch;
    white-space: pre-line;
}

.balobal-dual-showcase .text-link,
.balobal-image-text-feature .text-link {
    text-transform: uppercase;
}

.balobal-dual-showcase.balobal-showcase-single .kids-copy {
    justify-content: center;
    padding-bottom: 35px;
}

.balobal-service-links {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.balobal-service-links a:not([href]):hover p {
    text-decoration: none;
}

.balobal-service-links img {
    width: 32px;
    height: 32px;
    object-fit: contain;
    margin: 0 auto 12px;
}

.balobal-brand-links > div {
    flex-wrap: wrap;
    align-items: center;
}

.balobal-brand-links img {
    width: 140px;
    height: 36px;
    object-fit: contain;
    margin: auto;
}

.balobal-editorial-links.balobal-editorial-single.editorial-pair {
    grid-template-columns: minmax(0, 1fr);
}

.balobal-editorial-links.editorial-pair > a > span {
    min-height: max(36px, 4.5%);
    height: auto;
    padding: 8px 12px;
}

.balobal-editorial-links .stock-card p {
    font-size: 13px;
    text-align: center;
    margin-top: 8px;
}

.balobal-directory-links {
    padding: 0;
    margin-top: 44px;
}

.balobal-directory-links .section-heading {
    text-align: start;
}

.balobal-promo-links {
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
    overflow-wrap: anywhere;
}

.site-footer:not(:has(.social-links)) {
    grid-template-columns: minmax(0, 1fr);
}

.site-footer .social-links {
    flex-wrap: wrap;
    align-items: start;
    margin-top: 0;
    font-size: 11px;
}

.site-footer .social-links a:hover {
    text-decoration: underline;
}

.product-editorial-story .detail-content {
    padding: 0;
}

@media (min-width: 768px) {
    .balobal-image-text-feature picture img,
    .balobal-dual-showcase > picture img {
        position: absolute;
        inset: 0;
    }

    .balobal-dual-showcase > picture {
        aspect-ratio: 4 / 5;
    }
}

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

    .balobal-editorial-banner {
        margin-top: 30px;
    }

    .balobal-editorial-banner picture img {
        aspect-ratio: 4 / 5;
        object-fit: cover;
    }

    .balobal-editorial-banner .campaign-copy {
        top: 4%;
    }

    .balobal-editorial-banner .campaign-copy > p {
        font-size: 13px;
    }

    .balobal-editorial-banner.balobal-copy-split .campaign-copy {
        inset: 4% 0;
        max-height: 92%;
        justify-content: space-between;
    }

    .balobal-editorial-banner.balobal-banner-desktop,
    .balobal-editorial-banner .balobal-banner-desktop {
        display: none;
    }

    .balobal-editorial-links.editorial-pair > a > span {
        min-height: max(36px, 9%);
    }

    .balobal-campaign-lead > div {
        padding-inline: 20px;
    }

    .balobal-dual-showcase > picture img {
        aspect-ratio: 4 / 5;
        object-fit: cover;
    }

    .balobal-image-text-feature picture img {
        aspect-ratio: 3 / 1;
        object-fit: cover;
    }

    .balobal-image-text-feature picture:has(source) img {
        aspect-ratio: 1;
    }
}

.technical-overview[hidden],
.technical-overview dl > div[hidden] {
    display: none;
}

.balobal-editorial-links .stock-card h3,
.balobal-editorial-links.editorial-pair > a > span,
.balobal-directory-links .style-tile > span,
.collection-feature > div > span,
.balobal-campaign-carousel .card-title {
    text-transform: uppercase;
}

.balobal-directory-links,
.collection-feature,
.balobal-campaign-carousel .card-title {
    overflow-wrap: anywhere;
}

@media (max-width: 767px) {
    .balobal-directory-links .style-tile:last-child:nth-child(even) {
        grid-column: auto;
    }

    .balobal-directory-links .style-tile:last-child:nth-child(even) img {
        aspect-ratio: 3 / 4;
    }
}
