/* ── Page-scoped modern styles ── */

.sri-stat-card {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 3px 18px rgba(0,0,0,0.08);
    padding: 18px 20px;
    margin-bottom: 22px;
    border-top: 4px solid #1ab394;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    gap: 16px;
}

    .sri-stat-card.accent-teal {
        border-top-color: #23c6c8;
    }

    .sri-stat-card.accent-orange {
        border-top-color: #f0ad4e;
    }

    .sri-stat-card.accent-navy {
        border-top-color: #1a3560;
    }

.sri-stat-icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(26,179,148,0.1);
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    flex-shrink: 0;
}

    .sri-stat-icon.teal-bg {
        background: rgba(35,198,200,0.12);
    }

    .sri-stat-icon.orange-bg {
        background: rgba(240,173,78,0.12);
    }

    .sri-stat-icon.navy-bg {
        background: rgba(26,53,96,0.1);
    }

.sri-stat-label {
    font-size: 0.8em;
    font-weight: 600;
    color: #555;
    margin-bottom: 3px;
}

.sri-stat-number {
    font-size: 1.75em;
    font-weight: 700;
    color: #c0392b;
    line-height: 1.1;
}

.sri-stat-month {
    font-size: 0.75em;
    color: #23c6c8;
    font-style: italic;
    margin-top: 2px;
}

.sri-section-head {
    text-align: center;
    margin-bottom: 32px;
}

    .sri-section-head h2 {
        font-size: 1.5em;
        font-weight: 700;
        color: #1a3560;
        margin-bottom: 8px;
    }

.sri-heading-line {
    width: 48px;
    height: 3px;
    background: linear-gradient(90deg, #1ab394, #23c6c8);
    margin: 0 auto;
    border-radius: 2px;
}

.sri-notif-item {
    padding: 11px 14px;
    margin-bottom: 9px;
    border-radius: 7px;
    border-left: 4px solid #1ab394;
    background: #f8f9fa;
    font-size: 0.87em;
    color: #333;
}

    .sri-notif-item.alt {
        border-left-color: #23c6c8;
        background: #f0fafa;
    }

.sri-notif-meta {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
    margin-top: 7px;
}

.sri-notif-date {
    color: #888;
    font-size: 0.84em;
}

.sri-vmv-card {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.07);
    padding: 22px 18px;
    border-bottom: 3px solid #1ab394;
    margin-bottom: 20px;
}

.sri-vmv-icon {
    font-size: 2em;
    color: #1ab394;
    margin-bottom: 10px;
}

.sri-media-wrap {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.07);
    overflow: hidden;
    margin-bottom: 20px;
}

    .sri-media-wrap .carousel.slide {
        height: auto;
    }

    .sri-media-wrap .carousel-inner > .item {
        height: auto;
    }

    .sri-media-wrap .carousel-item-inner {
        padding: 14px;
    }

        .sri-media-wrap .carousel-item-inner img {
            width: 100%;
            height: auto;
            max-height: 320px;
            object-fit: contain;
            border-radius: 6px;
            margin-bottom: 10px;
        }

    .sri-media-wrap .sri-media-meta {
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: space-between;
        justify-content: space-between;
    }

    .sri-media-wrap .sri-media-more {
        color: #1a8f73;
        font-weight: 600;
        font-size: 0.85em;
        text-decoration: none;
    }

        .sri-media-wrap .sri-media-more:hover,
        .sri-media-wrap .sri-media-more:focus {
            text-decoration: underline;
            color: #138f73;
        }

.sri-map-panel {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.07);
    padding: 18px;
}

    .sri-map-panel h3 {
        font-size: 0.95em;
        font-weight: 700;
        color: #1a3560;
        margin-top: 0;
        margin-bottom: 12px;
    }

.sri-obj-card {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 14px rgba(0,0,0,0.07);
    overflow: hidden;
    margin-bottom: 22px;
}

    .sri-obj-card img {
        width: 100%;
        height: 150px;
        object-fit: cover;
    }

    .sri-obj-card .sri-obj-body {
        padding: 14px 16px 16px;
        border-top: 3px solid #1ab394;
    }

    .sri-obj-card .sri-obj-label {
        font-size: 0.7em;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.8px;
        color: #1ab394;
        margin-bottom: 6px;
    }

    .sri-obj-card p {
        font-size: 0.85em;
        color: #555;
        line-height: 1.55;
        margin: 0;
    }

/* ── Chairperson card: responsive ── */
.sri-chair-card {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 6px 28px rgba(0,0,0,0.12);
    overflow: hidden;
    display: -webkit-flex;
    display: flex;
    min-height: 160px;
}

.sri-chair-photo {
    background: linear-gradient(160deg,#1a3560 0%,#1ab394 100%);
    padding: 24px 28px;
    text-align: center;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    min-width: 200px;
    max-width: 220px;
    flex-shrink: 0;
}

.sri-chair-msg {
    padding: 24px 30px;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex: 1;
    flex: 1;
}

@media (max-width: 767px) {
    .sri-chair-card {
        -webkit-flex-direction: column;
        flex-direction: column;
    }

    .sri-chair-photo {
        min-width: 0;
        max-width: 100%;
        width: 100%;
    }

    .sri-chair-msg {
        padding: 20px;
    }
}

.sri-section.bg-white-alpha {
    background: rgba(255,255,255,0.93);
}

.sri-section.bg-gray-alpha {
    background: rgba(245,246,248,0.92);
}

/* ── Navbar: solid bg at page top so items are always visible ── */
.navbar-default:not(.navbar-scroll) {
    background-color: rgba(18, 53, 96, 0.88) !important;
    border-color: transparent !important;
}
    /* Top-level nav links only (direct child — NOT dropdown items) */
    .navbar-default:not(.navbar-scroll) .navbar-nav > li > a,
    .navbar-default:not(.navbar-scroll) .navbar-nav > li > button.dropdown-toggle {
        color: #fff !important;
    }
/* Dropdown panel items must stay dark regardless of scroll state */
.navbar-default .navbar-nav .dropdown-menu > li > a,
.navbar-default .navbar-nav .dropdown-menu > li > button {
    color: #676a6c !important;
    background-color: #fff !important;
}

    .navbar-default .navbar-nav .dropdown-menu > li > a:hover,
    .navbar-default .navbar-nav .dropdown-menu > li > button:hover {
        color: #1253ca !important;
        background-color: #f5f5f5 !important;
    }
/* Ensure dropdown panel sits above page sections */
.navbar-default .dropdown-menu {
    z-index: 1050 !important;
}

/* ── Carousel prev/next buttons: strip browser box ── */
button.carousel-control {
    border: 0 !important;
    background: transparent !important;
    -webkit-appearance: none;
    appearance: none;
    padding: 0 !important;
    box-shadow: none !important;
    cursor: pointer;
}
/* WCAG 1.4.11 – carousel icon must have 3:1 contrast. Give the icon
   a dark circular background so the white glyph always contrasts. */
button.carousel-control .icon-prev,
button.carousel-control .icon-next {
    background: rgba(0,0,0,0.65);
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
}
    button.carousel-control:focus {
        outline: 3px solid rgba(255,255,255,0.75) !important;
        outline-offset: 2px !important;
    }
