/* ==============================================
   initialise-news-latest.css
   News Carousel – Swiper layout + side buttons
   ============================================== */

/* ── Carousel outer wrapper (anchor for side buttons) ── */
.news-carousel-outer {
    position: relative;
    padding: 0 48px; /* clear space for ← → */
}

/* ── Swiper shell ── */
.news-swiper {
    padding-bottom: 52px !important; /* room for pagination dots */
    overflow: hidden;
}
.news-swiper .swiper-wrapper   { align-items: stretch; }
.news-swiper .swiper-slide     { height: auto; }
.news-swiper .swiper-slide .pub-card { height: 100%; }

/* ── Side nav buttons ── */
/*
 * top: 50% centres on the full outer height (cards + 52px pagination).
 * translateY(calc(-50% - 26px)) shifts back up by half the pagination
 * area so the button sits centred on the cards only.
 */
.news-carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY( calc(-50% - 26px) );
    z-index: 10;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    width:  40px;
    height: 40px;
    border-radius: 50%;
    border: 1.5px solid var(--clr-orange, #f15a24);
    background:          var(--clr-orange, #f15a24);
    color: #fff;
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
    transition: background .2s, color .2s, border-color .2s;
        background:   var(--clr-orange, #f15a24);
    color:        #fff;
    border:       3px solid rgba(255, 255, 255, .85);
    box-shadow:   0 4px 16px rgba(0, 0, 0, .35),
                  0 1px  4px rgba(0, 0, 0, .2);
}

.news-carousel-btn--prev { left:  0; }
.news-carousel-btn--next { right: 0; }

.news-carousel-btn:hover {
    background:   var(--bs-primary, #0d6efd);
    border-color: var(--bs-primary, #0d6efd);
}
.news-carousel-btn.swiper-button-disabled {
    opacity: .3;
    pointer-events: none;
}

/* ── Pagination dots ── */
.news-swiper .swiper-pagination         { bottom: 12px; }
.news-swiper .swiper-pagination-bullet  { background: var(--bs-primary, #0d6efd); opacity: .35; }
.news-swiper .swiper-pagination-bullet-active { opacity: 1; }

/* ── Card image ── */
.news-card .news-card-img-wrap { overflow: hidden; }
.news-card .news-card-img      { width: 100%; height: 200px; object-fit: cover; }

/* ── Category badge / date ── */
.news-cat-badge {
    display: inline-block;
    font-size: .75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--clr-orange, #f15a24);
    text-decoration: none;
}
.news-cat-badge:hover { text-decoration: underline; }
.news-date { font-size: .78rem; color: #888; }

/* ── Responsive: tighten padding on small screens ── */
@media (max-width: 575px) {
    .news-carousel-outer { padding: 0 36px; }
    .news-carousel-btn   { width: 32px; height: 32px; font-size: 14px; }
}
/* ==============================================
   NEWS ARCHIVE  [initialise_news_archive]
   ============================================== */

/* ── Archive card: no image, ensure consistent height ── */
.news-archive-card {
    min-height: 200px;
}

/* ── Pagination wrapper ── */
.news-archive-pagination { }

/* ── All page-number items (generated by paginate_links) ── */
.news-page-list .page-numbers {
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    min-width:       40px;
    height:          40px;
    padding:         0 14px;
    border-radius:   6px;
    font-size:       .9rem;
    font-weight:     500;
    text-decoration: none;
    border:          1.5px solid #dee2e6;
    color:           inherit;
    transition:      background .2s, border-color .2s, color .2s;
}

/* ── Hover on numbered pages ── */
.news-page-list a.page-numbers:not(.prev):not(.next):hover {
    background:   var(--clr-orange, #f15a24);
    border-color: var(--clr-orange, #f15a24);
    color:        #fff;
}

/* ── Current / active page ── */
.news-page-list .page-numbers.current {
    background:   var(--clr-orange, #f15a24);
    border-color: var(--clr-orange, #f15a24);
    color:        #fff;
    font-weight:  700;
}

/* ── Prev / Next ── */
.news-page-list .page-numbers.prev,
.news-page-list .page-numbers.next {
    background:   transparent;
    border-color: var(--clr-orange, #f15a24);
    color:        var(--clr-orange, #f15a24);
    font-weight:  600;
}
.news-page-list .page-numbers.prev:hover,
.news-page-list .page-numbers.next:hover {
    background:   var(--clr-orange, #f15a24);
    border-color: var(--clr-orange, #f15a24);
    color:        #fff;
}

/* ── Dots / ellipsis ── */
.news-page-list .page-numbers.dots {
    border-color: transparent;
    background:   transparent;
    color:        #888;
    min-width:    24px;
    padding:      0 4px;
}

/* ── Small screens ── */
@media (max-width: 575px) {
    .news-page-list .page-numbers {
        min-width: 34px;
        height:    34px;
        padding:   0 10px;
        font-size: .82rem;
    }
}