/* ==============================================================
DIST SPORTS & GAMES - MAIN CSS
============================================================== */

/* 🟢 SLIDER CONTAINER */
.sports-carousel-wrapper {
width: 100%;
position: relative;
background-color: #f4f7f9;
}

/* 🟢 SLIDER HEIGHT & IMAGE FIT */
.sports-carousel-inner {
height: 60vh;
min-height: 400px;
}

.sports-carousel-img {
height: 100%;
width: 100%;
object-fit: cover;
object-position: center center;
}

/* 🟢 MOBILE RESPONSIVENESS */
@media (max-width: 991px) {
.sports-carousel-inner {
height: 40vh;
min-height: 250px;
}
}

/* 🟢 REPLACED: INTERNATIONAL ACHIEVEMENTS SECTION (DEPARTMENTS STYLE ANIMATION) */
.section-main-title {
    font-family: "Nunito", sans-serif;
    font-weight: 800;
    color: #002147;
    font-size: 32px;
    letter-spacing: 0.5px;
}

.achievement-card {
    position: relative;
    background: #e9ecef;
    border-radius: 12px;
    height: 350px; /* 🟢 Sir's requested reduced height */
    overflow: hidden;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}

.ach-img {
    width: 100%;
    height: 100%; /* 🟢 Image now fits container perfectly */
    position: relative;
}

/* Base gradient to make static title readable */
.ach-img::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 60%;
    background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0) 100%);
    z-index: 1;
    pointer-events: none;
}

.ach-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

/* Static title resting at the bottom */
.ach-static-title {
    position: absolute;
    left: 0;
    bottom: 20px;
    width: 100%;
    padding: 0 15px;
    color: #ffffff;
    font-family: "Nunito", sans-serif;
    font-size: 16px;
    font-weight: 800;
    text-align: center;
    letter-spacing: 0.5px;
    z-index: 2;
    transition: all 0.4s ease;
    text-shadow: 0 2px 8px rgba(0,0,0,0.9);
}

/* 🟢 ADDED: Split Typography for Player Names and Events */
.ach-player-name {
    font-family: "Nunito", sans-serif;
    font-size: 20px; /* Increased size */
    font-weight: 900; /* Extra bold */
    text-transform: uppercase; /* Forces capital letters */
    letter-spacing: 1px;
    display: block; /* Pushes the event name to the next line naturally */
    line-height: 1.2;
}

.ach-event-name {
    font-family: "Open Sans", sans-serif;
    font-size: 14px; /* Smaller, elegant size */
    font-weight: 600;
    text-transform: none; /* Prevents capitalization */
    color: #e9ecef; /* Slightly muted white to make the name pop more */
    display: block;
    margin-top: 2px;
}

/* 🟢 Sir's Requested Hover Overlay Animation */
.ach-hover-overlay {
    position: absolute;
    left: 0;
    top: 100%; /* Starts off-screen */
    width: 100%;
    height: 100%;
    background-color: rgba(31, 33, 45, 0.92); /* Grey/Black shade animation */
    z-index: 3;
    transition: top 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    padding: 25px 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Hover Triggers */
.achievement-card:hover .ach-img img {
    transform: scale(1.08);
}
.achievement-card:hover .ach-static-title {
    opacity: 0;
    transform: translateY(15px);
}
.achievement-card:hover .ach-hover-overlay {
    top: 0;
}

/* Typography Inside Overlay */
.ach-hover-name {
    color: #d82c2e;
    font-family: "Nunito", sans-serif;
    font-weight: 800;
    font-size: 18px;
    margin-bottom: 15px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    padding-bottom: 10px;
    text-align: center; /* 🟢 FIX: Centered to match the static title */
}

.ach-list {
    padding-left: 15px;
    margin: 0;
}

.ach-list li {
    font-family: "Open Sans", sans-serif;
    font-size: 13px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.85);
    margin-bottom: 8px;
}

.ach-list li strong {
    color: #ffffff;
    font-weight: 700;
}

/* Arrows styling */
.custom-carousel-control {
    width: 5%;
    opacity: 1;
}

/* 🟢 FIX: Pushes arrows further away from the images */
.custom-carousel-control.carousel-control-prev {
    left: -25px;
}
.custom-carousel-control.carousel-control-next {
    right: -25px;
}
.custom-carousel-control i {
    color: #002147;
    font-size: 2rem;
    transition: color 0.3s ease;
}

