.elementor-23336 .elementor-element.elementor-element-ei52rle:not(.elementor-motion-effects-element-type-background), .elementor-23336 .elementor-element.elementor-element-ei52rle > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://apifop.fr/wp-content/uploads/2026/01/cadidature-scaled.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-23336 .elementor-element.elementor-element-ei52rle > .elementor-background-overlay{background-color:#474747;opacity:0.8;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-23336 .elementor-element.elementor-element-ei52rle > .elementor-container{max-width:700px;}.elementor-23336 .elementor-element.elementor-element-ei52rle{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:20px 0px 20px 0px;}.elementor-23336 .elementor-element.elementor-element-6620a5f > .elementor-element-populated{margin:30px 0px 30px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.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-23336 .elementor-element.elementor-element-6effccb{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-23336 .elementor-element.elementor-element-6effccb .elementor-heading-title{color:#F5F5F5;}.elementor-23336 .elementor-element.elementor-element-4485271{text-align:center;}.elementor-23336 .elementor-element.elementor-element-4485271 .elementor-heading-title{color:#D5D7DC;}.elementor-widget-global{--divider-color:var( --e-global-color-secondary );}.elementor-widget-global .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-global.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-global.elementor-view-framed .elementor-icon, .elementor-widget-global.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-global.elementor-view-framed .elementor-icon, .elementor-widget-global.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-23336 .elementor-element.elementor-global-24818{--divider-border-style:solid;--divider-color:#BDBDBD;--divider-border-width:4px;}.elementor-23336 .elementor-element.elementor-global-24818 .elementor-divider-separator{width:50px;margin:0 auto;margin-center:0;}.elementor-23336 .elementor-element.elementor-global-24818 .elementor-divider{text-align:center;padding-block-start:15px;padding-block-end:15px;}.elementor-23336 .elementor-element.elementor-element-6075feb{text-align:center;}.elementor-23336 .elementor-element.elementor-element-6075feb .elementor-heading-title{color:#FFFFFF;}.elementor-23336 .elementor-element.elementor-element-a69a9d7{--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;--margin-top:30px;--margin-bottom:30px;--margin-left:0px;--margin-right:0px;}.elementor-23336 .elementor-element.elementor-element-5a2fe23{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-23336 .elementor-element.elementor-element-58cc502{--divider-border-style:solid;--divider-color:#BDBDBD;--divider-border-width:4px;}.elementor-23336 .elementor-element.elementor-element-58cc502 .elementor-divider-separator{width:50px;margin:0 auto;margin-center:0;}.elementor-23336 .elementor-element.elementor-element-58cc502 .elementor-divider{text-align:center;padding-block-start:15px;padding-block-end:15px;}.elementor-23336 .elementor-element.elementor-element-784e0e9{--display:flex;}@media(min-width:1025px){.elementor-23336 .elementor-element.elementor-element-ei52rle:not(.elementor-motion-effects-element-type-background), .elementor-23336 .elementor-element.elementor-element-ei52rle > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:scroll;}}@media(max-width:1024px){.elementor-23336 .elementor-element.elementor-element-ei52rle{padding:120px 50px 120px 50px;}}@media(max-width:767px){.elementor-23336 .elementor-element.elementor-element-ei52rle{padding:80px 20px 80px 20px;}.elementor-23336 .elementor-element.elementor-element-6effccb{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-23336 .elementor-element.elementor-global-24818 .elementor-divider{padding-block-start:6px;padding-block-end:6px;}.elementor-23336 .elementor-element.elementor-element-58cc502 .elementor-divider{padding-block-start:6px;padding-block-end:6px;}}/* Start custom CSS for shortcode, class: .elementor-element-a4c0914 *//* Container principal */
.apifop-form-container {
    background: #ffffff;
    padding: 40px;
    border-radius: 24px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.05);
    font-family: 'Poppins', sans-serif;
}

/* Layout en colonnes */
.apifop-row { display: flex; gap: 20px; margin-bottom: 20px; }
.apifop-col { flex: 1; }
.apifop-full { margin-bottom: 20px; }

/* Labels */
.apifop-form-container label {
    display: block;
    font-weight: 600;
    font-size: 14px;
    color: #1a1a1a;
    margin-bottom: 8px;
}

/* Champs de saisie */
.wpcf7-form-control:not([type="submit"]) {
    width: 100% !important;
    padding: 14px 20px !important;
    border-radius: 12px !important;
    border: 2px solid #f0f0f0 !important;
    background: #f9f9f9 !important;
    font-size: 15px !important;
    transition: all 0.3s ease;
    outline: none !important;
}

.wpcf7-form-control:focus {
    background: #ffffff !important;
    border-color: #1173c5 !important; /* Bleu APIFOP */
    box-shadow: 0 0 0 4px rgba(17, 115, 197, 0.1) !important;
}

/* Style spécifique pour le champ Fichier (Le "Choose File") */
.file-upload-wrapper {
    position: relative;
    border: 2px dashed #d0d7de;
    border-radius: 12px;
    padding: 20px;
    text-align: center;
    background: #fcfdfe;
    transition: background 0.3s;
}

