:root {
    --bgPattern: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cg fill='%236c757d' fill-opacity='0.025'%3E%3Cpolygon fill-rule='evenodd' points='8 4 12 6 8 8 6 12 4 8 0 6 4 4 6 0 8 4'/%3E%3C/g%3E%3C/svg%3E");

    --bg: #f5f7fa;
    --text: #1e1e1e;
    --textSecond: #5C6670;
    --muted: #7c6f66;
    --border: #e7e5e7;

    --primary: #4361EE ;
    --primary-hover: #a6641d;

    --accent: #1f4fff ;
    --accentHover: #3A0CA3;

    --card-bg: #1e1e1e;
    --cart-bg2: #f0f2f5;
    --input-bg: #fffaf5;

    --badge: #f6e2ed;

    --shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    --shadowHover: 0 4px 50px rgba(0, 0, 0, 0.3);



    --fontLogo: 'Sora';
    --fontMain: 'Inter';

}




@media screen and (max-width: 1400px) {

    .jobListSection {
        width: 78.571vw;
        height: max-content;
        display: block;
        margin-left: auto;
        margin-right: auto;
        margin-top: 7.143vw;
    }


    .jobListMainText {
        color: var(--text);
        font-family: var(--fontLogo);
        font-size: 1.714vw;
        font-weight: 600;
        margin-top: 7.143vw;
    }



    .jobs {
        display: flex;
        justify-content: space-between;
        margin-top: 1.429vw;
    }



    .jobList {
        width: 53.571vw;
        margin-right: 1.429vw;
    }



    .jobCard {
        width: 53.571vw;
        min-height: 14.286vw;
        height: max-content;
        border-radius: 1.071vw;
        border: 2px var(--border) solid;
        background-color: var(--bg);
        padding: 1.429vw;
        transition: ease-in-out all 0.3s;
        margin-bottom: 1.429vw;
    }


    .jobCard:hover {
        box-shadow: var(--shadow);
    }




    .jobCardFirst {
        display: flex;
        justify-content: space-between;
    }



    .jobCardTitle {
        color: var(--text);
        font-family: var(--fontMain);
        font-weight: 700;
        font-size: 1.486vw;
        width: 32.143vw;
    }


    .jobBadge {
        padding: 0.214vw;
        padding-left: 0.714vw;
        padding-right: 0.714vw;
        background-color: var(--badge);
        border-radius: 0.214vw;
        color: var(--muted);
        font-family: var(--fontMain);
        font-weight: 600;
        font-size: 0.914vw;
    }



    .jobLocation {
        display: block;
        color: var(--textSecond);
        font-family: var(--fontMain);
        font-weight: 500;
        margin-top: 0.714vw;
        font-size: 0.914vw;
    }



    .jobCardRight {
        width: 14.286vw;
        display: flex;
        justify-content: left;
    }


    .employerLogo {
        width: 3.929vw;
        height: 3.929vw;
        border-radius: 0.714vw;
    }



    .employerDetail {
        margin-left: 0.714vw;
    }

    .employerName {
        color: var(--text);
        font-family: var(--fontMain);
        font-weight: 600;
        font-size: 0.914vw;
    }



    .employerText {
        color: var(--textSecond);
        font-family: var(--fontMain);
        font-weight: 500;
        font-size: 0.686vw;
    }



    .jobInfo {
        margin-top: 1.429vw;
        width: 32.143vw;
        display: flex;
        justify-content: space-between;
    }


    .jobInfoTitle {
        color: var(--text);
        font-family: var(--fontMain);
        font-weight: 700;
        font-size: 1.029vw;
    }


    .jobLanguages {
        color: var(--textSecond);
        font-family: var(--fontMain);
        font-weight: 500;
        font-size: 0.914vw;
        margin-top: 0.214vw;
    }


    .jobSkillBadge {
        padding: 0.214vw;
        padding-left: 0.714vw;
        padding-right: 0.714vw;
        background-color: var(--badge);
        border-radius: 0.214vw;
        color: var(--muted);
        font-family: var(--fontMain);
        font-weight: 600;
        font-size: 0.686vw;
    }









    .jobFilter {
        width: 22.857vw;
        position: fixed;
        top: 11.143vw;
        left: 1190px;
    }


    .jobFilterIndustry {
        width: 100%;
        border: 2px var(--border) solid;
        border-radius: 1.071vw;
        height: 8.571vw;
        padding: 1.429vw;
        padding-top: 1.071vw;
    }



    .jobFilterTitle {
        font-family: var(--fontLogo);
        font-weight: 600;
        font-size: 1.371vw;

    }



    .jobFilterIndustrySection {
        position: relative;
        width: 100%;
        font-family: var(--fontLogo);
    }


    .jobIndustryField {
        cursor: pointer;
        width: 100%;
        display: block;
        margin-left: auto;
        margin-right: auto;
        border: 2px var(--border) solid;
        font-family: var(--fontLogo);
        font-size: 1.029vw;
        background-color: white;
        border-radius: 0.714vw;
        height: 2.857vw;
        margin-top: 1.071vw;
        padding: 0.5vw;
    }


    .industryList {
        display: none;
        list-style: none;
        padding: 0;
        margin: 0;
        border: 2px solid var(--border);
        border-radius: 0.521vw;
        border-top: none;
        max-height: 8vw;
        overflow-y: auto;
        position: absolute;
        width: 100%;
        background-color: white;
        box-shadow: 0 0.208vw 0.417vw rgba(0,0,0,0.1);
        z-index: 1000;
        top: 100%;
        left: 0;
    }


    .industryList li {
        padding: 0.5vw 0.666vw;
        cursor: pointer;
        transition: background 0.2s;
        font-size: .9rem;
    }


    .industryList li:hover {
        background-color: var(--border);
        border-radius: 0.26vw;
    }



    .jobFilterSalary {
        width: 100%;
        border: 2px var(--border) solid;
        border-radius: 1.071vw;
        height: 8.571vw;
        padding: 1.429vw;
        padding-top: 1.071vw;
        margin-top: 1.429vw;
    }



    .jobFilterSalaryRange {
        width: 100%;
        margin-top: 1.429vw;
        display: flex;
        justify-content: space-between;
    }



    .jobFilterSalaryRangeText {
        font-family: var(--fontLogo);
        color: var(--textSecond);
        font-weight: 600;
        font-size: 1.143vw;
        margin-top: 0.571vw;
    }


    .jobFilterSalaryRangeInput {
        width: 7.857vw;
        height: 2.857vw;
        border: 2px var(--border) solid;
        border-radius: 0.714vw;
        outline: none;
        text-align: center;
        font-weight: 600;
    }


    .jobFilterSalaryRangeInput::placeholder {
        opacity: .8;
        font-family: var(--fontLogo);
        color: var(--textSecond);
    }




    .jobFilterLanguage {
        width: 100%;
        border: 2px var(--border) solid;
        font-family: var(--fontLogo);
        border-radius: 15px;
        height: 8.571vw;
        padding: 1.429vw;
        padding-top: 1.071vw;
        margin-top: 1.429vw;
    }



    .jobFilterLanguageSection {
        position: relative;
        width: 100%;
        font-family: var(--fontLogo);
    }



    .jobLanguageField {
        cursor: pointer;
        width: 100%;
        display: block;
        margin-left: auto;
        margin-right: auto;
        border: 2px var(--border) solid;
        font-size: 1.029vw;
        background-color: white;
        border-radius: 0.714vw;
        height: 2.857vw;
        margin-top: 1.071vw;
        padding: 0.5vw;
    }



    .languageList {
        display: none;
        list-style: none;
        padding: 0;
        margin: 0;
        border: 2px solid var(--border);
        border-radius: 0.521vw;
        border-top: none;
        max-height: 8vw;
        overflow-y: auto;
        position: absolute;
        width: 100%;
        background-color: white;
        box-shadow: 0 0.208vw 0.417vw rgba(0,0,0,0.1);
        z-index: 1000;
        top: 100%;
        left: 0;
    }


    .languageList li {
        padding: 0.5vw 0.666vw;
        cursor: pointer;
        transition: background 0.2s;
        font-size: .9rem;
    }


    .languageList li:hover {
        background-color: var(--border);
        border-radius: 0.26vw;
    }



    .jobFilterButton {
        background-color: var(--textSecond);
        font-family: var(--fontLogo);
        width: 100%;
        border-radius: 0.571vw;
        margin-top: 0.714vw;
        color: var(--bg);
        font-weight: 600;
        transition: all ease-in-out 0.3s;
    }


    .jobFilterButton:hover {
        background-color: var(--accentHover);
        color: white;
    }



    .jobFilterButton:disabled {
        background-color: var(--textSecond);
        color: var(--bg);
        cursor: not-allowed;
        opacity: .5;
    }
}














