/* Front-page polish for the active News/Magazine theme. Scoped to the homepage. */
body.body-index-page {
    --home-surface: #ffffff;
    --home-surface-soft: #f6f8fb;
    --home-border: #e5e9f0;
    --home-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
    --home-shadow-soft: 0 8px 20px rgba(15, 23, 42, 0.06);
    background: var(--home-surface-soft);
}

body.body-index-page main {
    padding-bottom: 2rem;
}

body.body-index-page .section {
    margin-bottom: 3rem;
}

body.body-index-page .section > .container-xl,
body.body-index-page .featured-section > .container-xl,
body.body-index-page .section-newsticker > .container-xl {
    max-width: 1240px;
}

body.body-index-page .section-newsticker {
    margin: 1rem 0 1.25rem !important;
}

body.body-index-page .newsticker-wrapper {
    height: 2.75rem;
    padding: 0.375rem;
    background: var(--home-surface);
    border: 1px solid var(--home-border);
    border-radius: 8px;
    box-shadow: var(--home-shadow-soft);
}

body.body-index-page .newsticker-wrapper .ticker-label {
    min-height: 2rem;
    padding: 0.375rem 0.75rem;
    border-radius: 6px;
    background: var(--vr-theme-color) !important;
    font-weight: 700;
}

body.body-index-page .newsticker-wrapper .news-item a {
    color: var(--vr-text-main);
    font-weight: 700;
}

body.body-index-page .featured-section {
    margin-bottom: 2.25rem;
}

body.body-index-page .featured-section .fs-grid-wrapper {
    gap: 1rem;
}

body.body-index-page .featured-section .fs-card,
body.body-index-page .featured-section-news .top-headlines {
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 8px;
    box-shadow: var(--home-shadow);
}

body.body-index-page .featured-section .fs-card {
    background: #111827;
}

body.body-index-page .featured-section .fs-img {
    filter: saturate(0.98) contrast(1.03);
}

body.body-index-page .featured-section .fs-card:hover .fs-img {
    filter: saturate(1.05) contrast(1.05);
    transform: scale(1.025);
}

body.body-index-page .featured-section .fs-content {
    background: linear-gradient(to top, rgba(8, 12, 20, 0.9) 0%, rgba(8, 12, 20, 0.58) 34%, rgba(8, 12, 20, 0.16) 68%, rgba(8, 12, 20, 0) 100%);
    padding: 1.25rem;
}

body.body-index-page .featured-section .area-main .fs-content {
    padding: 2rem;
}

body.body-index-page .featured-section .main-slider-wrapper .fs-title {
    max-width: 92%;
    font-size: 2.25rem;
    line-height: 1.14;
    font-weight: 800;
    letter-spacing: 0;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.55);
}

body.body-index-page .featured-section-news .fs-title {
    font-size: 1.05rem;
    line-height: 1.25;
    font-weight: 750;
    letter-spacing: 0;
}

body.body-index-page .featured-section .fs-meta,
body.body-index-page .featured-section .fs-meta a,
body.body-index-page .featured-section .fs-meta span {
    color: rgba(255, 255, 255, 0.82) !important;
}

body.body-index-page .featured-section .badge-category,
body.body-index-page .post-item .badge-category {
    border-radius: 6px;
    font-weight: 700;
    text-shadow: none;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18);
}

body.body-index-page .featured-section .swiper-pagination-bullet {
    height: 4px;
    background: rgba(255, 255, 255, 0.78);
}

body.body-index-page .featured-section .swiper-pagination-bullet-active {
    background: #ffffff;
}

body.body-index-page .featured-section .fs-nav-btn {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.38);
    backdrop-filter: blur(6px);
}

body.body-index-page .featured-section .fs-nav-btn:hover {
    background: rgba(15, 23, 42, 0.62);
    transform: scale(1.04);
}

body.body-index-page .featured-section-news .top-headlines {
    padding: 1.25rem !important;
    background: var(--home-surface);
    border-color: var(--home-border);
    color: var(--vr-text-main);
    overflow: hidden;
}

