﻿.text-overlay-bg {
    background-color: rgba(1, 75, 45, 0.4);
    padding: 10px 15px;
    display: inline-block;
    border-radius: 4px;
}

.service-item {
    transition: all 0.5s ease;
}

    .service-item img {
        transition: transform 0.5s ease;
    }

    .service-item:hover img {
        transform: scale(1.1);
    }

    .service-item:hover {
        box-shadow: 0 10px 20px rgba(0,0,0,0.15);
    }

.academics-carousel .owl-item,
.featured-news-carousel .owl-item,
.redefining-carousel .owl-item {
    display: flex;
    height: auto;
}

.academics-carousel .item,
.featured-news-carousel .item,
.redefining-carousel .item {
    display: flex;
    flex: 1 1 auto;
    width: 100%;
}

.academics-carousel .service-item img,
.featured-news-carousel .service-item img,
.redefining-carousel .service-item img {
    width: 100%;
    height: 190px;
    object-fit: cover;
}

.academics-carousel .service-item,
.featured-news-carousel .service-item,
.redefining-carousel .service-item {
    width: 100%;
}

.testimonial-carousel .owl-dots {
    text-align: center;
    margin-top: 30px;
}

.testimonial-carousel .owl-dot {
    display: inline-block;
    zoom: 1;
}

    .testimonial-carousel .owl-dot span {
        width: 10px;
        height: 10px;
        margin: 5px 6px;
        background: #d6d6d6;
        display: block;
        -webkit-backface-visibility: visible;
        transition: opacity 200ms ease;
        border-radius: 30px;
    }

    .testimonial-carousel .owl-dot.active span,
    .testimonial-carousel .owl-dot:hover span {
        background: #F77437;
    }

/* Media Filter Navigation Styling */
#media-filters {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    gap: 20px;
}

    #media-filters .filter-btn {
        background: transparent;
        color: #1B4D3E; 
        font-weight: 700;
        font-size: 1rem;
        border: 2px solid transparent;
        border-radius: 0;
        padding: 8px 30px;
        cursor: pointer;
        transition: all 0.3s ease;
    }

        /* Active Tab State (Maroon Square Border) */
        #media-filters .filter-btn.active {
            border-color: #F77437;
            color: #1B4D3E;
        }

        #media-filters .filter-btn:hover {
            color: #F77437;
        }

/* Media Grid Item Uniformity */
.media-item {
    transition: all 0.4s ease;
}

    .media-item.hide {
        display: none;
    }

.media-thumbnail {
    height: 180px;
    width: 100%;
    object-fit: cover;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

/* Video Play Button Overlays */
.play-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    border-radius: 8px;
    padding: 5px 20px;
    font-size: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s ease;
    opacity: 0.95;
}

    .play-overlay.red {
        background-color: #ff0000;
    }

    .play-overlay.black {
        background-color: rgba(30, 30, 30, 0.85);
    }

.media-item a:hover .play-overlay {
    transform: translate(-50%, -50%) scale(1.1);
    opacity: 1;
}

