@keyframes scroll-left {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}

@keyframes scroll-right {
    from {
        transform: translateX(-50%);
    }
    to {
        transform: translateX(0);
    }
}

body.placement-page{
    --title-1:32px;
    --title-2:36px;
    --subtitle-1:13px;
    --subtitle-2:16px;

    /* common elements */
    .section-title{
        color: #000;
        font-family: Inter;
        font-size: 30px;
        font-weight: 400;
        line-height: 110%;
        letter-spacing: -0.72px;
        text-align: center;
        margin-bottom: 20px;
        .highlight{
            font-weight: 600;
            line-height: 110%;
        }     
}
    }
    .section-description{
        color: #000;
        font-family: Inter;
        font-size: 13px;
        font-weight: 300;
        line-height: 140%;
        letter-spacing: -0.6px;
        text-align: center;
        margin-bottom: 40px;
    }

    section.placement-assistance-hero{
        background:
            linear-gradient(
                0deg,
                rgba(255, 255, 255, 0) 7.47%,
                #FFFCEB 73.61%
            ),
            url("../images/placement/hero-bg.webp") center / cover no-repeat;
        .container{
            overflow: hidden;
        }
        .left-section{
            .section-title{
                display: flex;
                flex-wrap: wrap;
                flex-direction: column;
                align-items: center;
            }
            .placement-cta{
                display: flex;
                justify-content: space-between;
                flex-wrap: wrap;
                background-color: #FFFFFF;
                border-radius: 20px;
                padding: 15px 5px;
                .placement-cta-item{
                    display: flex;
                    align-items: center;
                    flex-direction: column;
                    gap: 3px;
                    flex: 0 0 calc(25% - 16px);
                    .icon{
                        width: 29px;
                        height: 29px;
                        margin-bottom: 5px;
                        svg{
                            width: 100%;
                            height: 100%;
                        }
                    }
                    .placement-cta-text-container{
                        display: flex;
                        flex-direction: column;
                        align-items: center;
                        .headline{
                            color: #1E1E1E;
                            text-align: center;
                            font-family: Inter;
                            font-size: 14px;
                            font-weight: 700;
                            line-height: 140%; /* 19.6px */
                            letter-spacing: -0.28px;
                        }
                        .sub-headline{
                            color: #1E1E1E;
                            text-align: center;
                            font-family: Inter;
                            font-size: 7px;
                            font-weight: 400;
                            line-height: 140%; /* 9.8px */
                        }
                    }
                }
                hr{
                    border: solid 1px #E5E7E8;
                }
            }
        }

        /* right section */
        .right-section{
            margin-top: 51px;
            width: 100vw;
            scale: 1.09;
            .placement-cta-image-container{
                display: flex;
                align-items: flex-end;
                img{
                    width: 100%;
                }
            }
        }
   }

   /* Success stories section */
   section.success-stories{
        padding-top: 54px;
        background: #F5F6F6;
       .container{
           padding-left: 0;
           padding-right: 0;
           max-width: none;
           .section-title{
                text-align: center;
                display: flex;
                flex-direction: column;
                margin-bottom: 41px;
           }
           .success-stories-container{
                overflow: auto;
                padding: 0px 25px;
                /* Firefox */
                scrollbar-width: none;

                /* IE and old Edge */
                -ms-overflow-style: none;
               .success-story-items-wrapper{
                   display: flex;
                   width: max-content;
                   overflow: hidden;
                   gap: 15px;
                   .success-story-item{
                        width: 240px;
                        border-radius: 10px;
                        overflow: hidden;
                        aspect-ratio: 2 / 3.7;
                        iframe{
                            width: 100%;
                            height: 100%;
                        }
                        /* YouTube lazy thumbnail container */
                        .youtube-lazy{
                            position: relative;
                            width: 100%;
                            height: 100%;
                            display: block;
                            cursor: pointer;
                            outline: none;
                        }
                        .youtube-thumb-img{
                            width: 100%;
                            height: 100%;
                            object-fit: cover;
                            display: block;
                        }
                        .youtube-play-overlay{
                             position: absolute;
                             inset: 0;
                             display: flex;
                             align-items: center;
                             justify-content: center;
                             pointer-events: none;
                             background: linear-gradient(180deg, rgba(0,0,0,0.0) 0%, rgba(0,0,0,0.18) 100%);
                         }
                         .youtube-loader{
                             position: absolute;
                             inset: 0;
                             background: rgba(0, 0, 0, 0.65);
                             display: flex;
                             align-items: center;
                             justify-content: center;
                             z-index: 10;
                             backdrop-filter: blur(4px);
                             -webkit-backdrop-filter: blur(4px);
                         }
                         .yt-spinner{
                             width: 45px;
                             height: 45px;
                             border: 4px solid rgba(255, 255, 255, 0.2);
                             border-left-color: #FF0000;
                             border-radius: 50%;
                             animation: yt-spin 0.8s linear infinite;
                         }
                   }
               }
               /* .success-story-items-wrapper.play{
                   animation: scroll-left 250s linear infinite ;
               }
               .success-story-items-wrapper.paused{
                    animation-play-state: paused !important;
                    -webkit-animation-play-state: paused !important;
               } */
           }
           .success-stories-container:nth-child(2){
                margin-bottom: 20px;
                /* .success-story-items-wrapper.play{
                   animation: scroll-right 250s linear infinite ;
                }
                .success-story-items-wrapper.paused{
                    animation-play-state: paused !important;
                    -webkit-animation-play-state: paused !important;
                } */
           }
           .success-stories-container::-webkit-scrollbar {
                display: none;
            }
       }
   }

   /* Review section */
   section.reviews-section{
       .container{
            .section-title{
                margin-bottom: 40px;
                text-align: center;
            }
        }
        .reviews-content{
            padding:0;
            padding-left: 0 !important;
            margin-left: 0 !important;
            margin-bottom: 50px;
            .reviews-slider-wrapper{
                overflow-x: auto;
                overflow-y: hidden;
                touch-action: pan-x pan-y;
                scrollbar-width: none;
                -ms-overflow-style: none;
                &::-webkit-scrollbar {
                    display: none;
                }
                .reviews-slider{
                    animation-duration: 450s;
                    .review-card{
                        .review-card-inner{
                            background-color: #FFFFFF;
                        }
                        .review-card-inner::after{
                            border-top-color: #FFFFFF;
                        }
                    }
                }
            }
        }
        .reviews-content:nth-child(1) .reviews-slider-wrapper .reviews-slider{
            animation: scroll-left 450s linear infinite;  
                    
        }
        .reviews-content:nth-child(2) .reviews-slider-wrapper .reviews-slider{
            animation: scroll-right 450s linear infinite;               
        }
        .reviews-slider-wrapper .reviews-slider.js-review-loop{
            animation: none;
            transform: none;
        }
   }

   @media screen and (min-width: 1200px) {
       section.reviews-section .reviews-slider-wrapper {
           width: 100%;
           box-sizing: border-box;
       }

       section.reviews-section .review-card {
           width: clamp(285px, 20vw, 420px);
           max-width: none;
       }
   }

    /* Hiring Companies Section */

    section.top-hiring-companies{
        .container{
            padding: 25px 0 50px;
            max-width: 100%;
            width: 100%;
        }
        background-color: #FFFFFF;
        overflow: hidden;
        .section-title{
            margin-bottom: 40px;
            .highlight{
                font-weight: 500;
            }
        }
        .hiring-companies-container{          
            .hiring-companies-list{
                display: flex;
                flex-direction: column;
                gap: 33px;
                overflow: hidden;
                width: 100%;
                .hiring-companies{
                    display: flex;
                    width: max-content;
                    gap: 40px;
                    animation: scroll-left 600s linear infinite;
                    .hiring-company{
                        height: 50px;
                        flex-shrink: 0;
                        padding: 2px;
                        img{
                            height: 100%;
                        }
                    }
                }
                .hiring-companies:nth-child(2),
                .hiring-companies:nth-child(4){
                    animation: scroll-right 600s linear infinite;
                }
                .hiring-companies:nth-child(1),
                .hiring-companies:nth-child(3){
                    animation: scroll-left 600s linear infinite;
                }
            }
        }
    }

    
    /* Salary Details Section */
    .placement-program-table-container{
        display: none;
    }

    .progress-bar{
        width: 100%;
        height: 8px;
        border-radius: 10px;
        background: rgba(245, 156, 0, 0.1);
        overflow: hidden;
        margin-top: 12px;
    }
    .progress {
        height: 100%;
        width: 70%;
        border-radius: 10px;
        background: #F59C00;
    }
    section.salary-details{
        padding-top: 25px;
        padding-bottom: 50px;
        background-color: #F5F6F6;
        .container{
            .section-title{
                .highlight{
                    font-weight: 500;
                }
            }
        }

        .placement-program-cards-container{
            display: flex;
            flex-direction: column;
            gap: 18px;

            .label{
                color: #E27A01;
                font-size: 15px;
                font-weight: 600;
                line-height: 140%; /* 21px */
                text-transform: uppercase;
            }
            .label-content{
                color: #1E1E1E;
                font-size: 18px;
                font-weight: 400;
                line-height: 140%; /* 25.2px */
            }
            .placement-program-card{
                border-radius: 20px;
                background: #FFF;
                padding: 24px 17px;
                display: flex;
                flex-wrap: wrap;
                flex-direction: column;
                gap: 30px;
                .program-title{
                    color: #1E1E1E;
                    font-size: 22px;
                    font-weight: 600;
                    line-height: 140%; /* 30.8px */
                }
                .avg-starting-salary-container{
                    .label-content{
                        display: inline-block;
                        padding: 4px 15px;
                        border-radius: 10px;
                        background: #F59C00;
                        color: #FFF;
                        font-weight: 600;
                        margin-top: 5px;
                    }
                }
                .salary-range-container{
                    display: flex;
                    justify-content: space-between;
                    flex-wrap: wrap;
                }

                .relative-scale-container{
                    .progress-bar{
                        margin-top: 12px;
                    }
                }
            }
        }
    }

    @media(min-width:375px){
        .section-title{
            font-size: 36px;
        }
        .section-description{
            font-size: 15px;
        }
        section.placement-assistance-hero {
            .left-section {
                .placement-cta {
                    .placement-cta-item {
                        .icon {
                            width: 35px;
                        }
                        .placement-cta-text-container {
                            .headline{
                                font-size: 14px;
                            }
                        }
                    }
                }
            }
        }
    }

    @media(max-width:768px){
        section.placement-assistance-hero {
            .container {
                padding: 0;
                .left-section{
                    padding: 0 20px;
                }
            }
        }
    }

    @media(min-width:768px){
        section.placement-assistance-hero{
            .container{
                .right-section{
                    scale: 1;
                    width: 100%;
                }
            }
        }
        section.salary-details {
            .container{
                .section-description{
                    max-width: 680px;
                    margin: auto;
                    margin-bottom: 32px;
                }
            }
            .placement-program-cards-container {
                flex-direction: row;
                justify-content: space-around;
                flex-wrap: wrap;
                .placement-program-card{
                    flex: 0 0 calc(50% - 9px);
                }
            }
        }
    }

    @media(min-width:900px){
        body.placement-page{
            .section-title {
                display: flex;
                flex-direction: row !important;
                justify-content: center !important;
                gap: 10px !important;
                font-size: clamp(36px, 3vw, 50px);
            }
            .section-description{
                font-size: 14px;
                font-size: clamp(14px, 1.1vw, 18px);
            }
        }
        section.placement-assistance-hero{
            background: linear-gradient(270deg, rgba(255, 255, 255, 46.00%) 0%, #FFFCEB 100%),
                url("../images/placement/hero-bg.webp") center / cover no-repeat;
            .container{
                display: flex;
                padding-top: 15px;
                
                .left-section{
                    display: flex;
                    flex-direction: column;
                    justify-content: center;
                    margin-right: -7%;
                    padding-top: 60px;
                    padding-bottom: 20px;
                    width: 120%;
                    .section-title{
                        display: flex;
                        flex-wrap: wrap;
                        flex-direction: column;
                        align-items: flex-start;
                        justify-content: flex-start !important;
                        font-size: clamp(41px, 4vw, 65px);
                        span{
                            text-align: left;
                        }
                    }
                    .section-description{
                        text-align: left;
                        width: 90%;
                    }
                    .placement-cta{
                        padding-right: 40px;
                    }
                }

                .right-section{
                    scale: 1;
                    margin: 0;
                    margin-left: -20px;
                    display: flex;
                    align-items: end;
                    width: 100%;
                    .placement-cta-image-container{
                        padding-top: 0px;
                        width: 100%;
                    }

                }
            }
        }
    }

    @media(min-width:1024px){
        .section-title br{
            display: none;
        }
        
        section.placement-assistance-hero{
            .left-section {
                .placement-cta {
                    padding-right: 50px;
                    .placement-cta-item {
                        .icon{
                            width: 40px;
                            height: 40px;
                        }
                        .placement-cta-text-container {
                            .headline {
                                font-size: 18px;
                            }
                            .sub-headline{
                                font-size: 10px;
                            }
                        }
                    }
                }
            }
        }

        section.top-hiring-companies {
            .container{
                padding-top: 104px;
                .hiring-companies-container {
                    .hiring-companies-list{
                        .hiring-companies:nth-child(3),
                        .hiring-companies:nth-child(4){
                            display: none;
                        }
                    }
                }
            }
        }

        section.salary-details{
            .placement-program-table-container{
                display: block;
            }
            padding-top: 80px;
            background-color: #FFFFFF;
            .placement-program-cards-container{
                display: none;
            }
            .placement-program-table-container{
                .salary-table{
                    width: 100%;
                    border-collapse: collapse;
                    .salary-table__header-cell,
                    .salary-table__cell salary-table__cell--programme {
                        text-align: left;
                    }

                    .salary-table__header-cell{
                        color: #E27A01;
                        font-size: 18px;
                        font-weight: 600;
                        line-height: 140%; /* 25.2px */
                        text-transform: uppercase;
                        padding-bottom: 13px;
                        border-bottom: 1px solid #F49E0D;
                    }

                    .salary-table__body{
                        .salary-table__row{
                            .salary-table__cell{
                                padding: 10px 0px;
                                border-bottom: 1px solid #E5E7E8;
                                .label-content{
                                    display: inline-block;
                                    padding: 7px 8px;
                                    border-radius: 10px;
                                    background: #F59C00;
                                    color: #FFF;
                                    font-weight: 600;
                                    margin-top: 5px;
                                }  
                                .progress-bar{
                                    margin-top: 0px;
                                } 
                            }
                            .salary-table__cell--programme:nth-child(1){
                                color: #1E1E1E;
                                font-family: Inter;
                                font-size: 18px;
                                font-style: normal;
                                font-weight: 600;
                                line-height: 140%;
                                width: 25%;
                            }

                        }
                    }
                }
            }
        }
    }

    @media(min-width:1200px){
        .section-title{
            font-size: 45px;
        }
        
        section.placement-assistance-hero{
            .section-title{
                font-size: 55px;
            }
            .container{
                .left-section {
                    padding-bottom: 60px;
                    .section-description{
                        width: 65%;
                        margin-bottom: 60px;
                    }
                    .placement-cta {
                        padding: 25px 100px 25px 28px;
                        .placement-cta-item {
                            .placement-cta-text-container{
                                .headline{
                                    font-size: 22px;
                                }
                            }
                        }
                    }
                }

  
            }
        }

        section.salary-details{
            .placement-program-table-container{
                .salary-table{
                    .salary-table__body{
                        .salary-table__row{
                            .salary-table__cell--programme:nth-child(1){
                                width: 35%;
                            }
                        }
                    }
                }
            }
        }
    }

    @media(min-width:1440px){
        section.placement-assistance-hero{
            .container{
                .right-section{
                    width: 110%;
                }
            }
        }
    }

    @media(min-width:1920px){
        .section-title{
            font-size: 50px;
        }
        .section-description {
            font-size: 18px;
        }
        section.placement-assistance-hero {
            .container {
                .left-section {
                    .section-title{
                        font-size: 65px;
                    }
                    .placement-cta {
                        .placement-cta-item {
                            .placement-cta-text-container {
                                .headline {
                                    font-size: 26px;
                                }
                                .sub-headline{
                                    font-size: 14px;
                                }
                            }
                        }
                    }
                }
            }
        }

        section.reviews-section{
            .reviewer-avatar,
            .reviewer-avatar svg {
                width: 56px;
                height: 56px;
                flex-shrink: 0;
                border-radius: 50%;
                object-fit: cover;
            }
        } 
    }

@media screen and (max-width: 768px) {
    body.placement-page section.reviews-section .reviews-slider-wrapper {
        touch-action: pan-x;
        overscroll-behavior-x: contain;
    }

    .youtube-title-icon {
        display: none;
    }
}

@keyframes yt-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