body.body-index-page .featured-section-news .top-headlines .sc-title {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    margin-bottom: 0.875rem;
    color: var(--vr-text-main);
    font-size: 1.45rem;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: 0;
}

body.body-index-page .featured-section-news .top-headlines .sc-title::before {
    content: '';
    display: block;
    width: 0.25rem;
    height: 1.35rem;
    border-radius: 4px;
    background: var(--vr-theme-color);
}

body.body-index-page .featured-section-news .top-headlines .item {
    padding: 0.85rem 0;
    border-color: var(--home-border);
}

body.body-index-page .featured-section-news .top-headlines .item .title {
    margin-bottom: 0.45rem;
    font-size: 1rem;
    line-height: 1.35;
    font-weight: 750 !important;
    letter-spacing: 0;
}

body.body-index-page .featured-section-news .top-headlines .item .title a:hover,
body.body-index-page .section .section-title .view-all:hover,
body.body-index-page .post-item .title a:hover {
    color: var(--vr-theme-color) !important;
}

body.body-index-page .featured-section-news .top-headlines .item .category {
    letter-spacing: 0;
}

body.body-index-page .section .section-title {
    margin-bottom: 1.25rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid var(--home-border);
}

body.body-index-page .section .section-title::after {
    bottom: -0.875rem;
    width: 4rem;
    height: 3px;
    border-radius: 3px;
}

body.body-index-page .section .section-title .title {
    margin: 0;
    color: var(--vr-text-main);
    font-size: 1.55rem;
    line-height: 1.22;
    font-weight: 800;
    letter-spacing: 0;
}

body.body-index-page .section .section-title .view-all {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    min-height: 2rem;
    padding: 0.35rem 0.7rem;
    border: 1px solid var(--home-border);
    border-radius: 8px;
    background: var(--home-surface);
    color: var(--vr-text-muted);
}

body.body-index-page .latest-posts #postsLoadMoreContent {
    row-gap: 1.5rem;
}

body.body-index-page .latest-posts #postsLoadMoreContent > [class*='col-'] {
    display: flex;
}

body.body-index-page .latest-posts .post-item {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 100%;
    margin-bottom: 0;
    overflow: hidden;
    border: 1px solid var(--home-border);
    border-radius: 8px;
    background: var(--home-surface);
    box-shadow: var(--home-shadow-soft);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

body.body-index-page .latest-posts .post-item:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--vr-theme-color) 24%, var(--home-border));
    box-shadow: var(--home-shadow);
}

body.body-index-page .latest-posts .post-item .image {
    --bs-aspect-ratio: 58%;
    background: #eef2f7;
}

body.body-index-page .latest-posts .post-item .image img {
    transition: transform 0.45s ease, filter 0.45s ease;
}

body.body-index-page .latest-posts .post-item:hover .image img {
    transform: scale(1.025);
    filter: saturate(1.03);
}

body.body-index-page .latest-posts .post-item .title {
    margin: 1rem 1rem 0.45rem;
    font-size: 1.08rem;
    line-height: 1.32;
    font-weight: 780;
    letter-spacing: 0;
}

body.body-index-page .latest-posts .post-item .post-meta {
    margin: 0 1rem 0.65rem;
}

body.body-index-page .latest-posts .post-item .description {
    margin: 0;
    padding: 0 1rem 1rem;
    color: var(--vr-text-muted);
    line-height: 1.55;
}

body.body-index-page .latest-posts .post-item.post-item-no-image {
    padding-top: 1rem;
}

body.body-index-page .section-category .section-title {
    margin-bottom: 1.15rem;
}

body.body-index-page .section-category .section-title .d-flex {
    gap: 1rem;
}

body.body-index-page .section-category .nav-category-block {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

body.body-index-page .section-category .nav-category-block .nav-item .nav-link {
    min-height: 2rem;
    padding: 0.35rem 0.6rem;
    border-radius: 8px;
    color: var(--vr-text-muted);
}

body.body-index-page .section-category .nav-category-block .nav-item .nav-link:hover,
body.body-index-page .section-category .nav-category-block .nav-item .nav-link.active {
    color: var(--vr-theme-color) !important;
    background: color-mix(in srgb, var(--vr-theme-color) 8%, transparent) !important;
}

body.body-index-page .section-category .section-content > .tab-content > .tab-pane > div > .row,
body.body-index-page .latest-posts #postsLoadMoreContent {
    margin-right: -0.75rem;
    margin-left: -0.75rem;
}

