#footer-bar {
    visibility: hidden;
}

.news-scroll {
    max-height: 65vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.news-card {
    padding: 12px 2px;
    transition: background .15s ease;
}
.news-card + .news-card {
    border-top: 1px solid rgba(0, 0, 0, .06);
}
.theme-dark .news-card + .news-card {
    border-top-color: rgba(255, 255, 255, .07);
}
a.news-card:active {
    background: rgba(0, 0, 0, .03);
}
.news-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.news-snippet {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.45;
}
.news-ic {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(200, 38, 38, .1);
    color: #C82626;
    font-size: 15px;
}
.news-salur {
    padding: 8px 10px;
    border-radius: 10px;
    background: rgba(47, 179, 128, .08);
}
.news-salur-pill {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    color: #1c8f63;
    background: rgba(47, 179, 128, .1);
    padding: 3px 9px;
    border-radius: 999px;
}

/* Foto dalam deskripsi kabar (dari CKEditor) sering berukuran asli besar —
   paksa ikut lebar container & jaga rasio, biar tak overflow di mobile. */
.news-desc-full img {
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain;
    border-radius: 8px;
    margin: 8px 0;
}
.news-desc-full iframe,
.news-desc-full video {
    max-width: 100% !important;
}

/* ---- Skeleton loading ---- */
.skeleton {
    position: relative;
    overflow: hidden;
    background: #e9ecef;
    border-radius: 8px;
}
.skeleton::after {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-100%);
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .55), transparent);
    animation: news-shimmer 1.4s infinite;
}
.theme-dark .skeleton {
    background: #2a2f36;
}
.theme-dark .skeleton::after {
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .08), transparent);
}
@keyframes news-shimmer {
    100% { transform: translateX(100%); }
}
