/* ========================================
   FORCE HERO BELOW HEADER (DESKTOP ONLY)
   OVERRIDE NEGATIVE MARGINS
   ========================================= */
/* ========================================
   REDUCE HERO OVERALL SIZE
   KEEP ORIGINAL IMAGE RATIO
   DESKTOP ONLY
   ======================================== */
@media (min-width: 992px) {

  /* Reduce overall hero size */
  .heroSection {
    max-width: 900px;     /* controls overall scale */
    margin: 24px auto 0;  /* spacing below header */
    padding: 0 16px;
  }

  /* Remove forced height so ratio stays original */
  .mySwiper .swiperImage,
  .hero-carousel img {
    width: 80%;
    height: 70vh;         /* KEY LINE */
    max-height: none;
    object-fit: cover;
  }

  .heroSection .swiper-container,
  .heroSection .mySwiper {
    border-radius: 16px;
    overflow: hidden;
  }
}

/* ========================================
   HERO SIZE REDUCTION (MOBILE + TABLET)
   ======================================== */

/* Mobile */
@media (max-width: 767px) {
    .heroSection {
        transform: scale(0.9);
        transform-origin: top center;
    }
}

/* Gallery */

#waterfall {
    margin: 10px;
    overflow: hidden;
}

#waterfall.min {
    margin: 0;
}

#waterfall li {
    left: 0;
    top: 0;
    opacity: 0;
    z-index: 0;
    transform: translateY(100px);
}

#waterfall li:hover {
    z-index: 1;
}

#waterfall li.show {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.3s, top 1s;
}

#waterfall li>div {
    color: rgba(0, 0, 0, 0.6);
    font-size: 32px;
    border-radius: 3px;
    margin: 10px;
    background: rgb(255, 255, 255);
    border: 1px solid rgba(038, 191, 64, 0);
    transition: all 0.5s;
}

#waterfall li>div:hover {
    /* transform: translateY(-10px); */
    /* border: 1px solid var(--secondary-color2);
    box-shadow: 0px 0px 80px var(--secondary-color2); */
    transition: all 0.3s;
    cursor: pointer;
}

#waterfall li.min>div {
    margin: 0;
    transform: none;
    border: none;
    border-radius: 0;
    box-shadow: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

#waterfall li.min>div:hover {
    transform: none;
    border: none;
    border-radius: 0;
    box-shadow: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

ol,
ul {
    list-style: none
};
.upperBigImg1 .detailArr span, .videosGallery .detailArr span {
    color: #fff;
    font-weight: 500;
    font-size: 16px;
}

.photosGallery img {
    border-radius: 8px;
}
.photosGallery a span, .videosGalleryContainer a span {
    color: #fff;
    font-weight: 500;
    font-size: 16px;
}

.thumbnail {
    width: 100%;
    /* Ensure thumbnails fill their containers */
    height: auto;
    cursor: pointer;
    transition: 0.3s;
}

.thumbnail:hover {
    opacity: 0.7;
}

.lightbox {
    display: none;
    position: fixed;
    z-index: 10;
    padding-top: 60px;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.9);
    
}

.lightbox-content {
    display: block;
    margin: auto;
    max-width: 80%;
    max-height: 70vh;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: white;
    padding: 15px 15px;
    border-radius: 8px;
}

.close {
    position: absolute;
    top: 15px;
    right: 35px;
    color: #f1f1f1;
    font-size: 40px;
    font-weight: bold;
    transition: 0.3s;
    cursor: pointer;
    background-color: unset !important;
}

.close:hover,
.close:focus {
    color: #bbb;
    text-decoration: none;
}

.caption {
    margin: auto;
    display: block;
    width: 80%;
    max-width: 700px;
    text-align: center;
    color: #ccc;
    padding: 10px 0;
}

.responsive-iframe {
    max-height: 80vh;
    border: none;
}

footer .copyRightText span p {
    margin-bottom: 0rem !important;
}

/* ========================================
   MOBILE GALLERY VISIBILITY FIX
   ======================================== */

@media (max-width: 767px) {

    #waterfall {
        display: flex !important;
        flex-direction: column !important;
    }

    #waterfall li {
        opacity: 1 !important;
        transform: none !important;
        position: relative !important;
    }

}

/* =================================
   ADMISSION FORM GRID
   ================================= */

.admissionPage .formDiv{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:20px;
width:100%;
}

.admissionPage .formDiv > *{
width:100%;
min-width:0;
}

/* Tablet */

@media(max-width:992px){
.admissionPage .formDiv{
grid-template-columns:repeat(2,1fr);
}
}

/* Mobile */

@media(max-width:768px){
.admissionPage .formDiv{
grid-template-columns:1fr;
}
}

/* =================================
   REMOVE BOOTSTRAP WIDTH LIMITS
   ================================= */

.admissionPage .formDiv .col-lg-6,
.admissionPage .formDiv .col-lg-4,
.admissionPage .formDiv .col-lg-8{
width:100%;
max-width:100%;
flex:unset;
}



/* =================================
   INPUTS
   ================================= */

input,
textarea,
select{
width:100%;
border:1px solid #A5B7C4;
border-radius:6px;
padding:8px 10px;
}

/* =================================
   GENDER BOX
   ================================= */

.genderBox{
display:flex;
gap:15px;
margin-top:5px;
flex-wrap:wrap;
}

.genderBox label{
display:flex;
align-items:center;
gap:6px;
padding:6px 12px;
border:1px solid #A5B7C4;
border-radius:6px;
cursor:pointer;
}

.genderBox input{
width:auto;
}

/* =================================
   FILE UPLOAD
   ================================= */

   .file-upload{
   width:100%;
   border:none;
   padding:0;
   background:none;
   }

   .file-select{
   display:flex;
   align-items:center;
   gap:10px;
   border:1px solid #A5B7C4;
   border-radius:6px;
   padding:6px 10px;
   width:100%;
   background:#fff;
   }

   .file-select button{
   background:#3a7afe;
   color:#fff;
   border:none;
   padding:6px 14px;
   border-radius:4px;
   cursor:pointer;
   flex-shrink:0;
   }

   select{
   width:100%;
   border:1px solid #A5B7C4;
   border-radius:6px;
   padding:8px 10px;
   background:#fff;
   appearance:none;
   outline:none;
   box-shadow:none;
   }


/* =================================
   IMAGE UPLOAD
   ================================= */

.studentImageUpload{
display:flex;
flex-direction:column;
align-items:center;
gap:10px;
}

.upperImgPreview,
.lowerImgPreview{
width:160px;
height:160px;
object-fit:cover;
border-radius:8px;
}

/* =================================
   TEXTAREA HEIGHT
   ================================= */

textarea{
min-height:90px;
}

.admissionPage .formWapper .row{
margin-left:0;
margin-right:0;
}

.studentImageUpload{
grid-column:span 2;
}

/* =================================
   RADIO GROUP (YES / NO)
   ================================= */

/* =================================
   RADIO GROUP (YES / NO)
   ================================= */

   .radioGroup{
   display:flex;
   gap:20px;
   margin-top:6px;
   }

   .radioGroup label{
   display:flex;
   align-items:center;
   gap:6px;
   cursor:pointer;
   }

   .radioGroup input{
   width:auto;
   }


/* ================================
   FIX DROPDOWN BORDER
   ================================ */

.admissionPage .formContainer .formWapper .inputWrapper select{
border:1px solid #A5B7C4 !important;
background:#fff !important;
padding:8px 12px;
border-radius:6px;
appearance:none;
}