.custom-carousel-control:hover i {
    color: #d82c2e;
}

/* 🟢 FIX: Mobile adjustments for the new dedicated mobile auto-slider */
@media (max-width: 991px) {
    .custom-carousel-control { width: 12%; }
    .custom-carousel-control.carousel-control-prev { left: -10px; }
    .custom-carousel-control.carousel-control-next { right: -10px; }
    .carousel-inner.px-5 { padding-left: 10px !important; padding-right: 10px !important; }
}

    .mobile-swipe-row {
        display: flex;
        flex-wrap: nowrap !important;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -ms-overflow-style: none;
        padding-bottom: 15px;
    }
    .mobile-swipe-row::-webkit-scrollbar {
        display: none;
    }
    .mobile-swipe-row > .col-md-6 {
        flex: 0 0 85%;
        scroll-snap-align: start;
    }

/* Locate .hall-of-fame-section */
.hall-of-fame-section {
    padding: 35px 0; /* 🟢 Reduced from 60px */
    background-color: #f8fafd;
    border-top: 1px solid #eef1f6;
}

.hof-header {
display: flex;
justify-content: space-between;
align-items: flex-end;
margin-bottom: 30px;
}

.hof-title-area .section-main-title {
margin-bottom: 8px;
text-align: left;
}

.hof-subtitle {
color: #555555;
font-family: "Open Sans", sans-serif;
font-size: 15.5px;
margin: 0;
}

.hof-nav-buttons {
display: flex;
gap: 12px;
}

.hof-btn {
width: 45px;
height: 45px;
border-radius: 5px;
background: #ffffff;
border: 1px solid #eef1f6;
color: #002147;
font-size: 16px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: all 0.3s ease;
box-shadow: 0 4px 10px rgba(0,0,0,0.03);
}

.hof-btn:hover {
background: #d82c2e;
color: #ffffff;
border-color: #d82c2e;
transform: translateY(-2px);
}

.hof-slider-container {
display: flex;
flex-wrap: nowrap; /* 🟢 FIX: This forces the cards to stay in a horizontal line */
overflow-x: auto;
gap: 25px;
padding-bottom: 30px;
scroll-snap-type: x mandatory;
scrollbar-width: none;
-ms-overflow-style: none;
scroll-behavior: smooth;
}

.hof-slider-container::-webkit-scrollbar {
display: none;
}

.hof-card {
flex: 0 0 calc(33.333% - 17px); /* 🟢 FIX: This locks them to 3 per view on desktop */
scroll-snap-align: start;
background: #ffffff;
border-radius: 12px;
border: 1px solid #eef1f6;
overflow: hidden;
transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
box-shadow: 0 4px 15px rgba(0, 33, 71, 0.04);
}

.hof-card:hover {
transform: translateY(-6px);
box-shadow: 0 15px 35px rgba(0, 33, 71, 0.08);
border-color: #d82c2e;
}

.hof-img {
width: 100%;
height: 220px;
background-color: #eef1f6;
display: flex;
align-items: center;
justify-content: center;
position: relative;
}

.hof-img::before {
content: "600 x 400 px";
position: absolute;
color: #8a98ac;
font-family: "Nunito", sans-serif;
font-weight: 800;
z-index: 1;
}

.hof-img img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center top;
position: relative;
z-index: 2;
}

.hof-content {
padding: 25px;
}

.hof-card-title {
font-family: "Nunito", sans-serif;
font-weight: 800;
color: #002147;
font-size: 19px;
margin-bottom: 10px;
line-height: 1.3;
}

.hof-card-desc {
font-family: "Open Sans", sans-serif;
font-size: 14.5px;
color: #555555;
line-height: 1.6;
margin: 0;
}

@media (max-width: 991px) {
.hof-card { flex: 0 0 calc(50% - 12.5px); }
}

@media (max-width: 767px) {
.hof-header { flex-direction: column; align-items: flex-start; gap: 15px; }
.hof-card { flex: 0 0 85%; }
}

/* 🟢 HOD MESSAGE SECTION */
.hod-message-section {
    padding: 35px 0; /* 🟢 Reduced from 50px */
    background: #ffffff;
}