.file-upload-wrapper:hover { background: #f0f7ff; border-color: #1173c5; }

/* Masquer le texte moche par défaut du navigateur */
.wpcf7-file {
    font-size: 14px;
    color: #666;
}

/* --- 1. LE BOUTON (Fixe et Jaune) --- */
.apifop-submit {
    display: block !important;
    width: 100% !important;
    background-color: #F2B837 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    padding: 18px !important;
    border: none !important;
    border-radius: 14px !important;
    cursor: pointer;
    visibility: visible !important;
    opacity: 1 !important;
    transition: all 0.3s ease;
}

/* On force le bouton à rester jaune même si le formulaire est "sent" (envoyé) */
.wpcf7-form.sent .apifop-submit, 
.wpcf7-form.invalid .apifop-submit, 
.wpcf7-form.spam .apifop-submit {
    background-color: #F2B837 !important;
    display: block !important;
}

/* --- 2. LE MESSAGE (Juste sous le bouton) --- */
.wpcf7-response-output {
    /* Positionnement */
    position: relative !important;
    margin: 15px 0 0 0 !important; /* Espace fixe sous le bouton */
    display: block !important;
    clear: both;
    
    /* Design moderne */
    padding: 12px 15px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    text-align: center !important;
    border: none !important; /* On enlève la bordure par défaut */
    background-color: #f8f9fa !important;
}

/* État Succès (Vert) */
.wpcf7-mail-sent-ok {
    background-color: #e6fffa !important;
    color: #234e52 !important;
}

/* État Erreur (Rouge) */
.wpcf7-validation-errors, .wpcf7-mail-sent-ng {
    background-color: #fff5f5 !important;
    color: #a02c2c !important;
}

/* --- 3. FIX POUR ÉVITER QUE LE BOUTON NE BOUGE --- */
.apifop-submit-container {
    margin-bottom: 5px;
}

/* Masquer le loader qui fait parfois sauter le design */
.wpcf7-spinner {
    position: absolute;
    bottom: 25px;
    right: 20px;
}
/* Masquer les bordures de focus bizarres sur certains thèmes */
.wpcf7-form-control:focus {
    outline: none !important;
}
/* Responsive */
@media (max-width: 768px) {
    .apifop-row { flex-direction: column; gap: 0; }
    .apifop-form-container { padding: 25px; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-784e0e9 *//* Style pour l'étoile obligatoire */
.required {
    color: #e74c3c;
    margin-left: 4px;
}

/* Conteneur principal des cases à cocher */
.apifop-checkbox-group .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

.apifop-checkbox-group .wpcf7-checkbox {
    display: flex !important;
    flex-wrap: wrap !important; /* Force le retour à la ligne */
    gap: 10px 20px; /* Écart entre les lignes et les colonnes */
    margin-top: 10px;
}

/* Style de chaque élément (Case + Texte) */
.apifop-checkbox-group .wpcf7-list-item {
    display: inline-flex !important;
    align-items: center;
    margin: 0 !important;
    padding: 8px 12px;
    background: #ffffff;
    border: 1px solid #f0f0f0;
    border-radius: 8px;
    width: calc(50% - 10px); /* Affiche 2 éléments par ligne sur ordinateur */
    transition: all 0.2s ease;
}

/* Petit effet au survol de la case */
.apifop-checkbox-group .wpcf7-list-item:hover {
    border-color: #1173c5;
    background: #f0f7ff;
}

/* Ajustement de la petite boîte à cocher */
.apifop-checkbox-group input[type="checkbox"] {
    margin-right: 12px !important;
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0; 
}

/* Label de la case */
.apifop-checkbox-group .wpcf7-list-item-label {
    font-size: 14px;
    color: #444;
    line-height: 1.2;
}

/* --- RESPONSIVE : 1 seule colonne sur mobile --- */
@media (max-width: 768px) {
    .apifop-checkbox-group .wpcf7-list-item {
        width: 100% !important; /* Prend toute la largeur sur téléphone */
    }
}


.apifop-form-container {
    background: #ffffff;
    padding: 40px;
    border-radius: 24px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.05);
    font-family: 'Poppins', sans-serif;
}

.apifop-row { display: flex; gap: 20px; margin-bottom: 20px; }
.apifop-col { flex: 1; }
.apifop-full { margin-bottom: 20px; }

.apifop-form-container label {
    display: block;
    font-weight: 600;
    font-size: 14px;
    color: #1a1a1a;
    margin-bottom: 8px;
}

.wpcf7-form-control:not([type="submit"]):not([type="checkbox"]) {
    width: 100% ;
    padding: 14px 20px ;
    border-radius: 12px ;
    border: 2px solid #f0f0f0 ;
    background: #f9f9f9 ;
    transition: all 0.3s ease;
}

.apifop-submit {
    width: 100% ;
    background: #1173c5 ;
    color: #ffffff ;
    font-weight: 700 ;
    padding: 18px ;
    border-radius: 14px ;
    border: none ;
    box-shadow: 0 10px 20px rgba(17, 115, 197, 0.3) ;
    cursor: pointer;
    transition: 0.3s;
}

.apifop-submit:hover {
    transform: translateY(-3px);
    background: #F2B837 ;
}/* End custom CSS */