:root {
}

/* 控制 start */
.is-mobile {
    display: block;
}
.is-desktop {
    display: none;
}
/* 控制 end */

/* icon start */
[class^="xqbj-icon-"] {
    background-size: 100% 100%;
    background-repeat: no-repeat;
}
/* icon end */

/* H5 start */
.xqbj-icon-back {
    width: 1.625rem;
    height: 1.625rem;
}

.xqbj-recommand-list-cotainer {
    margin-bottom: 0.875rem;
}

.xqbj-recommand-list-cotainer.case-index {
    margin-bottom: 0.2rem;
}

.recommand-wrapper {
    position: relative;
    border-block: 0.8438rem solid transparent;
    border-inline: 0.5938rem solid transparent;
    outline: 0.0625rem solid #555;
    background: rgba(255, 255, 255, 0.04);
    font-size: 0.75rem;
    border-radius: 1rem;
    --line-clamp: 3;
    --recommand-item-title-margin-top: 0.2188rem;
}

.xqbj-recommand-list-cotainer .xqbj-recommand-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    /* margin-block: .7188rem; */
    margin-top: 1.5625rem;
    margin-bottom: 0.875rem;
}

.xqbj-recommand-list-cotainer.case-index .xqbj-recommand-title {
    margin-top: 0;
    margin-bottom: 0.625rem;
}

.xqbj-recommand-list-cotainer .xqbj-recommand-title > h2 {
    font-weight: 600;
    font-size: 1rem;
}

.xqbj-recommand-list {
    display: flex;
    flex-wrap: nowrap;
}

.xqbj-recommand-list .xqbj-recommand-item-banner {
    position: relative;
    padding-bottom: 58%;
    height: 0;
}

.xqbj-recommand-list .xqbj-recommand-item-banner .xqbj-recommand-item-banner-mesosphere {
    position: absolute;
    overflow: hidden;
    border-radius: 0.1875rem;

    inset: 0;
}

.xqbj-recommand-list .xqbj-recommand-item-banner .xqbj-recommand-item-banner-mesosphere > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.xqbj-recommand-list .xqbj-recommand-item-title {
    /* margin-top: .2188rem; */
    margin-top: var(--recommand-item-title-margin-top);
    font-size: inherit;

    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    word-break: break-all;

    -webkit-line-clamp: var(--line-clamp);
    line-clamp: var(--line-clamp);
    box-orient: vertical;
    color: #fff;
}

.custom-swiper-button-prev {
    position: absolute;
    top: 0;
    bottom: calc(var(--line-clamp) * 1em + var(--recommand-item-title-margin-top));
    margin: auto;
    left: -0.3125rem;
    width: 1.1687rem;
    height: 1.1687rem;
    z-index: 10;
    cursor: pointer;
}

.custom-swiper-button-next {
    position: absolute;
    top: 0;
    bottom: calc(var(--line-clamp) * 1em + var(--recommand-item-title-margin-top));
    margin: auto;
    right: -0.3125rem;
    width: 1.1687rem;
    height: 1.1687rem;
    z-index: 10;
    cursor: pointer;
}

.custom-swiper-button-prev img,
.custom-swiper-button-next img {
    display: block;
    width: 100%;
    height: 100%;
}
/* H5 end */

@media (min-width: 768px) {
    /* PC start */
    .xqbj-icon-back {
        width: 0.625rem;
        height: 0.625rem;
    }

    .xqbj-recommand-list-cotainer {
        margin-bottom: 1rem;
    }

    .recommand-wrapper {
        border: 1.2188rem solid transparent;
        border-radius: 0.9063rem;
        font-size: 0.875rem;
        --line-clamp: 2;
        --recommand-item-title-margin-top: 0.4625rem;
    }

    .xqbj-recommand-list-cotainer.case-index .xqbj-recommand-title {
        margin-top: 0.8625rem;
        margin-bottom: 0.8625rem;
    }

    .xqbj-recommand-list-cotainer .xqbj-recommand-title {
        margin-top: 1.3125rem;
        margin-bottom: 0.8125rem;
    }

    .xqbj-recommand-list-cotainer .xqbj-recommand-title > h2 {
        /* 0624web整改 start */
        font-size: 1.5rem;
        /* 0624web整改 end */
    }

    .xqbj-recommand-list .xqbj-recommand-item-title {
        /* margin-top: .5rem;
            margin-bottom: .3125rem; */
        margin-top: var(--recommand-item-title-margin-top);
        /* margin-top: .4625rem; */
        font-size: inherit;
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        text-overflow: ellipsis;
        word-break: break-all;

        -webkit-line-clamp: var(--line-clamp);
        line-clamp: var(--line-clamp);
        box-orient: vertical;
    }

    .custom-swiper-button-prev {
        left: -0.75rem;
        width: 1.9187rem;
        height: 1.9187rem;
    }

    .custom-swiper-button-next {
        right: -0.75rem;
        width: 1.9187rem;
        height: 1.9187rem;
    }
    /* PC end */
}

/* 省略符 start */
.text-line-ellipsis-1 {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-break: break-all;

    -webkit-line-clamp: 1;
    line-clamp: 1;
    box-orient: vertical;
}