.hod-card {
background: #ffffff;
border-radius: 16px;
box-shadow: 0 10px 40px rgba(0, 33, 71, 0.06);
border: 1px solid #eef1f6;
padding: 40px;
position: relative;
overflow: hidden;
transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.hod-card:hover {
transform: translateY(-5px);
box-shadow: 0 15px 50px rgba(0, 33, 71, 0.1);
border-color: #d82c2e;
}

.hod-img-wrapper {
position: relative;
display: inline-block;
padding: 10px;
}

.hod-img-wrapper::before {
content: "600 x 600 px";
position: absolute;
top: 50%; left: 50%;
transform: translate(-50%, -50%);
color: #8a98ac;
font-family: "Nunito", sans-serif;
font-weight: 800;
z-index: 1;
}

.hod-profile-img {
width: 290px;
height: 290px;
display: block;
object-fit: cover;
border-radius: 50%;
border: 8px solid #ffffff;
box-shadow: 0 8px 20px rgba(0,0,0,0.1);
position: relative;
z-index: 2;
background-color: #eef1f6;
}

.hod-img-backdrop {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(135deg, #002147, #d82c2e);
border-radius: 50%;
z-index: 1;
transform: translate(-10px, 10px);
}

.hod-content {
padding-left: 20px;
position: relative;
}

.hod-quote-icon {
position: absolute;
top: -20px;
left: 0;
font-size: 80px;
color: rgba(0, 33, 71, 0.04);
z-index: 0;
}

.hod-name {
font-family: "Nunito", sans-serif;
font-weight: 900;
color: #002147;
font-size: 28px;
margin-bottom: 5px;
position: relative;
z-index: 2;
}

.hod-role {
font-family: "Open Sans", sans-serif;
font-size: 14.5px;
font-weight: 700;
color: #d82c2e;
text-transform: uppercase;
letter-spacing: 1px;
margin-bottom: 20px;
position: relative;
z-index: 2;
}

.hod-message {
font-family: "Open Sans", sans-serif;
font-size: 16px;
line-height: 1.8;
color: #555555;
font-style: italic;
margin: 0;
position: relative;
z-index: 2;
}

@media (max-width: 991px) {
.hod-card { padding: 30px 20px; text-align: center; }
.hod-content { padding-left: 0; margin-top: 30px; }
.hod-quote-icon { left: 50%; transform: translateX(-50%); }
.hod-img-backdrop { transform: translate(5px, 5px); }
.hod-profile-img { width: 220px; height: 220px; margin: 0 auto; }
}

/* 🟢 EXACT MATCH: "A GLIMPSE INTO SPORTS" SECTION */
.glimpse-section {
    padding: 35px 0; /* 🟢 Reduced from 60px */
    background: #ffffff;
}

.glimpse-grid-container {
display: flex;
gap: 20px;
margin-top: 30px;
}

.glimpse-half {
width: 50%;
display: flex;
flex-direction: column;
gap: 20px;
}

.glimpse-split {
display: flex;
gap: 20px;
width: 100%;
}

.glimpse-split .gl-item {
width: 50%;
}

.gl-item {
border-radius: 8px;
overflow: hidden;
position: relative;
box-shadow: 0 4px 15px rgba(0, 33, 71, 0.05);
background-color: #eef1f6;
display: flex;
align-items: center;
justify-content: center;
color: #8a98ac;
font-family: "Nunito", sans-serif;
font-weight: 800;
font-size: 20px;
letter-spacing: 1px;
}

.gl-item img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.5s ease;
z-index: 2;
}

.gl-item:hover img {
transform: scale(1.05);
}

.gl-left-top-wide { aspect-ratio: 800 / 450; width: 100%; }
.gl-left-bot-tall { aspect-ratio: 400 / 550; width: calc(50% - 10px); }

.gl-right-top-tall { aspect-ratio: 400 / 550; width: calc(50% - 10px); }
.gl-right-bot-wide { aspect-ratio: 800 / 450; width: 100%; }

@media (max-width: 991px) {
.glimpse-grid-container { flex-direction: column; }
.glimpse-half { width: 100%; }
}

@media (max-width: 575px) {
.glimpse-split { flex-direction: column; }
/* 🟢 THE FIX: We removed the forced landscape shape here so tall images stay tall! */
.gl-left-bot-tall, .gl-right-top-tall { width: 100%; aspect-ratio: 400 / 550; }
}







/* ==============================================================
🟢 GLOBAL FIXES (Forces layout elements to the front!)
============================================================== */
.scroll-top {
z-index: 999999 !important; /* Pulls the 'i' button above everything */
}
