.elementor-109 .elementor-element.elementor-element-de10245{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-109 .elementor-element.elementor-element-dc7f671 img{border-radius:15px 15px 15px 15px;}.elementor-109 .elementor-element.elementor-element-750218e{--display:flex;--margin-top:-74px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-109 .elementor-element.elementor-element-180f76f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-109 .elementor-element.elementor-element-06d7b2e > .elementor-widget-container{margin:50px 0px 0px 0px;}.elementor-109 .elementor-element.elementor-element-06d7b2e{text-align:center;}.elementor-109 .elementor-element.elementor-element-06d7b2e .elementor-heading-title{font-family:"Helvetica", Sans-serif;font-weight:800;color:#000000;}.elementor-109 .elementor-element.elementor-element-6178669{text-align:center;}.elementor-109 .elementor-element.elementor-element-6178669 .elementor-heading-title{font-family:"Helvetica", Sans-serif;font-weight:500;color:#000000;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-109 .elementor-element.elementor-element-9bfbe5b{text-align:center;font-family:"Helvetica", Sans-serif;font-weight:500;color:#000000;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-109 .elementor-element.elementor-element-357ca25 .elementor-button{background-color:#000000;font-family:"Helvetica", Sans-serif;font-size:21px;font-weight:700;border-radius:26px 26px 26px 26px;padding:14px 30px 14px 30px;}/* Start custom CSS for html, class: .elementor-element-d5f8f53 *//* Wrapper pour centrer et ajouter un padding si nécessaire */
.reactivjob-search-bar-single-line-wrapper {
    display: flex;
    justify-content: center;
    padding: 30px 20px; /* Espace autour de la barre de recherche */
    width: 100%;
    box-sizing: border-box;
}

/* Conteneur principal du formulaire sur une seule ligne */
.reactivjob-single-line-search-form {
    display: flex;
    flex-wrap: nowrap; /* Empêche les éléments de passer à la ligne sur grand écran */
    align-items: center; /* Alignement vertical au centre */
    background-color: #fff;
    border-radius: 15px; /* Coins très arrondis pour un look pilule */
    box-shadow: 0 12px 40px rgba(0,0,0,0.1); /* Ombre plus prononcée mais douce */
    max-width: 900px; /* Largeur optimale pour cette configuration */
    width: 100%;
    overflow: hidden; /* Important pour les bordures internes */
    padding-left: 20px; /* Padding interne à gauche du premier champ */
}

/* Groupe de champ (pour l'input) */
.reactivjob-single-line-search-form .sl-search-field-group {
    flex-grow: 1; /* Permet aux champs de prendre l'espace disponible */
    flex-basis: 0; /* Important pour que flex-grow fonctionne bien */
    position: relative;
    height: 55px; /* Hauteur fixe pour tous les éléments */
    display: flex; /* Pour positionner l'icône et le texte */
    align-items: center;
}

/* Séparateur visuel entre les champs */
.reactivjob-single-line-search-form .sl-search-field-group:not(:last-of-type)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 60%; /* Hauteur du séparateur */
    background-color: #e0e0e0; /* Couleur du séparateur */
}


/* Style des champs de texte */
.reactivjob-single-line-search-form input[type="text"] {
    width: 100%;
    height: 100%; /* S'adapte à la hauteur du groupe */
    padding: 0 10px; /* Padding interne du champ */
    padding-left: 45px; /* Espace pour l'icône */
    border: none;
    background-color: transparent;
    font-size: 17px;
    color: #333;
    outline: none;
    box-sizing: border-box;
}

/* Style des placeholders */
.reactivjob-single-line-search-form input::placeholder {
    color: #999;
    font-weight: 300;
}

/* Icônes dans les champs (Font Awesome) */
.sl-search-field-group .sl-search-icon::before {
    font-family: 'Font Awesome 5 Free'; /* Assurez-vous que FA est chargé */
    font-weight: 900; /* Pour les icônes solides */
    position: absolute;
    left: 15px; /* Position de l'icône */
    color: #007bff; /* Couleur de l'icône (bleu Hellowork/Indeed) */
    font-size: 18px;
    z-index: 1;
}

.sl-search-icon-keywords::before {
    content: "\f0b1"; /* Icône de mallette (briefcase) ou \f002 (loupe) */
}

.sl-search-icon-location::before {
    content: "\f3c5"; /* Icône de localisation (map-marker-alt) */
}


/* Groupe du bouton de soumission */
.reactivjob-single-line-search-form .sl-search-submit-group {
    flex-shrink: 0; /* Empêche le bouton de rétrécir */
    padding: 0 5px; /* Petit padding autour du bouton */
}

/* Style du bouton de recherche */
.reactivjob-single-line-search-form .sl-reactivjob-search-button {
    height: 45px; /* Hauteur légèrement inférieure pour un look plus intégré */
    padding: 0 25px; /* Padding interne du bouton */
    background-color: #000; /* Bleu primaire */
    color: #fff;
    border: none;
    border-radius: 50px; /* Coins très arrondis pour le bouton */
    font-size: 17px;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease;
    display: flex; /* Pour aligner l'icône et le texte */
    align-items: center;
    justify-content: center;
    gap: 8px; /* Espace entre l'icône et le texte du bouton */
}

.reactivjob-single-line-search-form .sl-reactivjob-search-button .fas {
    font-size: 18px; /* Taille de l'icône dans le bouton */
}

.reactivjob-single-line-search-form .sl-reactivjob-search-button:hover {
    background-color: #0056b3; /* Bleu plus foncé au survol */
    transform: translateY(-1px);
}

/* Responsive adjustments pour les petits écrans */
@media (max-width: 768px) {
    .reactivjob-single-line-search-form {
        flex-direction: column; /* Les champs s'empilent sur mobile */
        border-radius: 10px; /* Moins d'arrondi sur les bords du conteneur mobile */
        padding: 15px; /* Plus de padding interne sur mobile */
        box-shadow: none; /* Pas d'ombre sur mobile si pleine largeur */
    }

    .reactivjob-single-line-search-form .sl-search-field-group {
        width: 100%;
        margin-bottom: 10px; /* Espace entre les champs empilés */
        border: 1px solid #e0e0e0; /* Bordure individuelle pour chaque champ */
        border-radius: 8px; /* Arrondi sur chaque champ */
        height: auto; /* Hauteur automatique sur mobile */
    }
    
    .reactivjob-single-line-search-form .sl-search-field-group::after {
        display: none; /* Supprime les séparateurs verticaux sur mobile */
    }

    .reactivjob-single-line-search-form input[type="text"] {
        padding: 12px 15px; /* Ajuste le padding sur mobile */
        padding-left: 45px; /* Garde l'espace pour l'icône si présente */
    }

    .sl-search-field-group .sl-search-icon::before {
        /* Garde les icônes sur mobile si désiré, sinon display: none; */
        left: 15px;
    }

    .reactivjob-single-line-search-form .sl-search-submit-group {
        width: 100%;
        padding: 0;
        margin-top: 10px; /* Espace au-dessus du bouton */
    }

    .reactivjob-single-line-search-form .sl-reactivjob-search-button {
        height: 50px; /* Plus de hauteur pour le bouton sur mobile */
        border-radius: 8px; /* Arrondi du bouton sur mobile */
    }
}/* End custom CSS */