@media (max-width: 767.98px) {

    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    img {
        max-width: 100%;
    }
    /* -----------------------------------------
       HERO TEXT
       ----------------------------------------- */

    .text-overlay-bg {
        max-width: 100%;
        padding: 12px 14px;
        border-radius: 5px;
    }

    .header-carousel .text-overlay-bg {
        width: 100%;
    }

    .header-carousel h1 {
        font-size: 1.55rem !important;
        line-height: 1.2;
    }

    .header-carousel p {
        font-size: 0.9rem !important;
        line-height: 1.5;
    }
    /* -----------------------------------------
       CAROUSEL CARDS
       ----------------------------------------- */

    .academics-carousel .item,
    .featured-news-carousel .item,
    .redefining-carousel .item {
        width: 100%;
        min-width: 0;
        padding-left: 5px;
        padding-right: 5px;
    }

    .academics-carousel .service-item,
    .featured-news-carousel .service-item,
    .redefining-carousel .service-item {
        width: 100%;
        min-width: 0;
    }
        /* Smaller card images on mobile */
        .academics-carousel .service-item img,
        .featured-news-carousel .service-item img,
        .redefining-carousel .service-item img {
            width: 100%;
            height: 160px;
            object-fit: cover;
        }
        /* Smaller card content */
        .academics-carousel .service-item h6,
        .featured-news-carousel .service-item h5,
        .redefining-carousel .service-item h5 {
            font-size: 0.9rem !important;
            line-height: 1.35;
        }

        .academics-carousel .service-item p,
        .featured-news-carousel .service-item p,
        .redefining-carousel .service-item p {
            font-size: 0.82rem !important;
            line-height: 1.55;
        }
    /* -----------------------------------------
       TESTIMONIALS
       ----------------------------------------- */

    .testimonial-carousel .item {
        padding-left: 8px;
        padding-right: 8px;
    }

    .testimonial-carousel h4 {
        font-size: 1rem !important;
        line-height: 1.55;
    }

    .testimonial-carousel .fs-1 {
        font-size: 1.5rem !important;
    }
    /* -----------------------------------------
       MEDIA FILTERS
       ----------------------------------------- */

    #media-filters {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 7px;
        padding: 0;
        margin: 0 auto 25px;
        width: 100%;
    }

        #media-filters li {
            list-style: none;
            margin: 0;
            padding: 0;
        }

        #media-filters .filter-btn {
            font-size: 0.78rem;
            padding: 7px 13px;
            border-width: 1px;
            white-space: nowrap;
        }
    /* -----------------------------------------
       MEDIA GRID
       ----------------------------------------- */

    #media-grid {
        margin-left: -4px;
        margin-right: -4px;
    }

        #media-grid .media-item {
            width: 50%;
            max-width: 50%;
            flex: 0 0 50%;
            padding-left: 4px;
            padding-right: 4px;
            margin-bottom: 8px;
        }

    .media-thumbnail {
        width: 100%;
        height: 125px;
        object-fit: cover;
    }
    /* -----------------------------------------
       PLAY BUTTON
       ----------------------------------------- */

    .play-overlay {
        padding: 5px 12px;
        font-size: 1.15rem;
        border-radius: 6px;
    }
    /* -----------------------------------------
       NEWSLETTER
       ----------------------------------------- */

    .container-fluid .rounded-3 form .row {
        margin-left: 0;
        margin-right: 0;
    }

    .container-fluid .rounded-3 form [class*="col-"] {
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }

    .container-fluid .rounded-3 input,
    .container-fluid .rounded-3 button {
        width: 100%;
        min-height: 44px;
    }
    /* -----------------------------------------
       STATS SECTION
       ----------------------------------------- */

    .container-fluid[style*="background-attachment: fixed"] {
        background-attachment: scroll !important;
    }

        .container-fluid[style*="background-attachment: fixed"] .row > div {
            width: 50%;
            max-width: 50%;
            flex: 0 0 50%;
        }

        .container-fluid[style*="background-attachment: fixed"] h1 {
            font-size: 1.7rem !important;
        }

        .container-fluid[style*="background-attachment: fixed"] h6 {
            font-size: 0.72rem !important;
            line-height: 1.4;
        }
    /* -----------------------------------------
       GENERAL HEADINGS
       ----------------------------------------- */

    .display-5 {
        font-size: 1.7rem !important;
    }

    .display-6 {
        font-size: 1.65rem !important;
    }
    /* -----------------------------------------
       BUTTONS
       ----------------------------------------- */

    .btn {
        white-space: normal;
    }
}


/* =========================================================
   VERY SMALL PHONES
   ========================================================= */

@media (max-width: 380px) {

    .header-carousel h1 {
        font-size: 1.35rem !important;
    }

    .header-carousel p {
        font-size: 0.82rem !important;
    }

    .academics-carousel .service-item img,
    .featured-news-carousel .service-item img,
    .redefining-carousel .service-item img {
        height: 145px;
    }

    .media-thumbnail {
        height: 110px;
    }

    #media-filters {
        gap: 5px;
    }

        #media-filters .filter-btn {
            padding: 6px 10px;
            font-size: 0.73rem;
        }

    .testimonial-carousel h4 {
        font-size: 0.92rem !important;
    }
}
