/* ============================================================
   NCMS Unified Career Stylesheet
   Hosted at: https://www.alattiyahgroup.com/cdncareer/vacancies.css

   Per-site theming: override only the variables below in a
   <style> block on each page BEFORE this stylesheet loads.
   ============================================================ */

:root {
    /* ── Theme variables — override per site ── */
    --career-color:              black;
    --career-btn-color:          linear-gradient(to right, rgb(26,24,23), rgb(204,155,8));
    --career-btn-text-color:     white;
    --career-bg-color:           white;
    --career-accent:             goldenrod;
    --career-banner-overlay:     linear-gradient(90deg, #2520209e 0%, #1a1a1a63 100%);
    --career-logo-color:         goldenrod;
    --select-option-color:       black;

    /* ── Typography — rarely need changing ── */
    --career-heading-font-size:       clamp(20px, 3vw, 50px);
    --career-sub-heading-font-size:   clamp(17px, 1.8vw, 27px);
    --career-paragrapg-font-size:     clamp(14px, 1vw, 18px);
    --career-big-paragrapg-font-size: clamp(18px, 1.5vw, 25px);
    --career-career-font-family:      system-ui;
}

/* ── Layout ── */
.aagh-career-container {
    width: 100%;
    height: auto;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: max-content auto;
}

/* ── Banner ── */
.career-banner {
    background: url(./career.webp) center center / cover;
}
.career-banner-overlay {
    background: var(--career-banner-overlay);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 150px 50px;
}
.career-baneer-text {
    width: clamp(80%, 100%, 80%);
    margin: 0 auto;
}

/* ── Typography utilities ── */
.aagh-career-uppercase  { text-transform: uppercase !important; }
.aagh-career-capitalize { text-transform: capitalize !important; }
.aagh-career-bold       { font-weight: bold !important; }
.aagh-career-lighter    { font-weight: 400 !important; }
.aagh-text-center       { text-align: center !important; }
.aagh-text-underline    { text-decoration: underline 2px; text-underline-offset: 9px; }
.margin-bottom          { margin-bottom: 10px; }
.margin-top             { margin-top: 10px; }

.aagh-career-heading {
    font-size:   var(--career-heading-font-size) !important;
    font-family: var(--career-career-font-family) !important;
    opacity: 0.8;
    color: var(--career-color);
}
.aagh-career-sub-heading {
    font-size:   var(--career-sub-heading-font-size) !important;
    font-family: var(--career-career-font-family) !important;
    text-transform: capitalize;
    opacity: 0.8;
    color: var(--career-color);
}
.aagh-career-paragrapg {
    font-size:   var(--career-paragrapg-font-size) !important;
    font-family: var(--career-career-font-family) !important;
    opacity: 0.8;
    line-height: 1.5;
    text-transform: capitalize;
    color: var(--career-color);
}
.aagh-career-paragrapg2 {
    font-size:   var(--career-big-paragrapg-font-size) !important;
    font-family: monospace !important;
    opacity: 0.8;
}
.aagh-career-text-darkblue {
    color: var(--career-color);
    text-decoration: underline 2px;
    text-underline-offset: 9px;
}
.aagh-career-text-white { color: white !important; }
.aagh-career-text-black { color: rgb(20,19,19) !important; }
.career-text-as-logo    { color: var(--career-logo-color) !important; }

/* ── Career list ── */
.career-job-list-title {
    width: clamp(80%, 100%, 80%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: max-content 1fr;
    padding: clamp(30px, 3.2vw, 60px) clamp(20px, 2vw, 50px);
    grid-column-gap: 100px;
}
.job-title-name-anchor {
    text-decoration: none;
    display: flex;
    align-items: center;
    padding: 22px 15px;
    color: var(--career-color);
    border: 2px solid rgb(146 139 139 / 88%);
    border-left: 7px solid var(--career-accent);
    margin: 20px 0;
    position: relative;
    z-index: 0;
}

/* ── Job description ── */
.aagh-job-description-parent {
    width: 70%;
    margin: 10px auto;
    display: grid;
    grid-template-columns: 70% 30%;
    padding: clamp(30px, 3.2vw, 60px) clamp(20px, 2vw, 50px);
    background: var(--career-bg-color);
    box-shadow: 0 1px 4px rgba(0,0,0,.16), 0 2px 6px rgba(0,0,0,.23);
}
.aagh-job-description {
    border-right: 1px dashed lightgrey;
    padding-right: 15px;
}
.aagh-job-information { padding-left: 15px; }
.aagh-custom-list .cutsom-square-icon {
    width: 10px; height: 10px; font-size: 10px;
    background: var(--career-color);
    margin-top: 7px;
}
.aagh-custom-list {
    margin: 10px 0;
    display: grid;
    grid-template-columns: max-content 1fr;
    grid-gap: 10px;
    padding-left: 15px;
}

/* ── Apply form ── */
.aagh-career-form {
    width: 80%;
    margin: 40px auto;
    grid-template-columns: 1fr;
    padding: 30px 20px;
    box-shadow: 0 1px 4px rgba(0,0,0,.16), 0 2px 6px rgba(0,0,0,.23);
    background: var(--career-bg-color);
}
.make-input-2-column {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr 1fr;
    grid-column-gap: 20px;
}
@media (max-width: 1200px) {
    .make-input-2-column {
        grid-template-columns: 1fr;
        grid-auto-columns: 1fr;
    }
}

/* ── Buttons ── */
.career-submit-button {
    all: unset;
    display: inline-block;
    padding: 10px 20px;
    color: var(--career-btn-text-color);
    font-weight: bold;
    font-family: var(--career-career-font-family) !important;
    background: var(--career-btn-color);
    font-size: clamp(20px, 1.3vw, 30px);
    border-radius: 3px;
    margin: 3px auto;
    cursor: pointer;
    text-transform: capitalize;
    box-shadow: 0 1px 4px rgba(0,0,0,.16), 0 2px 6px rgba(0,0,0,.23);
}
.add-language-btn {
    background: var(--career-btn-color);
    color: var(--career-btn-text-color);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    font-size: var(--career-paragrapg-font-size);
    transition: background-color 0.3s;
    width: 35px;
    height: 35px;
    font-weight: bold;
}
.remove-language-btn {
    background: red;
    color: white;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    font-size: var(--career-paragrapg-font-size);
    transition: background-color 0.3s;
    width: 35px;
    height: 35px;
}
.remove-button {
    all: unset;
    color: red;
    font-weight: bold;
    position: absolute;
    right: 10px;
    top: 0;
    bottom: 0;
}
.remove-button i { font-size: var(--career-paragrapg-font-size); }
.removeButtonCV {
    all: unset;
    color: red;
    font-weight: bold;
    position: absolute;
    right: 10px;
    top: 0;
    bottom: 0;
}

/* ── Form inputs ── */
.input-field-margin { margin: 20px 0; }
.input-field-margin label { color: var(--career-color) !important; opacity: 1; }
.aagh-input-field {
    width: 100%;
    padding: 0 0 !important;
    text-indent: 10px;
    border: 1px solid black;
    box-shadow: none;
    border-radius: 0 !important;
    height: 50px;
    font-size: var(--career-paragrapg-font-size) !important;
}
.aagh-input-field::placeholder { font-size: clamp(14px, 1vw, 16px); opacity: 0.8; }
.aagh-input-field:focus { border: 1px solid #3d3d3d8c; outline: none; }
label span  { color: red; }
label.error-message { font-size: 10px !important; color: red !important; font-weight: bold; }

input[type="file"],
.file-name-input {
    padding: 15px 0 15px 7px !important;
    width: 100%;
    background: #e3ede3;
    height: auto !important;
    text-indent: 0;
}
.file-name-input { height: 59px !important; border: solid 1px black; }

/* ── Custom select wrapper ── */
.aagh-career-container .select,
.aagh-career-form .select {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 50px !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}
.aagh-career-container .select::after,
.aagh-career-form .select::after {
    display: none !important;
}

/* ── Select element — fully scoped to avoid WP theme conflicts ── */
.aagh-career-container .select select,
.aagh-career-form .select select {
   display: block !important;
    width: 100% !important;
    height: 50px !important;
    margin: 0 !important;
    padding: 0 0.5em !important;
    background: #ffff !important;
    color: #140f0f !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    -webkit-appearance: auto !important;
    -moz-appearance: auto !important;
    appearance: auto !important;
    cursor: pointer;
    font-family: var(--career-career-font-family) !important;
    font-size: var(--career-paragrapg-font-size) !important;
    box-sizing: border-box !important;
    min-height: unset !important;
    max-height: unset !important;
    position: static !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    border: 1px solid #070912 !important;
}
.aagh-career-container .select select option,
.aagh-career-form .select select option {
    background: white !important;
    color: black !important;
    font-size: var(--career-paragrapg-font-size);
}
.aagh-career-container .select select::-ms-expand,
.aagh-career-form .select select::-ms-expand {
    display: none !important;
}

/* ── Neutralize common WP theme input resets inside career forms ── */
.aagh-career-form input,
.aagh-career-form select,
.aagh-career-form textarea {
    font-family: var(--career-career-font-family) !important;
}
.aagh-career-form .select select:focus,
.aagh-career-container .select select:focus {
    /*outline: none !important;*/
    /*box-shadow: none !important;*/
    /*border: none !important;*/
}

/* ── Fallback bare selectors (non-WordPress sites) ── */
select {
    display: block !important;
    width: 100%;
    background: white;
    color: black !important;
}
select option { color: black; font-size: var(--career-paragrapg-font-size); }
.aagh-career-select-option { color: var(--select-option-color) !important; }
select.career-select-element {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    -ms-appearance: none !important;
    appearance: none !important;
    outline: 0 !important;
    box-shadow: none !important;
    flex: 1;
    padding: 0 0.5em;
    color: black;
    cursor: pointer;
    font-family: var(--career-career-font-family) !important;
    font-size: var(--career-paragrapg-font-size) !important;
    border: 1px solid black;
    border-radius: 0 !important;
    overflow-y: scroll;
    text-overflow: ellipsis;
    white-space: nowrap;
}
select::-ms-expand { display: none; }

.career-vr-line { width: 100px; height: 2px; background: #3d3d3d; }
.career-splited-input { display: grid; grid-template-columns: 1fr 1fr; grid-gap: 10px; column-gap: 10px; }

/* ── Language accordion ── */
.languageaccordion-item-header {
    cursor: pointer;
    border: 1px solid black;
    height: 50px;
    display: flex;
    align-items: center;
    text-indent: 15px;
    justify-content: space-between;
    padding: 0 0.5em;
    font-size: var(--career-paragrapg-font-size);
}
.languageaccordion-item-content {
    padding: 15px;
    display: none;
    border: 1px solid black;
    border-top: 0;
}
.languageaccordion-item-content select {
    height: 36px;
    text-indent: 5px;
    font-size: var(--career-paragrapg-font-size);
    border: 1px solid black;
}
.language-level-row {
    display: grid;
    grid-template-columns: 1fr 1fr max-content;
    grid-gap: 10px;
    margin-bottom: 10px;
}
#selectedLanguagesString { margin-top: 10px; font-size: var(--career-paragrapg-font-size); }
.add-language-container  { text-align: center; margin-top: 20px; }

/* ── Additional files ── */
.additional-file-container {
    display: flex;
    gap: 2%;
    align-items: center;
    margin-top: 20px;
    flex-wrap: wrap;
}
.additional-file-col { width: 49%; margin-bottom: 10px; }
.splitted-name-button { display: flex; align-items: center; gap: 10px; }

/* ── Modal ── */
.cmodal {
    display: none;
    position: fixed;
    z-index: 1;
    left: 0; top: 0;
    width: 100%; height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.4);
}
.career-cmodal-content {
    background-color: #fefefe;
    margin: 15% auto;
    padding: 20px;
    border: 1px solid #888;
    width: 40%;
    position: relative;
    border-radius: 5px;
    text-align: center;
}
.career-close-cmodal-icon {
    position: absolute;
    right: 10px; top: 10px;
    font-size: clamp(12px, 1vw, 16px);
    font-weight: bold !important;
    color: red !important;
    font-family: system-ui;
    cursor: pointer;
}

/* ── Loading overlay ── */
#loading-overlay {
    display: none;
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background-color: rgba(255,255,255,0.7);
    z-index: 9999;
    text-align: center;
}
#loading-overlay p {
    width: 100%; height: 100%;
    z-index: 9999;
    text-align: center;
    font-size: large;
    font-weight: bold;
    font-family: monospace;
}
.loader {
    border: 16px solid #f3f3f3;
    border-top: 16px solid var(--career-accent);
    border-radius: 50%;
    width: 120px;
    height: 120px;
    animation: spin 2s linear infinite;
    margin: 20% auto 30px;
}
@keyframes spin {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* ── Responsive ── */
@media (max-width: 920px) {
    .aagh-job-description-parent,
    .career-job-list-title {
        width: 95% !important;
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    }
    .aagh-career-form { width: 95%; padding: 10px 7px; }
    .aagh-job-description { border-right: unset !important; }
    .career-splited-input {
        grid-template-columns: max-content 1fr !important;
        grid-auto-columns: 1fr;
    }
    .career-cmodal-content {
        margin: 30% auto;
        padding: 10px;
        width: 80%;
    }
}