@charset "UTF-8";
/*
 * TNSB- Featured collection, version 1.0.7 (2026-10-28).
 * The background is below the WHOLE shelf stack, not in a clipped feature box.
 * Negative top/bottom extend it behind the preceding/following normal shelves.
 * Keep left/right symmetrical: the site content wrapper already accounts for the sidebar.
 */
.reel-container {
    position: relative;
    isolation: isolate;
}
.reel-container .tnsb-feature {
    position: relative;
    margin: 52px 0 50px;
    padding: 35px 0;
}
.reel-container .tnsb-feature__backdrop {
    position: absolute;
    z-index: -1;
    pointer-events: none;
    top: -205px;
    bottom: -205px;
    left: 0;
    right: 0;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}
.reel-container .tnsb-feature__layout {
    display: grid;
    grid-template-columns: minmax(220px, 35%) minmax(0, 1fr);
    gap: 26px;
    align-items: center;
    min-height: 250px;
}
.reel-container .tnsb-feature__copy {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 13px;
    padding: 0 12px;
    color: #fff;
}
.reel-container .tnsb-feature__logo {
    display: block;
    width: auto;
    max-width: min(280px, 85%);
    max-height: 165px;
    height: auto;
    object-fit: contain;
}
.reel-container .tnsb-feature__title {
    margin: 0;
    padding: 0;
    color: var(--tnsb-accent-lime, #d6fe00);
    font-size: 1.14rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: .015em;
}
.reel-container .tnsb-feature__description {
    margin: 0;
    max-width: 370px;
    color: #fff;
    font-size: .95rem;
    font-weight: 600;
    line-height: 1.7;
    white-space: pre-line;
}
.reel-container .tnsb-feature__cards { min-width: 0; }
.reel-container .tnsb-feature__reel {
    /* Arrow JS measures this same visible scroll area. Keep it inside the grid. */
    width: 100% !important;
    margin: 0 !important;
    padding: 0 24px 0 0 !important;
}
/* Keep the native 0px reel-spacer visible: its 10px flex gap matches
 * the first-card inset of every other TOP shelf. */
/* Match RANKING artwork (not its extra outline-number gutter):
 * desktop 210 x 280, phone 145 x approximately 193, both 3:4. */
.reel-container .tnsb-feature__reel .tnsb-feature__card {
    width: 210px;
    max-width: none;
}
.reel-container .tnsb-feature__reel .tnsb-feature__card .reel-img {
    aspect-ratio: 3 / 4;
    height: auto;
    border-radius: 4px;
    overflow: hidden;
}
.reel-container .tnsb-feature__reel .tnsb-feature__card .reel-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
@media (max-width: 1029px) {
    .reel-container .tnsb-feature { margin: 0; padding: 38px 0 28px; }
    .reel-container .tnsb-feature__layout {
        display: block;
        min-height: 0;
    }
    .reel-container .tnsb-feature__backdrop {
        top: -125px;
        bottom: -125px;
        left: -16px;
        right: -16px;
        background-position: center center;
    }
    .reel-container .tnsb-feature__copy {
        gap: 12px;
        padding: 0 18px 28px;
    }
    .reel-container .tnsb-feature__logo {
        max-width: min(230px, 73vw);
        max-height: 145px;
    }
    .reel-container .tnsb-feature__title { font-size: 1.2em; }
    .reel-container .tnsb-feature__description { font-size: 0.8rem; }
    .reel-container .tnsb-feature__reel {
        /* Match the shared reel.css rules at 769–1029px. */
        width: auto !important;
        margin-left: 16px !important;
        margin-right: calc(-1 * ((100vw - var(--tnsb-sidebar) - 100%) / 2)) !important;
        padding-right: 40px !important;
    }
}
/* Below 769px the shared reel.css resets its left inset to 0 and
 * stretches the scroll area to the viewport edge. Mirror that here. */
@media (max-width: 768px) {
    .reel-container .tnsb-feature__reel {
        width: 100vw !important;
        margin-left: 0 !important;
        margin-right: calc(50% - 50vw) !important;
        padding-right: 20px !important;
    }
    .reel-container .tnsb-feature__reel .tnsb-feature__card {
        width: 145px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .reel-container .tnsb-feature__reel { scroll-behavior: auto; }
}
