/* Scoped to featured categories: latest-source pagination remains unchanged. */
.home-source-carousel { position: relative; }
.home-source-carousel .stc-src-grid-one {
    display: grid; grid-template-columns: none; grid-auto-flow: column;
    grid-auto-columns: calc((100% - 56px) / 5); gap: 14px;
    overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory;
    padding: 2px 0 10px; scrollbar-width: thin; scrollbar-color: #d3dfd7 transparent;
}
.home-source-carousel .stc-src-card { scroll-snap-align: start; border-radius: 12px; box-shadow: none; }
.home-source-carousel .stc-src-thumb { aspect-ratio: 16 / 9; }
.home-source-carousel .stc-src-body { padding: 10px; }
.home-source-carousel .stc-src-title { font-size: 13px; font-weight: 600; min-height: 37px; -webkit-line-clamp: 2; margin: 7px 0; }
html.stc-theme-frontend .home-shell .stc-src-flag-sale {
    background: #fff8e9 !important; color: #946019 !important; border: 1px solid #efdbb6;
    box-shadow: 0 2px 5px rgba(71,54,21,.06); border-radius: 6px;
    font-size: 10px; font-weight: 650; min-height: 22px; padding: 2px 7px; top: 8px; right: 8px;
}
.home-shell .stc-src-flag-pin { font-size: 9px; min-height: 20px; padding: 2px 6px; gap: 4px; top: 8px; left: 8px; border-radius: 5px; box-shadow: none; border: 1px solid #e1e9e4; }
.home-source-arrow {
    position: absolute; top: 50%; transform: translateY(-50%); z-index: 5;
    width: 36px; height: 36px; display: grid; place-items: center;
    border: 1px solid #dbe5de; border-radius: 50%; background: #fff; color: #28583b;
    box-shadow: 0 3px 12px rgba(24,53,34,.14); cursor: pointer;
}
.home-source-arrow[hidden] { display: none; }
.home-source-prev { left: -12px; }
.home-source-next { right: -12px; }
.home-source-arrow:hover { background: #edf5ef; }
.home-source-arrow:focus-visible, .home-source-carousel .stc-src-grid-one:focus-visible { outline: 2px solid #42865a; outline-offset: 3px; }
@media (max-width: 1100px) { .home-source-carousel .stc-src-grid-one { grid-auto-columns: calc((100% - 28px) / 3); } }
@media (max-width: 640px) {
    .home-source-carousel .stc-src-grid-one { grid-auto-columns: calc((100% - 12px) / 2); gap: 12px; }
    .home-source-arrow { width: 32px; height: 32px; }
    .home-source-prev { left: -6px; } .home-source-next { right: -6px; }
}