/* Recruitment Support System - Responsive Design */

/* Large Desktop: 1400px and below */
@media (max-width: 1399.98px) {
    .rss-section .la-contener {
        width: calc(100vw - 40px);
        padding: 0 20px;
    }

    .overlay-text {
        font-size: clamp(110px, 15vw - 70px, 140px);
    }
}

/* Desktop/Tablet: 1200px and below */
@media (max-width: 1199.98px) {
    .rss-section .la-contener {
        width: calc(100vw - 40px);
        padding: 0 20px;
    }
    
    #section-securing-support .rss-services {
        flex-direction: column;
        gap: 30px;
    }
    
    #section-recruitment-routes .route-item {
        flex-direction: column;
        gap: 30px;
    }
    
    #section-recruitment-routes .route-item.reverse {
        flex-direction: column!important;
    }
    
    #section-recruitment-routes .route-image {
        max-width: 100%;
    }
    
    #section-recruitment-routes .route-image img {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
    }
    
    #section-recruitment-routes .route-content{
        max-width: 100%;
        transform: translateY(0);
        margin-top: 0;
    }

    #section-recruitment-routes .route-item.reverse .route-content {
        width: 100%;
    }

    #section-recruitment-routes .route-item.reverse .route-content p br{
        display: none;
    }
    
    #section-support .support-row {
        flex-direction: column;
        gap: 30px;
    }
    
    #section-support .support-content-left,
    #section-support .support-image-right,
    #section-support .support-list-right,
    #section-support .support-diagram-right {
        max-width: 100%;
    }
    
    #section-support .support-diagram-wrapper {
        height: 300px;
    }
    
    #section-support .support-diagram-image {
        height: 300px;
    }
    
    #section-support .support-list-grid {
        flex-direction: column;
        gap: 20px;
    }
    
    .rss-commitment-section .rss-commitment {
        margin-left: 0;
        margin-right: 0;
        width: 100%;
    }
    
    .rss-commitment-section .commitment-wrapper {
        flex-direction: column;
        padding: 40px 30px;
        gap: 30px;
    }
    
    .rss-commitment-section .commitment-image {
        max-width: 100%;
    }
    
    .rss-commitment-section .commitment-content h5 {
        font-size: 24px;
    }
    
    .rss-commitment-section .commitment-box {
        max-width: 100%;
        padding: 25px 20px;
    }
    
    .rss-commitment-section .commitment-box p {
        font-size: 18px;
    }
    
    .rss-commitment-section .overlay-text {
        font-size: 120px;
        letter-spacing: 8px;
    }
    
    #section-hiring-flow .rss-flow {
        flex-direction: column;
        gap: 40px;
    }
    
    #section-hiring-flow .flow-steps-list {
        flex: 1;
        max-width: 100%;
        margin-bottom: 30px;
        padding-bottom: 300px;
    }
    
    #section-hiring-flow .flow-steps-list::after {
        width: 250px;
        height: 350px;
    }
    
    #section-hiring-flow .tab-content-wrapper {
        flex-direction: column;
        gap: 30px;
    }
    
    #section-hiring-flow .tab-text h5 .step-label {
        font-size: 36px;
    }
    
    #section-hiring-flow .tab-text h5 .step-title-text {
        font-size: 28px;
    }

    #section-securing-support .banner-scrollable-hint,
    #section-support .diagram-scrollable-hint{
        display: none;
    }
}

/* Tablet: 992px and below */
@media (max-width: 991.98px) {
    .rss-section {
        padding: 80px 0 60px 0;
    }
    
    .rss-section .title h4 {
        font-size: 32px;
    }
    
    #section-securing-support .rss-services {
        padding: 25px 20px;
    }
    
    #section-securing-support .service-item {
        padding: 25px;
    }
    
    #section-recruitment-routes .route-content h5 {
        font-size: 22px;
        line-height: 32px;
    }
    
    #section-recruitment-routes .route-content p {
        font-size: 15px;
    }
    
    #section-support .support-content-left h5 {
        font-size: 22px;
    }
    
    #section-support .support-content-left p {
        font-size: 15px;
    }
    
    #section-support .support-list-grid {
        padding: 25px 30px;
    }
    
    #section-support .support-list-item {
        font-size: 16px;
    }
    
    .rss-commitment-section .overlay-text {
        font-size: 100px;
        letter-spacing: 6px;
    }
    
    #section-hiring-flow .flow-steps-list {
        padding-bottom: 250px;
    }
    
    #section-hiring-flow .flow-steps-list::after {
        width: 200px;
        height: 300px;
    }
    
    #section-hiring-flow .step-number {
        font-size: 24px;
    }
    
    #section-hiring-flow .step-title {
        font-size: 20px;
    }
    
    #section-hiring-flow .tab-text h5 .step-label {
        font-size: 32px;
    }
    
    #section-hiring-flow .tab-text h5 .step-title-text {
        font-size: 24px;
    }
    
    #section-hiring-flow .tab-text > p {
        font-size: 15px;
    }
    
    #section-hiring-flow .feature-content h6 {
        font-size: 18px;
    }
    
    #section-hiring-flow .feature-content p {
        font-size: 15px;
    }
}

