/* Mobile Styles */
@media (max-width: 1400px) {
        .vision-img img, .mission-img img{
        height: 200px !important;
    }

    .courses-slider {
        height: 45vh;
    }

    .courses-section {
        padding-top: 24vh;
    }

    .gallery-tabs .nav-link {
        padding: 10px 20px;
    }

    .opp-img-label {
        left: 50px;
    }

    .card-title {
        font-size: 30px;
    }

    .card-duration {
        font-size: 18px;
    }
}

@media (max-width: 1200px) {
    p{
        font-size: 14px;
    }

    .gradient-text {
        font-size: 35px;
    }

    nav ul {
        gap: 20px;
    }

    header .logo img{
        width: 190px;
    }

    .text-content p {
        font-size: 14px;
    }

}


@media (max-width: 992px) {
    .SMN_effect-31 a span {
        transition: none;
        transform: none !important;
    }

    .SMN_effect-31 a:after {
        display: none;
    }

    .SMN_effect-31 a:hover span {
        transform: none !important;
    }

    p {
        font-size: 16px;
    }

    .text-content p {
        font-size: 16px;
    }

    .social-pills {
        display: none;
    }

    header .header-container {
        border-radius: 0px;
        padding: 15px 30px;
        box-shadow: inherit;
        transition: background-color 400ms cubic-bezier(1, 0.0, 0.4, 1), box-shadow 400ms cubic-bezier(1, 0.0, 0.4, 1);
        margin: 0;
        width: 100%;
        max-width: 100%;
    }

    header .logo img {
        width: 250px;
    }

    /* Hide desktop nav */
    .desktop-nav-col, .desktop-btn-col {
        display: none !important;
    }

    /* Show mobile-only elements (hamburger, overlay) */
    .hamburger-menu.mobile-only {
        display: flex !important;
    }
    .mobile-menu-overlay.mobile-only {
        display: flex !important;
    }

    /* Mobile Overlay Wrap attached to body */
    .mobile-menu-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100dvh;
        background: #001421e0; /* Dark glass */
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        z-index: 999;
        visibility: hidden;
        opacity: 0;
        transition: all 0.4s ease;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        padding-top: 150px;
        clip-path: circle(0% at 90% 10%);
        transition: clip-path 0.6s cubic-bezier(0.77, 0, 0.175, 1), visibility 0.6s, opacity 0.6s;
    }

    .mobile-menu-overlay.menu-open {
        visibility: visible;
        opacity: 1;
        clip-path: circle(150% at 90% 10%);
    }

    .mobile-nav-col {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
    }
    
    .mobile-btn-col {
        height: auto;
        padding: 45px 20px;
        display: flex;
        justify-content: center;
        transform: translateY(100%);
        opacity: 0;
        transition: transform 0.5s ease 0.2s, opacity 0.5s ease 0.2s;
    }

    .mobile-menu-overlay.menu-open .mobile-btn-col {
        opacity: 1;
        transform: translateY(0);
    }

    .mobile-menu-overlay nav {
        height: auto;
        width: 100%;
    }

    .mobile-menu-overlay nav ul {
        flex-direction: column;
        align-items: center;
        gap: 25px;
        width: 100%;
    }

    .mobile-menu-overlay nav ul li {
        width: 100%;
        text-align: center;
    }

    .mobile-menu-overlay nav ul li a {
        font-size: 20px;
        display: block;
        padding: 10px;
        text-align: center;
    }

    /* Mobile Dropdown */
    .mobile-menu-overlay .has-dropdown .dropdown {
        position: relative;
        top: 0;
        left: 0;
        width: 100%;
        background: transparent;
        border: none;
        box-shadow: none;
        padding: 0;
        visibility: visible;
        opacity: 1;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.4s ease;
        pointer-events: auto;
    }

    .mobile-menu-overlay .has-dropdown.mobile-drop-open .dropdown {
        max-height: 250px;
        padding-top: 15px;
    }

    .mobile-menu-overlay .has-dropdown .dropdown li a {
        font-size: 16px;
        padding: 10px;
        background: transparent;
    }
    
    .mobile-menu-overlay .enquiry-btn {
        justify-content: center;
        width: 100%;
    }
    
    .mobile-menu-overlay .enquiry-btn a {
        width: 100%;
        text-align: center;
    }

    .mobile-menu-overlay .enquiry-btn a button {
        width: 80%;
        padding: 12px 30px;
        font-size: 18px;
    }


    /* ────────── MOBILE SLIDER (Full GSAP + Pill Toggle) ────────── */

    .about-slider-section {
        padding-top: 0vh;
    }

    .about-slider-section .badge-tag {
        margin-top: 150px;
    }

    /* Make screens scrollable within the pinned layout */
    .slide-screen {
        height: 100dvh;
        overflow-y: auto;
        overflow-x: hidden;
        padding-bottom: 110px;
        pointer-events: auto;
    }
    /* Hide scrollbar for cleaner look (optional) */
    .slide-screen::-webkit-scrollbar {
        width: 0px;
    }

    /* Ensure Images wrap/shrink so it doesn't break horizontal width */
    .images-container {
        flex-wrap: wrap;
        margin-top: 20px;
    }

    .img-1::before, .img-2::before {
        background: none;
    }

    /* Transform bottom nav into fixed Pill Toggle */
    .bottom-nav-container {
        display: flex !important;
        position: absolute;
        bottom: 5vh;
        left: 50%;
        transform: translateX(-50%);
        justify-content: center;
        padding: 0;
        z-index: 100;
    }

    .bottom-nav-links {
        display: flex;
        background: rgba(255, 255, 255, 0.15);
        border: 1px solid #42C0E8;
        border-radius: 50px;
        padding: 4px 15px;
        gap: 0;
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
    }

    .nav-item {
        flex: 1;
        text-align: center;
        padding: 8px 5px !important;
        margin: 0;
        font-size: 16px;
        color: rgba(255, 255, 255, 0.5);
        white-space: nowrap;
        cursor: pointer;
        transition: color 0.3s;
        border-radius: 30px;
        font-weight: 300;
    }

    .nav-item.active {
        color: #77deff;
        font-weight: 500;
    }

    .nav-item .loader-track {
        display: none !important;
    }



    .mv-text {
        height: auto;
    }

    .mission-img {
        margin-bottom: 30px;
    }
    /* ────────── COURSES SECTION (Tablet) ────────── */

    .courses-section {
        height: auto;
        min-height: 100vh;
        padding-top: 0;
        padding-bottom: 10vh;
        overflow-x: hidden;
    }

    .courses-slider {
        height: 55vh;
        margin-top: 3vh;
    }

    .courses-title h1 {
        font-size: 32px !important;
    }

    /* Adjust card sizes for tablet */
    .course-card {
        width: 65vw;
    }

    /* Recalculate transforms for tablet card widths */
    /* Card width = 65vw, side scale = 0.85, gap = 12px */
    /* Side card visual width = 65vw * 0.85 = 55.25vw */
    /* Offset = (65vw/2) + (55.25vw/2) + 12px = 32.5vw + 27.625vw + 12px = 60.125vw + 12px */

    .course-card.is-prev {
        transform: translateX(calc(-50% - 60.125vw - 12px)) scale(0.85);
    }

    .course-card.is-next {
        transform: translateX(calc(-50% + 60.125vw + 12px)) scale(0.85);
    }

    .course-card.is-hidden-left {
        transform: translateX(calc(-50% - 140vw)) scale(0.6);
    }

    .course-card.is-hidden-right {
        transform: translateX(calc(-50% + 140vw)) scale(0.6);
    }

    /* Adjust card overlay text size */
    .card-label {
        font-size: 18px;
    }

    .card-title {
        font-size: 28px;
    }

    .card-overlay {
        bottom: 25px;
        left: 25px;
    }

    .cs-prev {
        left: calc(50% - 32.5vw - 40px - 21px);
    }

    .cs-next {
        right: calc(50% - 32.5vw - 40px - 21px);
    }

    .courses-title {
        margin-top: 150px;
    }

    /* ────────── FOOTER (Tablet) ────────── */

    .footer-sec {
        padding: 30px;
    }

    .footer-inner {
        padding: 40px 30px;
        border-radius: 20px;
    }

    .footer-watermark {
        width: 92%;
        bottom: -4%;
    }

    .footer-desc {
        font-size: 15px;
    }

    .footer-heading {
        font-size: 12px;
        margin-bottom: 20px;
    }

    .footer-links li a {
        font-size: 14px;
    }

    .footer-btn {
        font-size: 14px;
        padding: 10px 25px;
    }
}

