/* ==========================================================
   Fred Recrute – Jobs Search 1.0.0
   Intitulé + Ville + Rechercher
   ========================================================== */

.frjs-search-wrap {
    width: 100%;
    margin-bottom: 22px;
}

.frjs-search-form {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr) auto auto;
    gap: 12px;
    align-items: end;
    padding: 18px;
    border: 1px solid #e7e7e7;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 26px rgba(20,20,20,.03);
}

.frjs-field {
    min-width: 0;
}

.frjs-field > label {
    display: block;
    margin: 0 0 7px;
    color: #272727;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
}

.frjs-input-wrap {
    position: relative;
}

.frjs-input {
    width: 100%;
    height: 50px;
    padding: 0 16px 0 43px !important;
    border: 1px solid #dedede !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #252525 !important;
    font-size: 15px !important;
    line-height: 50px !important;
    outline: none !important;
    box-shadow: none !important;
}

.frjs-input:focus {
    border-color: #bdbdbd !important;
}

.frjs-icon {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 15px;
    width: 17px;
    height: 17px;
    transform: translateY(-50%);
    pointer-events: none;
}

.frjs-icon--search::before {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    border: 1.8px solid #777d88;
    border-radius: 50%;
}

.frjs-icon--search::after {
    content: "";
    position: absolute;
    width: 7px;
    height: 1.8px;
    left: 10px;
    top: 11px;
    background: #777d88;
    transform: rotate(45deg);
    transform-origin: left center;
}

.frjs-icon--map::before {
    content: "";
    position: absolute;
    width: 12px;
    height: 15px;
    left: 2px;
    top: 0;
    border: 1.8px solid #ff2627;
    border-radius: 8px 8px 10px 10px;
}

.frjs-icon--map::after {
    content: "";
    position: absolute;
    width: 4px;
    height: 4px;
    left: 6px;
    top: 5px;
    border-radius: 50%;
    background: #ff2627;
}

.frjs-submit {
    height: 50px;
    padding: 0 22px;
    border: 0;
    border-radius: 10px;
    background: #ff2627;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}

.frjs-submit:hover {
    opacity: .92;
}

.frjs-reset {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 50px;
    padding: 0 8px;
    color: #737884;
    font-size: 13px;
    text-decoration: none;
}

.frjs-suggestions {
    position: absolute;
    z-index: 9999;
    display: none;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    max-height: 300px;
    overflow-y: auto;
    padding: 6px;
    border: 1px solid #e1e1e1;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 14px 35px rgba(20,20,20,.12);
}

.frjs-suggestion {
    display: block;
    width: 100%;
    padding: 10px 11px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #292929;
    font-size: 14px;
    line-height: 1.3;
    text-align: left;
    cursor: pointer;
}

.frjs-suggestion:hover,
.frjs-suggestion:focus {
    background: #f7f5f3;
}

/* Cache les filtres natifs qui peuvent rester autour du moteur GrowCareer. */
.jobs-filter-top,
.job-filter-top,
.jws-filter-top,
.jobs-filter,
.jws_jobs_filter,
.filter_jobs {
    display: none !important;
}

@media (max-width: 900px) {
    .frjs-search-form {
        grid-template-columns: 1fr 1fr;
    }

    .frjs-submit {
        width: 100%;
    }
}

@media (max-width: 600px) {
    .frjs-search-form {
        grid-template-columns: 1fr;
        padding: 16px;
    }

    .frjs-submit,
    .frjs-reset {
        width: 100%;
    }
}


/* ==========================================================
   1.0.4 — suppression ciblée du bloc multicritères GrowCareer
   ========================================================== */

/* Sécurité CSS : le widget multicritères ne doit jamais rester visible. */
.elementor-widget-jws_post_category_filter {
    display: none !important;
}

/* Le moteur Fred conserve sa largeur et son centrage. */
.job-content-above .frjs-search-wrap {
    width: 100%;
}

.job-content-above .frjs-search-form {
    width: min(900px, 100%);
    margin-left: auto;
    margin-right: auto;
}


/* ==========================================================
   1.0.5 — Résultats pleine largeur
   Base stricte : 1.0.4 validée
   ========================================================== */

.jws-jobs-archive .post_sidebar.sidebar-has_sidebar {
    display: none !important;
}

.jws-jobs-archive .post_content.has-sidebar,
.jws-jobs-archive .post_content {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
}

.jws-jobs-archive .post_content.col-xl-9,
.jws-jobs-archive .post_content.col-lg-12,
.jws-jobs-archive .post_content.col-12 {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
}

.jws-jobs-archive .post_content.has-sidebar {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.jws-jobs-archive .full-wrap > .row {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* ==========================================================
   1.0.7 — Moteur dans la colonne résultats
   Base stricte : 1.0.5 validée
   ========================================================== */

/*
 * Le moteur est désormais enfant de .post_content,
 * juste avant .active-categories.
 */
.jws-jobs-archive .post_content > .frjs-search-wrap {
    width: 100%;
    margin: 0 0 28px;
}

.jws-jobs-archive .post_content > .frjs-search-wrap .frjs-search-form {
    width: min(900px, 100%);
    margin-left: 0;
    margin-right: auto;
}

/* Le contenu résultat conserve la pleine largeur de la 1.0.5. */
.jws-jobs-archive .post_content {
    min-width: 0;
}


/* ==========================================================
   1.0.10 — Nettoyage final depuis la 1.0.7 stricte
   ========================================================== */

/* Sécurité CSS : pas de lien Réinitialiser dans le moteur Fred. */
.frjs-reset {
    display: none !important;
}

/* Sécurité CSS : pas de pastille / reprise de critère actif GrowCareer. */
.jws-jobs-archive .active-categories {
    display: none !important;
}


/* ==========================================================
   1.0.14 — Archives Filière / job_industry
   Même présentation que l'archive générale des offres
   ========================================================== */

/* Taxonomie job_industry : suppression de la sidebar GrowCareer. */
body.tax-job_industry .post_sidebar.sidebar-has_sidebar,
body.tax-job_industry .post_sidebar {
    display: none !important;
}

/* Résultats pleine largeur sur les pages /filiere/.../ */
body.tax-job_industry .post_content.has-sidebar,
body.tax-job_industry .post_content,
body.tax-job_industry .post_content.col-xl-9,
body.tax-job_industry .post_content.col-lg-12,
body.tax-job_industry .post_content.col-12 {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Neutralise les marges de la ligne sidebar + contenu. */
body.tax-job_industry .full-wrap > .row {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Aucun bouton "Tous les filtres" sur les archives Filière. */
body.tax-job_industry .show_filter_shop {
    display: none !important;
}