/* Small Tablet: 768px and below - Before Mobile */
@media (max-width: 767.98px) {
    .rss-section {
        padding: 51px 0 40px 0;
    }
    
    .rss-section .title h4,
    #section-support .la-contener .title h4 {
        font-size: 20px;
    }

    #section-support .diagram-scrollable-hint{
        display: block;
    }

    #section-support .support-diagram-wrapper {
        overflow-x: scroll;
        overflow-y: hidden;
    }

    #section-support .la-contener .title h4{
        line-height: 26px;
        position: relative;
        letter-spacing: 2pt;
    }

    #section-support .la-contener .title h4 br.mobile-br{
        display: block;
    }

    #section-support .la-contener .title h4::after{
        content: "";
        position: absolute;
        width: 99px;
        height: 2px;
        background-color: #1A7BA5;
        bottom: -25px;
        left: 50%;
        transform: translateX(-50%);
    }
    
    #section-securing-support .title {
        padding: 25px 20px;
    }
    
    #section-securing-support .rss-description p {
        font-size: 16px;
        line-height: 24px;
    }
    
    #section-securing-support .rss-services {
        padding: 20px;
        gap: 20px;
    }
    
    #section-securing-support .service-item {
        padding: 20px;
    }
    
    #section-securing-support .service-item h5 {
        font-size: 20px;
    }
    
    #section-securing-support .service-item p {
        font-size: 15px;
    }

    #section-recruitment-routes .route-item{
        gap: 0;
    }
    
    #section-recruitment-routes .route-content {
        padding: 25px;
        margin: -60px auto 0 auto;
        max-width: 326px;
        border-radius: 10px;
    }
    
    #section-recruitment-routes .route-content h5 {
        font-size: 18px;
        line-height: 28px;
        letter-spacing: 0;
        text-align: center;
        border-bottom: none;
        margin-bottom: 15px;
    }
    
    #section-recruitment-routes .route-content p {
        font-size: 15px;
    }
    
    #section-support .support-content-left h5 {
        font-size: 18px;
    }

    #section-recruitment-routes .route-item.reverse{
        flex-direction: column!important;
    }

    #section-recruitment-routes .route-item.reverse .route-content{
        margin: -60px auto 0 auto;
    }
    
    #section-support .support-content-left p {
        font-size: 15px;
        letter-spacing: 1.1pt;
        line-height: 22px;
    }
    
    #section-support .support-subsection {
        padding: 15px 18px 20px 25px;
    }
    
    /* Hide mobile version on tablet */
    #section-support .support-subsection.mobile {
        display: none;
    }
    
    #section-support .support-subsection h6 {
        font-size: 18px;
    }
    
    #section-support .support-subsection p {
        font-size: 14px;
    }
    
    #section-support .support-list-right {
        padding: 13px 30px 19px 30px;
        width: calc(100% - 30px);
        order: 2;
    }
    #section-support .rss-support-list-box h6{
        text-align: center;
        font-size: 16px;
    }
    
    #section-support .support-list-grid {
        padding: 25px 30px;
        gap: 0;
        border-radius: 10px;
    }

    #section-support .support-list-column{
        gap: 0;
    }
    
    #section-support .support-list-item {
        font-size: 15px;
        line-height: 28px;
    }
    
    #section-support .support-row:last-child {
        padding: 50px 15px 50px 15px;
    }

    #section-support .support-diagram-wrapper {
        width: 100%;
        height: 444px;
        overflow-x: scroll;
        overflow-y: hidden;
        border-radius: 10px;
        position: relative;        
    }

    #section-support .support-diagram-wrapper img{
        height: 425px;
        width: 648px;
    }

    #section-support .support-diagram-wrapper img.diagram-scrollable-hint{
        width: auto;
        height: auto;
        max-width: 200px;
    }
    
    .rss-commitment-section .commitment-wrapper {
        padding: 40px 20px;
    }
    
    .rss-commitment-section .commitment-content h5 {
        font-size: 18px;
        line-height: 36px;
        letter-spacing: 1pt;
    }
    
    .rss-commitment-section .commitment-box {
        padding: 25px 15px;
    }
    
    .rss-commitment-section .commitment-box p {
        font-size: 15px;
        line-height: 22px;
    }
    
    .rss-commitment-section .overlay-text {
        font-size: 80px;
        letter-spacing: 5px;
        line-height: 90px;
    }
    
    #section-hiring-flow .flow-steps-list {
        padding-left: 0;
        padding-bottom: 0;
    }
    
    #section-hiring-flow .flow-steps-list::before {
        left: 24px;
        height: 300px;
        content: none;
    }
    
    #section-hiring-flow .flow-steps-list::after {
        width: 180px;
        height: 250px;
        content: none;
    }

    #section-hiring-flow .step-item.active::before,
    #section-hiring-flow .step-item.active::after{
        content: none;
    }
    
    #section-hiring-flow .step-item {
        padding: 0;
        padding-bottom: 5px;
    }
    
    #section-hiring-flow .step-number {
        font-size: 20px;
    }
    
    #section-hiring-flow .step-title {
        font-size: 18px;
    }
    
    #section-hiring-flow .rss-flow {
        gap: 30px;
    }
    
    #section-hiring-flow .mobile-step-navigation {
        display: flex;
        align-self: flex-end;
    }    
    
    #section-hiring-flow .tab-text h5 {
        padding-bottom: 12px;
    }
    
    #section-hiring-flow .tab-text h5 .step-label {
        font-size: 28px;
    }
    
    #section-hiring-flow .tab-text h5 .step-title-text {
        font-size: 20px;
    }
    
    #section-hiring-flow .tab-text > p {
        font-size: 14px;
        line-height: 24px;
    }
    
    #section-hiring-flow .feature-content h6 {
        font-size: 17px;
    }
    
    #section-hiring-flow .feature-content p {
        font-size: 14px;
        line-height: 24px;
    }
    
    #section-hiring-flow .tab-summary {
        padding: 18px;
    }
    
    #section-hiring-flow .tab-summary p {
        font-size: 14px;
    }

    #section-recruitment-routes .route-item.reverse .route-content h5{
        line-height: 22px;
        padding-right: 25px;
        text-align: left;
    }

    #section-recruitment-routes .route-item.san .route-content h5{
        padding-right: 25px;
        text-align: left;
    }
}