@media (max-width: 992px){

    body {
        overflow-y: auto !important;
        height: auto !important;
    }

    /* HEADER */

    header .logo img {
        width: 210px;
    }

    /* .hero-section */

    .hero-section {
        background-image: url(../images/hero-bg-respo.webp);
    }
    .hero-content h1 {
        font-size: 30px;
    }
    .hero-content h1 .hero-reveal.gradient-text {
        font-size: 50px;
    }


    .about-slider-section .badge-tag {
        font-size: 12px;
        margin-bottom: 25px;
    }

    .img-1, .img-2 {
        margin: 0px;
    }

    /* ────────── COURSES SECTION ────────── */

    .courses-section {
        height: auto;
        min-height: 100vh;
        padding-top: 0;
        padding-bottom: 15vh;
    }

    .courses-slider {
        height: 50vh;
        margin-top: 3vh;
    }

    .courses-title h1 {
        font-size: 28px !important;
    }

    /* Adjust card sizes for mobile */
    .course-card {
        width: 80vw;
    }

    /* Recalculate transforms for mobile card widths */
    /* Card width = 80vw, side scale = 0.85, gap = 10px */
    /* Side card visual width = 80vw * 0.85 = 68vw */
    /* Offset = (80vw/2) + (68vw/2) + 10px = 40vw + 34vw + 10px = 74vw + 10px */

    .course-card.is-prev {
        transform: translateX(calc(-50% - 74vw - 10px)) scale(0.85);
    }

    .course-card.is-next {
        transform: translateX(calc(-50% + 74vw + 10px)) scale(0.85);
    }

    .course-card.is-hidden-left {
        transform: translateX(calc(-50% - 150vw)) scale(0.6);
    }

    .course-card.is-hidden-right {
        transform: translateX(calc(-50% + 150vw)) scale(0.6);
    }

    /* Adjust card overlay text size */
    .card-label {
        font-size: 16px;
    }

    .card-title {
        font-size: 24px;
    }

    .card-overlay {
        bottom: 20px;
        left: 20px;
    }

    /* Adjust nav buttons position for mobile */
    .cs-nav-btn {
        width: 36px;
        height: 36px;
        font-size: 13px;
    }

    .cs-prev {
        left: 10px;
    }

    .cs-next {
        right: 10px;
    }

    /* Counter styling */
    .cs-counter {
        font-size: 18px;
    }

    /* ────────── JB TRAINING SECTION MOBILE ────────── */
    .jb-training-section-mobile {
        position: relative;
        padding-top: 150px;
        padding-bottom: 50px;
        min-height: 100vh;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 50px;
        background-color: #060e15;
        background-image: linear-gradient(to right, rgb(255 255 255 / 2%) 2px, transparent 2px), linear-gradient(to bottom, rgba(255, 255, 255, 0.02) 2px, transparent 2px);
        background-size: 50px 50px;
    }

    .jb-training-content {
        position: relative;
        z-index: 2;
    }

    .mobile-marquee {
        width: 100%;
        overflow: hidden;
        position: relative;
        z-index: 1;
    }

    .marquee-track {
        display: flex;
        gap: 15px;
        width: max-content;
        animation: scrollMarquee 25s linear infinite;
    }

    .marquee-track.reverse {
        animation: scrollMarqueeReverse 25s linear infinite;
    }

    .marquee-track img {
        width: 120px;
        height: 120px;
        object-fit: cover;
        border-radius: 15px;
    }

    @keyframes scrollMarquee {
        0% { transform: translateX(0); }
        100% { transform: translateX(calc(-50% - 7.5px)); }
    }

    @keyframes scrollMarqueeReverse {
        0% { transform: translateX(calc(-50% - 7.5px)); }
        100% { transform: translateX(0); }
    }

    /* ────────── GALLERY TABS MOBILE ────────── */
    .gallery-tabs-container {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        margin-bottom: 30px;
        padding-bottom: 10px;
        justify-content: flex-start;
        display: flex;
        width: 100%;
    }

    .gallery-tabs-container::-webkit-scrollbar {
        display: none; /* Hide scrollbar for cleaner look */
    }

    .gallery-tabs {
        flex-wrap: nowrap;
        width: max-content;
        gap: 0px;
        padding: 0 5px;
        border: 1px solid rgb(255 255 255 / 22%);
    }

    .gallery-tabs .nav-link {
        white-space: nowrap;
        border-radius: 999px;
        padding: 5px 16px;
        font-size: 14px;
        color: rgba(255, 255, 255, 0.6);
        background: transparent;
        border: none;
    }

    .gallery-tabs .nav-link.active {
        background-color: var(--secondary-color);
        color: #fff;
    }

    /* ────────── OPPORTUNITIES SECTION MOBILE ────────── */

    .opportunities-section-mobile {
        position: relative;
        overflow: hidden;
        background-color: #060e15;
        background-image: linear-gradient(to right, rgb(255 255 255 / 1%) 1px, #0000006e 1px), linear-gradient(to bottom, rgba(255, 255, 255, 0.02) 2px, transparent 1px);
        background-size: 50px 50px;
    }

    /* Fixed image block */
    .opp-mob-img-wrap {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 45vw;
        min-height: 380px;
        max-height: 320px;
        overflow: hidden;
        z-index: 9;
        border-radius: 0 0 20px 20px;
    }

    .opp-mob-img-spacer {
        height: 45vw;
        min-height: 220px;
        max-height: 320px;
    }

    .opp-mob-img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        opacity: 0;
        transition: opacity 0.4s ease;
        border-radius: 0 0 20px 20px;
    }

    .opp-mob-img.is-visible {
        opacity: 1;
    }

    .opp-mob-img-wrap::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 60%;
        background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, transparent 100%);
        z-index: 1;
        pointer-events: none;
    }

    .opp-mob-img-label {
        position: absolute;
        bottom: 20px;
        left: 20px;
        font-size: 22px;
        color: #fff;
        z-index: 2;
        text-shadow: 0 2px 8px rgba(0,0,0,0.6);
        font-family: 'Belleza', sans-serif;
    }

    /* Scrollable list below */
    .opp-mob-list-wrap {
        position: relative;
        z-index: 2;
        padding: 100px 0 60px 0;
        background-color: transparent;
    }

    .oppo-mob-item {
        position: relative;
        padding: 18px 0;
        cursor: pointer;
    }

    .oppo-mob-item::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        height: 1px;
        width: 0%;
        background: #fff;
        border-radius: 2px;
        transition: none;
    }

    .oppo-mob-item.is-active::after {
        animation: mob-loader-line 0.6s ease forwards;
    }

    @keyframes mob-loader-line {
        from { width: 0%; }
        to   { width: 100%; }
    }

    .oppo-mob-item .opp-cnt {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: 10px;
    }

    .oppo-mob-item .opp-item-icon {
        color: var(--secondary-color);
        font-size: 22px;
    }

    .oppo-mob-item .opp-item-title {
        font-size: 20px;
        font-weight: 400;
        margin: 0;
    }

    .oppo-mob-item .opp-item-arrow span {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 33px;
        height: 33px;
        border-radius: 50%;
        background-color: #d3ff8f33;
        color: #fff;
        font-size: 15px;
        transition: transform 0.3s ease, background-color 0.3s ease;
        transform: rotate(90deg);
    }

    .oppo-mob-item.is-active .opp-item-arrow span {
        background-color: var(--secondary-color);
        transform: rotate(-135deg);
    }

    .oppo-mob-item .opp-item-desc {
        color: rgba(255, 255, 255, 0.6);
        font-size: 14px;
        line-height: 1.6;
        margin-top: 8px;
        margin-bottom: 0;
    }

    .opp-divider {
        border-color: rgba(255,255,255,0.1);
    }

    /* ────────── JB-Trainig ────────── */

    .jb-training-content{
        padding: 50px;
    }

    .jb-training-content h2{
        font-size: 45px;
    }

    .marquee-track img {
        width: 180px;
        height: 180px;
    }

    .training-galelry {
        padding: 130px 0 100px 0;
    }



    .convo-gallery {
        padding: 150px 0 100px 0;
    }


    /* alumni ---------- */

    .alumni-banner {
        min-height: auto;
    }

    .alumni-bg-gradient {
        top: -151px;
        right: -71px;
        scale: 0.7;
    }

    /* ────────── FOOTER ────────── */

    .footer-sec {
        padding: 20px;
    }

    .footer-inner {
        padding: 30px 20px;
        border-radius: 15px;
    }

    .footer-watermark {
        width: 95%;
        bottom: -3%;
    }

    .footer-desc {
        font-size: 14px;
        max-width: 100%;
    }

    .footer-heading {
        font-size: 12px;
        margin-bottom: 15px;
    }

    .footer-links li a {
        font-size: 14px;
    }

    .footer-btn {
        font-size: 14px;
        padding: 10px 20px;
    }

    .social-icons-footer a {
        font-size: 18px;
    }

    .footer-social {
        justify-content: flex-start;
    }
}


