/*
Theme Name:   Air Cargo France Association
Theme URI:    https://www.siiimple.fr/creation-site-internet/
Description:  Comprenons et maîtrisons le nouveau parcours de vos clients.
Author:       Siiimple
Author URI:   https://www.siiimple.fr
Template:     acfa
Version:      1.0
Text Domain:  acfa
*/
body h1, body h2, body h1 .beginning-text { color : #29255b; }
.nectar-split-heading h1 { margin-bottom : 7px; }
#intro .dynamic-words .text-wrap:nth-of-type(1) { color : #f8b133; }
#intro .dynamic-words .text-wrap:nth-of-type(2), .nectar-scrolling-tabs .scrolling-tab-nav a { color : #35a8e0; }
#intro .dynamic-words .text-wrap:nth-of-type(3) { color : #d60b51; }
#intro .dynamic-words .text-wrap:nth-of-type(4) { color : #93c01f; }
.nectar-scrolling-text-inner h2 { line-height : 1.5 !important; }
#footer-outer img.logo { height : 50px; margin : 0; padding : 0; vertical-align : middle; }
.nectar-cta[data-style="underline"] .link_wrap .link_text:after { border-bottom : 1px solid #000000; }
#top nav > ul > li[class*="button_solid_color"] > a, body #header-outer.transparent #top nav > ul > li[class*="button_solid_color"] > a, #header-outer[data-lhe="animated_underline"] #top nav > ul > li[class*="button_solid_color"] > a, #header-outer.transparent.dark-slide > #top nav .sf-menu > li[class*="button_solid_color"].sfHover > a, #header-outer[data-lhe="animated_underline"].transparent.dark-slide #top nav > ul > li[class*="button_solid_color"] > a:hover, #header-outer[data-lhe="default"].transparent.dark-slide #top nav > ul > li[class*="button_solid_color"] > a:hover, #header-outer[data-lhe="default"] #top nav .sf-menu > li[class*="button_solid_color"] > a:hover, #header-outer.dark-text #top nav > ul > li[class*="button_solid_color"] > a, #header-outer[data-lhe="default"] #top nav .sf-menu .current_page_item[class*="button_solid_color"] > a, #header-outer.transparent.dark-slide > #top nav > ul > li[class*="button_solid_color"] > a:hover { font-weight : 500 !important; }
.nectar-scrolling-tabs[data-tab-spacing="10%"] .scrolling-tab-content > div { padding-bottom : 0; padding-top : 0; }
.nectar-scrolling-tabs .scrolling-tab-nav a span { font-family : 'Open Sans'; font-variant-numeric : tabular-nums; }
.nectar-icon-list[data-icon-color="extra-color-1"][data-icon-style="border"] .list-icon-holder[data-icon_type="numerical"] span, .nectar-icon-list[data-icon-color="extra-color-1"] .nectar-icon-list-item .list-icon-holder[data-icon_type="numerical"] { font-family : 'Montserrat'; font-weight : 600; }
.lead-text { font-size : 22px; font-weight : 500; line-height : 34px; }
.nectar-icon-list[data-direction="horizontal"][data-columns="2"] .nectar-icon-list-item { margin : 0 2% 2% 0; }
.nectar-scrolling-tabs .scrolling-tab-mobile-title { display : none; visibility : hidden; }
.nectar-fancy-ul ul li i.icon-default-style[class^="icon-"].icon-salient-thin-line { font-size : 30px; height : 30px; line-height : 30px; }
.nectar-cta .nectar-button-type { font-size : 18px; font-weight : normal; letter-spacing : normal; text-transform : none !important; }
#to-iii_01 { background-color : #93c01f !important; }
.team-member { margin-top : 0 !important; }
.team-desc { padding-bottom : 80px; }
.nectar-hor-list-item .nectar-list-item[data-icon=true] b { vertical-align : baseline; }
.page-id-2495 .nectar-hor-list-item .nectar-list-item[data-icon=true] > * { vertical-align : bottom !important; }
.lead {
    font-size   : 105%;
    font-weight : 500;
}
/* --- Styles pour les offres d'emploi --- */
.job-offer-details {
    background    : #f9f9f9;
    border        : 1px solid #eeeeee;
    border-radius : 8px;
    margin-bottom : 40px;
    padding       : 30px;
}
.job-offer-summary {
    align-items    : center;
    border-bottom  : 2px solid #29255b;
    display        : flex;
    margin-bottom  : 30px !important;
    padding-bottom : 20px;
}
.job-badges, .job-card-meta {
    align-items   : center;
    display       : flex;
    flex-wrap     : wrap;
    gap           : 10px;
    margin-bottom : 10px;
    margin-top    : 10px;
    width         : 100%;
}
.job-badge {
    border-radius  : 20px;
    display        : inline-block;
    font-size      : 11px !important;
    font-weight    : 600;
    line-height    : 1;
    padding        : 5px 12px;
    text-transform : uppercase;
    vertical-align : middle;
}
.job-badge i {
    margin-right   : 5px;
    vertical-align : middle;
}
.badge-contract {
    background-color : #29255b;
    color            : #ffffff;
}
.badge-level {
    background-color : #93c01f;
    color            : #ffffff;
}
.badge-location {
    background-color : #35a8e0;
    color            : #ffffff;
}
.job-employer {
    color     : #29255b;
    display   : block !important;
    font-size : 24px;
    margin    : 0 0 10px 0;
    width     : 100%;
}
.job-service {
    color         : #666666;
    font-size     : 15px;
    font-style    : italic;
    margin-bottom : 15px;
}
.job-meta-grid {
    display   : flex;
    flex-wrap : wrap;
    font-size : 14px;
    gap       : 20px;
}
.meta-item strong {
    color : #29255b;
}
.limit-date {
    color : #d60b51;
}
.job-apply-box {
    text-align : right;
}
.job-description-content {
    background    : #ffffff;
    border        : 1px solid #eeeeee;
    border-radius : 5px;
    margin-bottom : 30px;
    padding       : 30px;
}
.job-extra-sections {
    padding : 0;
}
.job-info-block {
    background    : #ffffff;
    border-left   : 4px solid #93c01f;
    border-radius : 5px;
    height        : 100%;
    margin-bottom : 30px;
    padding       : 20px;
}
.job-info-block h4 {
    color         : #29255b;
    font-size     : 22px;
    margin-bottom : 15px;
    margin-top    : 0;
}
.job-info-block ul {
    list-style : none;
    margin     : 0;
    padding    : 0;
}
.job-info-block ul li {
    list-style    : none;
    margin-bottom : 8px;
}
.job-info-block ul li strong {
    font-weight : 500;
}
.job-sub-info p {
    padding-bottom : 10px;
}
.job-sub-info ul li {
    list-style  : disc;
    margin-left : 24px;
}
.salary {
    color       : #29255b;
    font-size   : 20px;
    font-weight : bold;
}
.contact-card {
    background    : #ffffff;
    border-left   : 4px solid #93c01f;
    border-radius : 5px;
    padding       : 25px;
}
.contact-card h4 {
    color      : #29255b;
    font-size  : 22px;
    margin-top : 0;
}
.contact-name {
    font-size     : 16px;
    margin-bottom : 10px;
    padding       : 0;
}
.contact-links {
    display   : flex;
    flex-wrap : wrap;
    gap       : 10px 20px;
}
.contact-links i {
    color        : #35a8e0;
    margin-right : 8px;
}
.contact-links a {
    color       : #29255b;
    font-weight : 500;
}
.contact-links a,
.contact-links .phone {
    align-items : center;
    display     : inline-flex;
}
.contact-links .phone {
    color       : #29255b;
    font-weight : 500;
}
.job-form-container {
    background    : #ffffff;
    border        : 1px solid #eeeeee;
    border-radius : 5px;
    margin-top    : 30px;
    padding       : 40px;
}
.job-form-container h3 {
    color         : #29255b;
    margin-bottom : 10px;
    margin-top    : 0;
}
.job-external-link-footer {
    background    : #ffffff;
    border        : 1px solid #eeeeee;
    border-radius : 5px;
    margin-top    : 30px;
    padding       : 40px;
    text-align    : center;
}
.job-external-link-footer p {
    font-size     : 18px;
    margin-bottom : 20px;
}
/* --- Styles pour les archives d'offres d'emploi --- */
.job-archive-header h1 {
    color : #29255b;
}
.job-offers-list {
    margin-bottom : 60px;
}
.job-offer-card {
    background    : #ffffff;
    border        : 1px solid #eeeeee;
    border-radius : 8px;
    margin-bottom : 20px;
    padding       : 25px;
    transition    : all 0.3s ease;
}
.job-offer-card:hover {
    box-shadow : 0 10px 30px rgba(0, 0, 0, 0.05);
    transform  : translateY(-2px);
}
.job-card-content {
    align-items     : center;
    display         : flex;
    justify-content : space-between;
}
.job-card-main {
    flex : 1;
}
.job-card-title {
    font-size     : 18px !important;
    line-height   : 1.4 !important;
    margin-bottom : 5px !important;
}
.job-card-title a {
    color           : #29255b;
    text-decoration : none;
}
.job-card-employer {
    color       : #35a8e0;
    font-size   : 16px;
    font-weight : 600;
}
.job-card-actions {
    margin-left : 30px;
    text-align  : right;
}
.job-card-date {
    color         : #777777;
    font-size     : 13px;
    margin-bottom : 10px;
}
/* --- Styles pour le formulaire de dépôt ACF --- */
.acf-form-container {
    background    : #ffffff;
    border-radius : 12px;
    box-shadow    : 0 10px 40px rgba(0, 0, 0, 0.08);
    margin        : 0 auto 40px;
    max-width     : 1200px;
    padding       : 50px;
}
.acf-form-title {
    color          : #29255b;
    font-family    : 'Montserrat', sans-serif;
    font-size      : 32px;
    font-weight    : 700;
    margin-bottom  : 10px;
    margin-top     : 0;
    text-transform : none;
}
.acf-form-intro {
    background    : #f0f7fb;
    border-left   : 5px solid #35a8e0;
    border-radius : 0 8px 8px 0;
    margin-bottom : 30px;
    padding       : 20px 25px;
}
.acf-form-intro p, #message.updated p {
    color       : #29255b;
    font-size   : 16px;
    font-weight : 500;
    margin      : 0;
}
.acf-success-message {
    background    : #f0f9e8;
    border-left   : 5px solid #93c01f;
    border-radius : 0 8px 8px 0;
    margin-bottom : 30px;
    margin-top    : 20px;
    padding       : 25px 30px;
}
.acf-success-message p {
    color       : #29255b;
    font-size   : 16px;
    font-weight : 500;
    margin      : 0;
}
/* Groupes de champs et titres */
.acf-form .acf-field {
    border-top    : 1px solid #f0f0f0;
    margin-bottom : 25px;
    padding-top   : 20px;
}
.acf-form .acf-field:first-child {
    border-top  : none;
    padding-top : 0;
}
/* Labels */
.acf-form .acf-label {
    margin-bottom : 12px !important;
}
.acf-form .acf-label label {
    color          : #29255b;
    font-family    : 'Montserrat', sans-serif;
    font-size      : 13px;
    font-weight    : 700;
    letter-spacing : 0.05em;
    text-transform : uppercase;
}
.acf-form .acf-label label .acf-required {
    color          : #e03535;
    margin-left    : 4px;
    text-transform : none;
}
.acf-form .acf-label .description {
    color      : #666666;
    font-style : normal;
    margin-top : 4px;
}
/* Inputs, Selects, Textareas */
.acf-form input[type="text"],
.acf-form input[type="number"],
.acf-form input[type="email"],
.acf-form input[type="url"],
.acf-form select,
.acf-form textarea {
    background    : #fdfdfd;
    border        : 2px solid #e1e1e1;
    border-radius : 8px;
    color         : #333333;
    font-size     : 16px;
    padding       : 12px 18px;
    transition    : all 0.3s ease;
    width         : 100%;
}
.acf-form input:focus,
.acf-form select:focus,
.acf-form textarea:focus {
    border-color : #35a8e0;
    box-shadow   : 0 0 0 4px rgba(53, 168, 224, 0.1);
    outline      : none;
}
/* Boutons radio et Checkboxes (Ergonomie) */
.acf-field .acf-radio-list li,
.acf-field .acf-checkbox-list li {
    margin-bottom : 8px;
}
.acf-field .acf-radio-list label,
.acf-field .acf-checkbox-list label {
    font-weight : 500 !important;
    padding     : 8px 12px;
    transition  : background 0.2s;
}
/* Tabs ACF */
.acf-tab-wrap {
    background    : transparent !important;
    border-bottom : 2px solid #29255b;
}
.acf-form .acf-tab-group {
    border-bottom   : none !important;
    border-top      : none !important;
    display         : flex;
    flex-wrap       : nowrap;
    list-style      : none;
    margin          : 0 !important;
    overflow-x      : auto;
    overflow-y      : hidden;
    padding         : 0;
    scrollbar-width : none; /* Firefox */
}
.acf-form .acf-tab-group::-webkit-scrollbar {
    display : none; /* Safari and Chrome */
}
.acf-form .acf-tab-group li {
    flex : 0 0 auto;
}
.acf-form .acf-tab-group li a {
    background    : #f8f8f8;
    border        : none !important;
    border-radius : 8px 8px 0 0;
    color         : #29255b;
    display       : block;
    font-weight   : 700;
    margin-right  : 5px;
    padding       : 12px 25px;
    transition    : all 0.3s ease;
    white-space   : nowrap;
}
.acf-form .acf-tab-group li.active a {
    background : #35a8e0 !important;
    color      : #ffffff !important;
}
/* Bouton de soumission */
.acf-form-submit {
    border-top  : 1px solid #f0f0f0;
    margin-top  : 0;
    padding-top : 40px;
}
.acf-form .acf-form-submit .acf-button, .acf-success-cta {
    background            : #93c01f;
    border                : none;
    -webkit-border-radius : 4px !important;
    border-radius         : 4px !important;
    box-shadow            : 0 4px 15px rgba(147, 192, 31, 0.3) !important;
    color                 : #ffffff;
    cursor                : pointer;
    display               : inline-block;
    font-family           : 'Montserrat', sans-serif;
    font-size             : 18px;
    padding               : 15px 22px !important;
    text-transform        : uppercase;
    -webkit-transition    : opacity .45s cubic-bezier(0.25, 1, 0.33, 1), transform .45s cubic-bezier(0.25, 1, 0.33, 1), border-color .45s cubic-bezier(0.25, 1, 0.33, 1), color .45s cubic-bezier(0.25, 1, 0.33, 1), background-color .45s cubic-bezier(0.25, 1, 0.33, 1), box-shadow .45s cubic-bezier(0.25, 1, 0.33, 1);
    transition            : opacity .45s cubic-bezier(0.25, 1, 0.33, 1), transform .45s cubic-bezier(0.25, 1, 0.33, 1), border-color .45s cubic-bezier(0.25, 1, 0.33, 1), color .45s cubic-bezier(0.25, 1, 0.33, 1), background-color .45s cubic-bezier(0.25, 1, 0.33, 1), box-shadow .45s cubic-bezier(0.25, 1, 0.33, 1);
}
.acf-form .acf-form-submit .acf-button:hover, .acf-success-cta:hover {
    background : #7ba119;
    box-shadow : 0 6px 20px rgba(147, 192, 31, 0.4) !important;
    color      : #ffffff;
    transform  : translateY(-2px);
}
/* Messages de succès/erreur */
.acf-notice.-success {
    background    : #93c01f;
    border-left   : none;
    border-radius : 8px;
    box-shadow    : 0 4px 15px rgba(147, 192, 31, 0.2);
    color         : #ffffff;
    margin-bottom : 30px;
    padding       : 20px 25px;
}
.acf-notice.-error {
    background    : #e03535;
    border-left   : none;
    border-radius : 8px;
    color         : #ffffff;
    margin-bottom : 30px;
    padding       : 15px 20px;
}
#message.updated {
    background    : #fbfdf4;
    border-left   : 5px solid #93c01f;
    border-radius : 0 8px 8px 0;
    margin-bottom : 30px;
    padding       : 20px 25px;
}
/* --- Styles pour les filtres d'offres d'emploi --- */
.job-filters {
    background    : #fdfdfd;
    border        : 1px solid #eeeeee;
    border-radius : 8px;
    margin-bottom : 30px;
    padding       : 20px;
}
.job-filter-form {
    align-items : center;
    display     : flex;
    flex-wrap   : wrap;
    gap         : 15px;
}
.filter-item select {
    background    : #ffffff;
    border        : 2px solid #e1e1e1;
    border-radius : 5px;
    color         : #333333;
    font-size     : 14px;
    min-width     : 200px;
    padding       : 8px 15px;
    transition    : all 0.3s ease;
}
.filter-item select:focus {
    border-color : #35a8e0;
    outline      : none;
}
.reset-link {
    color           : #d60b51;
    font-size       : 13px;
    font-weight     : 600;
    text-decoration : none;
    transition      : all 0.3s ease;
}
.reset-link i {
    margin-right : 5px;
}
.reset-link:hover {
    color : #29255b;
}
/* --- Styles pour les badges dans la navigation Next Post --- */
.blog_next_prev_buttons ul.controls li {
    align-items     : center !important;
    display         : flex !important;
    flex-direction  : column !important;
    justify-content : center !important;
}
.blog_next_prev_buttons h3 {
    display    : block !important;
    text-align : center;
    width      : 100% !important;
}
.blog_next_prev_buttons .job-badges {
    display         : flex;
    justify-content : center;
    margin-bottom   : 10px !important;
    margin-top      : 10px !important;
    position        : relative;
    width           : 100%;
    z-index         : 10;
}
.blog_next_prev_buttons .previous-post .job-badges,
.blog_next_prev_buttons .next-post .job-badges {
    margin-top : 10px;
}
.blog_next_prev_buttons[data-style*=next_prev] .previous-post h3 span, .blog_next_prev_buttons[data-style*=next_prev] .next-post h3 span {
    text-align : center !important;
}
/* --- Responsive (centralisé) --- */
@media only screen and (max-width : 1680px) {
    #page-header-bg h1, body h1, body .row .col.section-title h1, .full-width-content .nectar-recent-posts-slider .recent-post-container .inner-wrap h2, body #error-404 h1, [data-inherit-heading-family="h1"] { font-size : 48px; line-height : 59px; }
}
@media only screen and (max-width : 1440px) {
    #top nav > ul > li > a { font-size : 14px; line-height : 20px; }
    #page-header-bg h1, body h1, body .row .col.section-title h1, .full-width-content .nectar-recent-posts-slider .recent-post-container .inner-wrap h2, body #error-404 h1, [data-inherit-heading-family="h1"] { font-size : 36px; line-height : 53px; }
    .nectar-cta { margin-bottom : 20px !important; margin-top : 20px !important; }
    .nectar-cta h5 { font-size : 14px; line-height : 26px; }
}
@media only screen and (max-width : 1366px) {
    #header-outer[data-lhe="animated_underline"] #top nav > ul > li > a, #top nav > ul > li[class*="button_solid_color"] > a, body #header-outer[data-lhe="default"] #top nav .sf-menu > li[class*="button_solid_color"] > a:hover, #header-outer[data-lhe="animated_underline"] #top nav > .sf-menu > li[class*="button_bordered"] > a, #top nav > ul > li[class*="button_bordered"] > a, body #header-outer.transparent #top nav > ul > li[class*="button_bordered"] > a, body #header-outer[data-lhe="default"] #top nav .sf-menu > li[class*="button_bordered"] > a:hover, body #header-outer.transparent #top nav > ul > li[class*="button_solid_color"] > a, #header-outer[data-lhe="animated_underline"] #top nav > ul > li[class*="button_solid_color"] > a { margin-left : 12px; margin-right : 12px; }
}
@media only screen and (min-width : 1000px) {
    .nectar-scrolling-tabs .scrolling-tab-mobile-title { margin-bottom : 40px; }
}
@media only screen and (max-width : 1000px) {
    #intro h1 { font-size : 28px !important; line-height : 42px !important; }
    #footer-outer img.logo { height : 25px; }
    #to-register { font-size : 14px; }
    .job-offer-summary {
        align-items    : flex-start;
        flex-direction : column;
    }
    .job-apply-box {
        margin-top : 20px;
        text-align : left;
    }
}
@media only screen and (max-width : 768px) {
    .acf-form-container {
        border-radius : 0;
        margin        : 0;
        padding       : 30px 20px;
    }
    .acf-form .acf-form-submit .acf-button {
        display : block;
        width   : 100%;
    }
    .acf-form .acf-tab-group {
        flex-direction : column;
    }
    .acf-form .acf-tab-group li {
        display : block;
        width   : 100%;
    }
    .acf-form .acf-tab-group li a {
        border-radius : 0;
        margin-bottom : 2px;
        margin-right  : 0;
    }
    .filter-item {
        width : stretch;
    }
    .contact-links {
        align-items    : flex-start;
        flex-direction : column;
        gap            : 8px;
    }
    .contact-links i {
        font-size    : 22px !important;
        height       : 22px !important;
        line-height  : 22px !important;
        margin-right : 8px !important;
        width        : 22px !important;
    }
}
@media only screen and (max-width : 690px) {
    .nectar-scrolling-tabs, .nectar-scrolling-tabs .wpb_row:last-of-type { margin-bottom : 0 !important; }
    .job-offer-details, .job-description-content {
        padding : 20px;
    }
    .job-card-content {
        align-items    : flex-start;
        flex-direction : column;
    }
    .job-meta-grid {
        gap : 10px;
    }
    .job-apply-box {
        margin-top : 0;
    }
    .job-card-actions {
        margin-left : 0;
        margin-top  : 18px;
        text-align  : left;
        width       : 100%;
    }
    .job-description-content p, .job-description-content ul, .job-info-block p, .job-info-block ul {
        font-size   : 16px;
        line-height : 28px;
    }
    .job-info-block, .job-external-link-footer {
        margin : 0;
    }
}