/* Mobile: 576px and below - Separate mobile design */
@media (max-width: 575.98px) {
    .rss-section .la-contener{
        width: 100vw;
        padding: 0 0 40px 0;
    }
    /* Section 1: Securing Support - Mobile Design */
    
    /* Section 1 title - full width with background */
    #section-securing-support .title {
        padding: 30px 15px;
        margin-bottom: 30px;
    }
    
    #section-securing-support .title h4 {
        font-size: 22px;
        line-height: 26px;
        letter-spacing: 0;
        text-align: center;
    }
    
    /* Flowchart banner - keep PC size with horizontal scroll */
    #section-securing-support .rss-flowchart {
        margin-bottom: 30px;
        width: calc(100vw - 15px);
        margin-left: calc(-50vw + 50%);
        margin-right: calc(-50vw + 50%);
        overflow-x: scroll;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 15px;
    }
    
    #section-securing-support .rss-flowchart::-webkit-scrollbar {
        height: 8px;
    }
    
    #section-securing-support .rss-flowchart::-webkit-scrollbar-track {
        background: #f1f1f1;
    }
    
    #section-securing-support .rss-flowchart::-webkit-scrollbar-thumb {
        background: #888;
        border-radius: 4px;
        background: #ccc;
    }
    
    /* #section-securing-support .rss-flowchart::-webkit-scrollbar-thumb:hover {
        background: #555;
    } */
    
    #section-securing-support .flowchart-banner-wrapper {
        max-width: 1221.5px;
        width: 1221.5px;
        margin: 0 auto;
        padding: 0;
        position: relative;
        overflow-x: scroll;
        overflow-y: hidden;
        scrollbar-width: thin;
        scrollbar-gutter: stable;
    }
    
    #section-securing-support .flowchart-banner-image {
        width: 100%;
        height: auto;
        display: block;
    }
    
    #section-securing-support .rss-flowchart {
        position: relative;
        margin-left: 15px;
    }
    
    #section-securing-support .banner-scrollable-hint {
        display: block;
        position: absolute;
        top: 50%;
        left: 50vw;
        z-index: 10;
        pointer-events: none;
        width: auto;
        height: auto;
        max-width: 200px;
    }
    
    /* Description - adjust padding and font size */
    #section-securing-support .rss-description {
        margin: 20px 0;
        padding: 0 15px;
    }
    
    #section-securing-support .rss-description p {
        font-size: 14px;
        line-height: 22px;
        letter-spacing: 1.4pt;
    }
    
    /* Services container - stack vertically */
    #section-securing-support .rss-services {
        flex-direction: column;
        gap: 15px;
        padding: 15px;
        margin-top: 20px;
    }
    
    /* Service items - full width, adjust padding */
    #section-securing-support .service-item {
        width: 100%;
        padding: 15px;
    }
    
    #section-securing-support .service-item h5 {
        font-size: 18px;
        line-height: 24px;
        letter-spacing: 1.8pt;
        padding-bottom: 8px;
        margin-bottom: 12px;
    }
    
    #section-securing-support .service-item p {
        font-size: 18px;
        line-height: 22px;
        letter-spacing: 1.4pt;
    }
    
    /* Services note */
    #section-securing-support .rss-services-note {
        margin-top: 10px;
        padding: 0 15px 0 32px;
    }
    
    #section-securing-support .rss-services-note p {
        font-size: 15px;
        line-height: 20px;
    }

    #section-hiring-flow .rss-flow{
        gap: 0;
    }

    .rss-commitment-section .commitment-bg-image{
        height: 100%;
        object-fit: unset;
    }

    .rss-commitment-section .commitment-overlay{
        display: none;
    }

    /* Hide desktop version (inside support-content-left) on mobile */
    #section-support .support-content-left .support-subsection {
        display: none;
    }

    /* Show mobile version and ensure it appears after support-diagram-right */
    #section-support .support-subsection.mobile {
        display: block;
        order: 3;
        font-size: 14px;
        padding: 15px 17px 20px 16px;
    }

    #section-support .support-subsection.mobile h6,
    #section-support .support-subsection.mobile p{
        font-size: 14px;
        letter-spacing: 1pt;
        line-height: 20px;
    }
    
    /* Ensure proper order on mobile */
    #section-support .support-content-left {
        order: 1;
        padding: 0 15px;
    }

    #section-support .support-image-right{
        order: 2;
    }
    
    #section-support .support-diagram-right {
        order: 2;
    }

    #section-recruitment-routes .route-item.reverse .route-content h5 br{
        display: none;
    }

    #section-hiring-flow .flow-steps-list{
        padding-left: 15px;        
    }

    #section-hiring-flow .step-number{
        font-size: 16px;
    }

    #section-hiring-flow .step-title{
        font-size: 15px;
    }

    #section-hiring-flow .mobile-step-navigation{
        padding-right: 15px;
        margin-bottom: 7px;
    }

    #section-hiring-flow .mobile-step-counter{
        margin-right: 15px;
    }

    #section-hiring-flow .tab-content{
        padding: 0 15px
    }

    #section-hiring-flow .tab-text > p{
        font-size: 15px;
    }

    #section-hiring-flow .tab-text h5 .step-label{
        display: none;
    }

    #section-hiring-flow .feature-icon{
        display: none;
    }

    #section-hiring-flow .feature-content h6{
        padding-left: 17px;
        position: relative;
        font-size: 15px;
    }

    #section-hiring-flow .feature-content h6::before{
        content: "";
        position: absolute;
        width: 14px;
        height: 14px;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        background: url("../../images/recruitment-support-system/process-hiring-list.png") no-repeat center center;
        background-size: contain;
    }

    #section-hiring-flow .feature-content p br.hidden-mobile-br{
        display: none;
    }

    #section-hiring-flow .feature-content p{
        font-size: 15px;
        letter-spacing: 1.5pt;
    }

    #section-hiring-flow .tab-summary p{
        font-size: 15px;
        font-weight: 700;
    }

    #section-recruitment-routes .route-item.reverse .route-image img{
        margin-right: 0;
    }
}