@media (max-width: 768px){
    .oppo-bg-text-mob {
        font-size: 70px;
    }

    .contact-sec {
        padding-top: 20vh;
    }

    .jb-life-section {
        padding-top: 13vh;
    }
}

@media (max-width: 568px){

    header .logo img {
        width: 190px;
    }

    .gradient-text {
        font-size: 28px;
    }

    .text-content p,p {
        font-size: 15px;
    }




    .hero-content h1 {
        font-size: 25px;
        margin-bottom: 30px;
    }

    .hero-content h1 .hero-reveal.gradient-text{
        font-size: 45px;
    }



    /* .course-card {
        width: 78vw;
    }

    .cs-nav-btn {
        width: 34px;
        height: 34px;
    } */
     .cs-nav-btn:hover {
        transform: none;
    }

    .cs-prev {
        left: 75%;
        transform: translateX(-50%);
        bottom: -65px;
    }

    .cs-next {
        left: 90%;
        transform: translateX(-50%);
        bottom: -65px;
        top: inherit;
    }

    .course-card {
        border-radius: 20px;
    }
    .card-duration {
        top: 21px;
        right: 20px;
        font-size: 16px;
        padding: 5px 20px;
        border: 1px solid #64a30457;
    }


    .oppo-bg-text-mob {
        font-size: 45px;
    }

    /* ────────── JB-Trainig ────────── */

    .jb-training-content {
        padding: 30px 0;
    }

    .jb-training-content h2{
        font-size: 35px;
    }

    .marquee-track img {
        width: 140px;
        height: 140px;
    }

    .jb-training-section-mobile {
        padding-bottom: 120px;
        min-height: auto;
    }

    .alumni-bg-gradient {
        top: -175px;
        right: -73px;
        scale: 0.8;
        opacity: 0.7;
    }

    .batch-name {
        font-size: 22px;
    }

    .alumni-header-row {
        margin-bottom: 20px;
    }

    .footer-sec {
        padding: 15px;
    }

    .alumnees-badge {
        padding: 6px 10px;
        font-size: 12px;
        margin-bottom: 10px;
    }

    .alumnees-header {
        margin-bottom: 30px;
    }

    .alumni-banner {
        padding-bottom: 50px;
    }

}


@media (max-width: 400px){

   .hero-content h1 .hero-reveal.gradient-text {
        font-size: 40px;
    }

    .footer-social {
        gap: 20px;
        justify-content: flex-start;
    }



}


/* height============================================================================= */


@media (max-height: 700px) and (1200px <= width <= 1400px){
    header .logo img {
        width: 220px;
    }

    header .header-container {
        padding: 10px 20px;
        margin: 20px auto;
    }

    .about-slider-section {
        padding-top: 20vh;
    }

    .about-slider-section .badge-tag {
        font-size: 13px;
        margin-bottom: 20px;
    }

    .gradient-text {
        font-size: 35px;
    }

    .text-content p {
        font-size: 15px;
        line-height: auto;
        max-width: 100%;
    }

    .social-pills {
        bottom: 3vh;
    }

    .bottom-nav-container {
        bottom: 3dvh;
    }

}

@media (max-height: 700px){
    .mobile-menu-overlay nav ul {
        gap: 10px;
    }

    .opp-mob-img-wrap {
        min-height: 320px;
    }

}