@media screen and (min-width: 1025px) {
    .mobile {
        display: none;
    }
}







@media screen and (max-width: 1024px) {

    .desktop {
        display: none;
    }



    .searchSectionMobile {
        margin-top: 90px;
    }


    .searchContainerMobile {
        position: relative;
    }


    .searchBarMobile {
        width: 95vw;
        height: 80px;
        border-radius: 15px;
        border: 2px var(--border) solid;
        background-color: var(--bg);
        font-family: var(--fontLogo);
        padding-left: 60px;
        padding-right: 10px;
        display: block;
        margin-left: auto;
        margin-right: auto;
        outline: none;
        transition: all ease-in-out 0.3s;
    }



    .searchBarMobile:focus {
        box-shadow: var(--shadowHover);
    }



    .searchBarMobile::placeholder {
        font-family: var(--fontLogo);
        font-weight: 500;
        color: var(--textSecond);
    }



    .searchBarIconMobile {
        position: absolute;
        left: 25px;
        top: 27px;
    }




    .searchSectionButtonMobile {
        width: 95vw;
        display: block;
        margin-left: auto;
        margin-right: auto;
        background-color: var(--textSecond);
        color: var(--bg);
        font-family: var(--fontLogo);
        font-weight: 500;
        margin-top: 20px;
        border-radius: 8px;
        height: 40px;
    }


    .searchSectionButtonMobile:focus {
        width: 95vw;
        display: block;
        margin-left: auto;
        margin-right: auto;
        background-color: var(--textSecond);
        color: var(--bg);
        font-family: var(--fontLogo);
        font-weight: 500;
        margin-top: 20px;
        border-radius: 8px;
        height: 40px;
    }





    .jobListSectionMobile {
        margin-top: 40px;
    }


    .jobListMainTitleMobile {
        display: block;
        margin-left: auto;
        margin-right: auto;
        width: 95vw;
    }


    .jobListMainTextMobile {
        color: var(--text);
        font-family: var(--fontLogo);
        font-size: 1.5rem;
        font-weight: 600;
        word-break: break-word;
    }



    .jobListSortFilter {
        width: 95vw;
        display: block;
        margin-left: auto;
        margin-right: auto;
        margin-top: 10px;
    }



    .filterIcon {
        border-radius: 5px;
        background-color: var(--border);
        padding: 5px;
        cursor: pointer;
    }



    .jobFilterMobile {
        background-color: var(--bg);
        border: 2px var(--border) solid;
        width: 100vw;
        height: 500px;
        border-radius: 20px 20px 0px 0px;
        position: fixed;
        bottom: 0;
        transition: transform 0.2s ease-in-out;
        transform: translateY(100%);
        z-index: 1000;
        padding: 30px 20px 10px 20px;
    }


    .jobFilterMobileCloseIcon {
        padding: 5px;
        border-radius: 5px;
        background-color: var(--border);
        display: block;
        margin-left: auto;
        cursor: pointer;
    }



    .jobFilterBodyMobile {
        width: 100%;
        margin-top: 30px;
        display: block;
        margin-left: auto;
        margin-right: auto;
    }



    .jobFilterIndustryMobile {
        position: relative;
        width: 100%;
        font-family: var(--fontLogo);
    }


    .jobFilterMobileTitle {
        font-family: var(--fontLogo);
        color: var(--text);
        font-size: 1rem;
        font-weight: 600;
    }


    .jobIndustryFieldMobile {
        width: 100%;
        height: 40px;
        border-radius: 10px;
        border: 2px var(--border) solid;
        background-color: white;
        font-family: var(--fontLogo);
        font-weight: 400;
        padding: 5px;
        display: block;
        margin-left: auto;
        margin-right: auto;
    }

    .industryListMobile {
        display: none;
        list-style: none;
        padding: 0;
        margin: 0;
        border: 2px solid var(--border);
        border-radius: 10px;
        border-top: none;
        max-height: 200px;
        overflow-y: auto;
        position: absolute;
        width: 100%;
        background-color: white;
        box-shadow: var(--shadow);
        z-index: 1000;
        top: 100%;
        left: 0;
    }

    .industryListMobile li {
        padding: 8px 12px;
        cursor: pointer;
        transition: background 0.2s;
    }

    .industryListMobile li:hover {
        background-color: var(--border);
        border-radius: 5px;
    }



    .jobFilterSalaryMobile {
        margin-top: 20px;
    }


    .jobFilterSalaryRangeMobile {
        display: flex;
        justify-content: space-between;
    }


    .jobFilterSalaryRangeInputMobile {
        width: 40%;
        height: 40px;
        border-radius: 10px;
        border: 2px var(--border) solid;
        font-family: var(--fontLogo);
        font-weight: 400;
        padding: 5px;
        outline: none;
        transition: 0.1s ease-in-out all;
    }

    .jobFilterSalaryRangeInputMobile:focus {
        border: 2px var(--textSecond) solid;
        border-bottom: 4px var(--textSecond) solid;
    }


    .jobFilterSalaryRangeText {
        font-family: var(--fontLogo);
        color: var(--textSecond);
        font-weight: 600;
        font-size: 1rem;
        margin-top: 8px;
    }


    .jobFilterLanguageMobile {
        margin-top: 20px;
        position: relative;
        width: 100%;
    }


    .jobLanguageFieldMobile {
        width: 100%;
        height: 40px;
        border-radius: 10px;
        border: 2px var(--border) solid;
        background-color: white;
        font-family: var(--fontLogo);
        font-weight: 400;
        padding: 5px;
        display: block;
        margin-left: auto;
        margin-right: auto;
    }

    .languageListMobile {
        display: none;
        list-style: none;
        padding: 0;
        margin: 0;
        border: 2px solid var(--border);
        border-radius: 10px;
        border-top: none;
        max-height: 200px;
        overflow-y: auto;
        position: absolute;
        width: 100%;
        background-color: white;
        box-shadow: var(--shadow);
        z-index: 1000;
        top: 100%;
        left: 0;
    }

    .languageListMobile li {
        padding: 8px 12px;
        cursor: pointer;
        transition: background 0.2s;
        font-family: var(--fontLogo);
        font-weight: 400;
    }

    .languageListMobile li:hover {
        background-color: var(--border);
        border-radius: 5px;
    }



    .jobFilterButtonMobile {
        width: 100%;
        background-color: var(--textSecond);
        font-family: var(--fontLogo);
        font-weight: 600;
        color: var(--bg);
        margin-top: 10px;
    }


    .jobFilterButtonMobile:hover {
        background-color: var(--bg);
        border: 1px var(--textSecond) solid;
        color: var(--textSecond);
    }

    .jobFilterButtonMobile:disabled {
        background-color: var(--textSecond);
        color: var(--bg);
        cursor: not-allowed;
        opacity: .5;
        border: 1px var(--textSecond) solid;
    }


    .jobClearFilterButtonMobile {
        width: 100%;
        background-color: var(--bg);
        border: 1px var(--textSecond) solid;
        font-family: var(--fontLogo);
        font-weight: 600;
        color: var(--textSecond);
        margin-top: 60px;
    }







    .jobFilterOverlay {
        display: none;
        position: fixed;
        width: 100vw;
        height: 100vh;
        top: 0;
        background-color: rgba(0, 0, 0, 0.5);
        z-index: 999;
        transition: all 0.2s ease-in-out;
    }



    .jobPostsMobile {
        width: 95vw;
        display: block;
        margin-left: auto;
        margin-right: auto;
        margin-top: 10px;
    }



    .jobPostMobile {
        width: 95vw;
        height: max-content;
        border: 2px var(--border) solid;
        border-radius: 15px;
        padding: 5px;
        padding-bottom: 15px;
        padding-left: 10px;
        margin-bottom: 20px;
    }



    .jobPostMobileTitle {
        width: 300px;
        margin-top: 5px;
    }



    .jobPostMobileTitleText {
        font-family: var(--fontLogo);
        color: var(--text);
        font-weight: 700;
        font-size: 1.35rem;
    }




    .jobLocationMobile {
        margin-top: 5px;
        font-family: var(--fontLogo);
        color: var(--textSecond);
        font-weight: 500;
        font-size: .8rem;
    }





    .jobBadgeMobile {
        padding: 4px;
        padding-left: 10px;
        padding-right: 10px;
        font-size: .9rem;
        color: var(--muted);
        background-color: var(--border);
        font-family: var(--fontLogo);
        font-weight: 600;
        border-radius: 5px;
    }


    .jobPostEmployerMobile {
        margin-top: 5px;
        font-family: var(--fontLogo);
        color: var(--textSecond);
        font-weight: 500;
        font-size: .9rem;
    }



    .jobPostFooterMobile {
        width: 100%;
        margin-top: 5px;
        display: flex;
        justify-content: space-between;
    }



    .jobPostLanguageMobile {
        width: 45vw;
    }


    .jobPostFooterMobileTitle {
        font-family: var(--fontLogo);
        color: var(--text);
        font-weight: 600;
        font-size: .9rem;
    }


    .jobPostLanguageMobileText {
        font-family: var(--fontLogo);
        color: var(--textSecond);
        font-weight: 500;
        font-size: .8rem;
    }



    .jobPostVisaMobile {
        width: 45vw;
    }











    .noResult {
        margin-top: 50px;
    }
}