body.body-index-page .section-category .section-content > .tab-content > .tab-pane > div > .row > [class*='col-'],
body.body-index-page .latest-posts #postsLoadMoreContent > [class*='col-'] {
    padding-right: 0.75rem;
    padding-left: 0.75rem;
}

body.body-index-page .section-category .post-item:not(.post-item-vr) {
    overflow: hidden;
    border: 1px solid var(--home-border);
    border-radius: 8px;
    background: var(--home-surface);
    box-shadow: var(--home-shadow-soft);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

body.body-index-page .section-category .post-item:not(.post-item-vr):hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--vr-theme-color) 24%, var(--home-border));
    box-shadow: var(--home-shadow);
}

body.body-index-page .section-category .post-item:not(.post-item-vr) .image {
    --bs-aspect-ratio: 58%;
}

body.body-index-page .section-category .post-item:not(.post-item-vr) .image img,
body.body-index-page .section-cat-block-1 .post-item-vr .image img,
body.body-index-page .post-item-small .image img {
    transition: transform 0.45s ease, filter 0.45s ease;
}

body.body-index-page .section-category .post-item:not(.post-item-vr):hover .image img,
body.body-index-page .section-cat-block-1 .post-item-vr:hover .image img,
body.body-index-page .post-item-small:hover .image img {
    transform: scale(1.025);
    filter: saturate(1.04);
}

body.body-index-page .section-category .post-item:not(.post-item-vr) .title {
    margin: 1rem 1rem 0.45rem;
    font-size: 1.05rem;
    line-height: 1.32;
    font-weight: 780;
    letter-spacing: 0;
}

body.body-index-page .section-category .post-item:not(.post-item-vr) .post-meta {
    margin: 0 1rem 0.65rem;
}

body.body-index-page .section-category .post-item:not(.post-item-vr) .description {
    margin: 0;
    padding: 0 1rem 1rem;
    line-height: 1.55;
}

body.body-index-page .section-cat-block-1 .col-post-item-vr {
    margin-bottom: 1.5rem;
}

body.body-index-page .section-cat-block-1 .post-item-vr {
    overflow: hidden;
    border-radius: 8px;
    background: #111827;
    box-shadow: var(--home-shadow-soft);
}

body.body-index-page .section-cat-block-1 .post-item-vr .image {
    height: 315px;
}

body.body-index-page .section-cat-block-1 .post-item-vr .image::after {
    background: linear-gradient(to top, rgba(8, 12, 20, 0.9) 0%, rgba(8, 12, 20, 0.52) 42%, rgba(8, 12, 20, 0.08) 74%, transparent 100%);
}

body.body-index-page .section-cat-block-1 .post-item-vr .caption {
    padding: 1rem;
}

body.body-index-page .section-cat-block-1 .post-item-vr .caption .title {
    margin-bottom: 0.45rem;
    font-weight: 780;
    letter-spacing: 0;
}

body.body-index-page .post-item-small {
    min-height: 104px;
    margin-bottom: 1rem !important;
    padding: 0.45rem;
    border: 1px solid var(--home-border);
    border-radius: 8px;
    background: var(--home-surface);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.04);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

body.body-index-page .post-item-small:hover {
    transform: translateY(-1px);
    border-color: color-mix(in srgb, var(--vr-theme-color) 22%, var(--home-border));
    box-shadow: var(--home-shadow-soft);
}

body.body-index-page .post-item-small .image {
    width: 132px;
    height: 92px;
    border-radius: 6px;
    background: #eef2f7;
}

body.body-index-page .post-item-small .title {
    margin-bottom: 0.45rem;
    font-size: 0.96rem;
    line-height: 1.34;
    font-weight: 760;
    letter-spacing: 0;
}