.text-line-ellipsis-2 {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    word-break: break-all;

    -webkit-line-clamp: 2;
    line-clamp: 2;
    box-orient: vertical;
}

.text-line-ellipsis-3 {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    word-break: break-all;

    -webkit-line-clamp: 3;
    line-clamp: 3;
    box-orient: vertical;
}

.text-line-ellipsis-4 {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    word-break: break-all;

    -webkit-line-clamp: 4;
    line-clamp: 4;
    box-orient: vertical;
}
/* 省略符 end */

[data-recommendations] button.custom-swiper-button-prev,
[data-recommendations] button.custom-swiper-button-next {
    padding: 0; border: 0; border-radius: 50%; background: transparent;
}
[data-recommendations] .swiper-button-disabled { opacity: .3; cursor: default; }
[data-recommendations] .swiper-button-lock { display: none; }
[data-recommendations] button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

/* Category recommendations follow the prototype without changing hot cards. */
[data-recommendations="category"] .recommand-wrapper {
    --line-clamp: 2;
    border: 0;
    padding: 14px 12px var(--recommendation-bottom-padding);
    outline-color: #888;
    border-radius: 8px;
}
[data-recommendations="category"] .xqbj-recommand-item-banner { padding-bottom: 66.3265%; }
[data-recommendations="category"] {
    /* Interpolate between the 441px H5 and 540px APP reference canvases. */
    --recommendation-bottom-padding: clamp(17px, calc(55.181818px - 7.070707vw), 24px);
    margin-left: clamp(0px, calc(9.090909vw - 40.090909px), 9px);
    margin-right: clamp(0px, calc(9.090909vw - 40.090909px), 9px);
    --line-clamp: 2;
}
[data-recommendations="category"] .xqbj-recommand-title > h2 {
    font-size: clamp(16px, calc(6.060606vw - 10.727273px), 22px);
}
[data-recommendations="category"] .xqbj-recommand-item-title {
    margin-top: 10px;
    line-height: 16px;
    min-height: 32px;
}
[data-recommendations="category"] button.custom-swiper-button-prev,
[data-recommendations="category"] button.custom-swiper-button-next {
    /* Keep the shared hot-recommendation appearance and center on the cover. */
    top: calc(14px + (100% - 14px - var(--recommendation-bottom-padding) - 10px - 32px) / 2);
    transform: translateY(-50%);
    bottom: auto;
    margin: 0;
}
[data-recommendations="category"] button.custom-swiper-button-prev { left: -1px; }
[data-recommendations="category"] button.custom-swiper-button-next { right: -1px; }
/* Floating article actions should not cover recommendation cards after reading. */
.recommendations-in-view .post-actions,
.recommendations-in-view .aw-post-actions { visibility: hidden; }
@media (max-width: 767px) {
    /* Reuse shared carousel arrow artwork with a usable mobile touch target. */
    [data-recommendations="category"] button.custom-swiper-button-prev,
    [data-recommendations="category"] button.custom-swiper-button-next {
        width: 44px;
        height: 44px;
        touch-action: manipulation;
    }
}
@media (min-width: 768px) {
    [data-recommendations="category"] { margin-left: 0; margin-right: 0; }
    [data-recommendations="category"] .xqbj-recommand-title > h2 { font-size: 24px; }
    [data-recommendations="category"] .recommand-wrapper { padding: 30px 26px 26px; border-radius: 16px; }
    [data-recommendations="category"] .xqbj-recommand-item-banner { padding-bottom: 48.5714%; }
    [data-recommendations="category"] .xqbj-recommand-item-title { line-height: 16px; min-height: 32px; }
    [data-recommendations="category"] button.custom-swiper-button-prev,
    [data-recommendations="category"] button.custom-swiper-button-next {
        top: calc(30px + (100% - 56px - 10px - 32px) / 2);
    }
    [data-recommendations="category"] button.custom-swiper-button-prev { left: 11px; }
    [data-recommendations="category"] button.custom-swiper-button-next { right: 11px; }
}

@media (max-width: 767px) {
    #masthead #body-bottom > .container {
        padding-inline: 0.5rem;
    }
}

#article-recommendations > [data-recommendations="hot"] {
    margin-block: 1.25rem;
}

#article-recommendations {
    --article-recommendation-arrow-size: 1.75rem;
    --article-recommendation-slide-gap: 0.5219rem;
}

#article-recommendations .custom-swiper-button-prev,
#article-recommendations .custom-swiper-button-next {
    width: var(--article-recommendation-arrow-size);
    height: var(--article-recommendation-arrow-size);
    top: 0;
    bottom: auto;
    /* Center on a 58%-tall cover in a two-slide layout. */
    margin: calc((100% - var(--article-recommendation-slide-gap)) * 0.145) 0 0;
}

#article-recommendations .custom-swiper-button-prev {
    transform: translate(-40%, -50%);
}

#article-recommendations .custom-swiper-button-next {
    transform: translate(40%, -50%);
}

@media (min-width: 768px) {
    #article-recommendations {
        --article-recommendation-arrow-size: 2.25rem;
        --article-recommendation-slide-gap: 0.5687rem;
    }
}