body.body-index-page .post-item-small .post-meta {
    gap: 0.45rem;
}

body.body-index-page .post-item-small .post-meta .meta-item a,
body.body-index-page .post-item-small .post-meta .meta-item span {
    font-size: 0.72rem;
}

body.body-index-page #cc-wrapper #cc-banner {
    left: 50%;
    bottom: 1rem;
    width: min(980px, calc(100% - 2rem));
    padding: 1rem 0;
    transform: translateX(-50%);
    border: 1px solid var(--home-border);
    border-radius: 8px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.18);
}

body.body-index-page #cc-wrapper .banner-inner {
    gap: 1rem;
}

body.body-index-page #cc-wrapper h5 {
    margin-bottom: 0.35rem;
    font-size: 1rem;
}

body.body-index-page #cc-wrapper p {
    font-size: 0.9rem;
    line-height: 1.45;
}

body.body-index-page #cc-wrapper .btn-cc {
    border-radius: 8px;
}

@media (min-width: 992px) {
    body.body-index-page .featured-section-news .fs-grid-wrapper {
        height: 540px;
        grid-template-columns: minmax(0, 2.1fr) minmax(230px, 0.9fr) minmax(260px, 0.95fr);
    }

    body.body-index-page .featured-section-news .area-right {
        gap: 1rem;
    }
}

@media (max-width: 991.98px) {
    body.body-index-page .featured-section > .container-xl,
    body.body-index-page .section-newsticker > .container-xl {
        padding-right: 0.75rem;
        padding-left: 0.75rem;
    }

    body.body-index-page .featured-section-news .fs-grid-wrapper {
        gap: 0.75rem;
    }

    body.body-index-page .featured-section-news .area-main {
        aspect-ratio: 16 / 10;
        min-height: 330px;
    }

    body.body-index-page .featured-section-news .area-right {
        gap: 0.75rem;
    }

    body.body-index-page .featured-section .main-slider-wrapper .fs-title {
        max-width: 100%;
        font-size: 1.75rem;
        line-height: 1.18;
    }

    body.body-index-page .featured-section .area-main .fs-content {
        padding: 1.35rem;
    }
}

@media (max-width: 767.98px) {
    body.body-index-page .section {
        margin-bottom: 2.25rem;
    }

    body.body-index-page .section .section-title .title {
        font-size: 1.3rem;
    }

    body.body-index-page .section .section-title .view-all {
        padding-right: 0.55rem;
        padding-left: 0.55rem;
        font-size: 0.8rem;
    }

    body.body-index-page .featured-section-news .area-main {
        min-height: 290px;
    }

    body.body-index-page .featured-section-news .area-right {
        grid-template-columns: 1fr;
        aspect-ratio: auto;
    }

    body.body-index-page .featured-section-news .area-right > .fs-card {
        min-height: 220px;
    }

    body.body-index-page .featured-section-news .top-headlines .sc-title {
        font-size: 1.25rem;
    }

    body.body-index-page .section-category .section-title .d-flex {
        align-items: flex-start !important;
        flex-direction: column;
    }

    body.body-index-page .section-category .nav-category-block {
        width: 100%;
        overflow-x: auto;
        padding-bottom: 0.15rem !important;
    }

    body.body-index-page .post-item-small .image {
        width: 112px;
        height: 82px;
    }

    body.body-index-page #cc-wrapper #cc-banner {
        bottom: 0.75rem;
        width: calc(100% - 1.5rem);
    }
}

[data-bs-theme="dark"] body.body-index-page,
body.body-index-page[data-bs-theme="dark"] {
    --home-surface: var(--vr-body-secondary-bg);
    --home-surface-soft: var(--vr-body-bg);
    --home-border: var(--vr-border-color);
    --home-shadow: 0 14px 34px rgba(0, 0, 0, 0.34);
    --home-shadow-soft: 0 10px 24px rgba(0, 0, 0, 0.28);
}

[data-bs-theme="dark"] body.body-index-page .latest-posts .post-item .image,
body.body-index-page[data-bs-theme="dark"] .latest-posts .post-item .image {
    background: var(--vr-gray-850);
}