/*   
Theme Name: Agnico Eagle
Theme URI: Agnico Eagle
Description: This is an exclusive, fully SEO optimized Wordpress theme developed by Agnico Eagle for Agnico Eagle website.
Author: Agnico Eagle
Author URI: Agnico Eagle
*/

@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');

body *, body *:active, body *:focus {
    outline: none !important;
}

html{
    margin: 0;
}
html body {
    font-size: 18px;
    line-height: 1.5;
    color: #101720;
    background: #F5F5F5;

    font-family: "Open Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-variation-settings: "wdth" 100;
}
body.toggleBody{
    overflow: hidden;
}
body a:hover, body a:active, body a:focus {
    opacity: 1;
    text-decoration: none;
    color: inherit;
}
body a{
    color: inherit;
    text-decoration: none;
    outline: none !important;
    box-shadow: none !important;
}
body.modal-open div#smooth-wrapper{
    position: static !important;
}
body.modal-open div#smooth-content{
    transform: none !important;
}
body a {
    color: inherit;
    outline: none !important;
    box-shadow: none !important;
}
body a:hover, body a:active, body a:focus {
    opacity: 1;
    text-decoration: none;
    color: inherit;
}
a[href^="tel:"] {
    text-decoration: none !important;
}
a[href^="mailto:"]:hover{
    text-decoration: underline !important;
}
.fullWidth, .fullwidth, .full-width, .full_width{
    width:100%;
    float:left;
}
ul{
    padding: 0;
    margin: 0;
    width: 100%;
    float: left;
}
ul li{
    list-style: none;
}
.bgCover{
    -webkit-background-size: cover !important;
    -moz-background-size: cover !important;
    -o-background-size: cover !important;
    background-size: cover !important;
}
img{
    max-width: 100%;
    height: auto;
}
b, strong {
    font-weight: 700;
}
body h1, body .h1, body h2, body .h2, body h3, body .h3, body h4, body .h4, body h5, body .h5, body h6, body .h6{

}
body h1, body .h1{
    font-size: 76px;
    line-height: 1.2;
    font-weight: 400;
    text-transform: uppercase;
}
body h2, body .h2{
    font-size: 58px;
    font-weight: 400;
    /*text-transform: uppercase;*/
    /*text-transform: capitalize;*/
    line-height: 1.2;
}
body h3, body .h3{
    font-size: 48px;
    font-weight: 400;
    line-height: 1.4;
    /*text-transform: uppercase;*/
}
body h4, body .h4{
    font-size: 24px;
    font-weight: 600;
    font-weight: 600;
    line-height: 1.5;
}
body h5, body .h5{
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
    /*text-transform: uppercase;*/
}
.pLead, .pLead p{
    font-size: 28px;
}
body .font24{
    font-size: 24px;
}
body .font21{
    font-size: 21px;
}
body .font20{
    font-size: 20px;
}
.p1, .p1 p{

}
.p2, .p2 p{
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
}
.p3, .p3 p{

}
.tt_none{
    text-transform: none;
}
.fw300{
    font-weight: 300;
}
.fw400{
    font-weight: 400;
}
.fw500{
    font-weight: 500;
}
.fw600{
    font-weight: 600;
}
.fw700{
    font-weight: 700;
}
.padding_lg {
    padding-top: 110px;
    padding-bottom: 110px;
}
.padding_md {
    padding-top: 80px;
    padding-bottom: 80px;
}
.padding_sm {
    padding-top: 50px;
    padding-bottom: 50px;
}
.padding_xs {
    padding-top: 30px;
    padding-bottom: 30px;
}
.pt-32{
    padding-top: 32px;
}
.p-40{
    padding:40px;
}
.mt-80{
    margin-top: 80px;
}
.pt-80{
    padding-top: 80px;
}
.gap_lg {
    gap: 110px;
}
.gap_md{
    gap:80px;
}
.gap_sm{
    gap:50px;
}
.gap_xs{
    gap:30px;
}
.radius0{
    border-radius: 0px !important;
}
.radius8{
    border-radius: 8px;
}
.radius16{
    border-radius: 16px;
}
.radius24{
    border-top-left-radius:24px;
    border-top-right-radius:24px;
}
/* .radiustop16{
    border-top-left-radius:16px;
    border-top-right-radius:16px;
} */
.bordertTop{
    border-top: 1px solid #EEC21B;
}
.bordertBottom{
    border-bottom: 1px solid #EEC21B;
}
.colGap_80{
    margin-right: -40px;
    margin-left: -40px;
}
.colGap_80 > div{
    padding-right: 40px;
    padding-left: 40px;
}
.bgWhite{
    background-color: #fff;
}
.bgYellow{
    background-color: #EEC21B;
}
.bgBlack{
    background-color:#101720;
}
.whiteText{
    color: #fff;
}
.yellowText{
    color: #EEC21B;
}
.lightGrayText{
    color: rgba(16,23,32,0.4);
}
.yellowBtn svg *,.blackBtn svg *{
    transition: all 0.4s ease;
}
.yellowBtn {
    font-size: 18px;
    padding: 16px 32px;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border-radius: 8px;
    transition: all 0.4s ease;
    position: relative;
    z-index: 10;
    overflow: hidden;
    text-decoration: none !important;
    color: #000;
    background: #EEC21B;
    border: 1px solid #EEC21B;
}
.yellowBtn:after{
    content: "";
    position: absolute;
    z-index: -1;
    right: 0;
    width: 0;
    top: 0;
    background: #000;
    height: 100%;
    transition-property: width;
    transition-duration: 0.4s;
    transition-timing-function: ease-out;
}
.yellowBtn:hover{
    color: #EEC21B;
}
.yellowBtn:hover svg *{
    fill:#EEC21B;
}
.yellowBtn:hover:after,
.yellowBtn:focus:after,
.yellowBtn:active:after{
    left: 0;
    right: auto;
    width: 100%;
}

.blackBtn {
    font-size: 18px;
    /*padding: 16px 32px;*/
    padding: 16px 24px;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border-radius: 8px;
    transition: all 0.4s ease;
    position: relative;
    z-index: 10;
    overflow: hidden;
    text-decoration: none !important;

    color: #EEC21B;
    background: #000;
    border: 1px solid #000;
}
.blackBtn:after{
    content: "";
    position: absolute;
    z-index: -1;
    right: 0;
    width: 0;
    top: 0;
    background: #EEC21B;
    height: 100%;
    transition-property: width;
    transition-duration: 0.4s;
    transition-timing-function: ease-out;
}
.blackBtn:hover{
    color: #000;
    /* border-color: transparent; */
}
.blackBtn:hover svg *{
    fill:#000;
}
.blackBtn:hover:after,
.blackBtn:focus:after,
.blackBtn:active:after{
    left: 0;
    right: auto;
    width: 100%;
}
/*--------------------------------------*/
.plusBtn {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #000;
    font-size: 18px;
    background: #EEC21B;
    border-radius: 16px 0 16px 0;
}
.bgYellow.plusBtn, .bgYellow .plusBtn{
    background: #000;
    color: #EEC21B;
}
.downloadBtn {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #000;
    font-size: 18px;
    background: #EEC21B;
    border-radius: 0 16px 0 16px;
}
.downloadBtn svg *{
    fill:#000;
}
.bgYellow.downloadBtn, .bgYellow .downloadBtn{
    background: #000;
    color: #EEC21B;
}
.bgYellow.downloadBtn svg *, .bgYellow .downloadBtn svg *{
    fill:#EEC21B;
}
/*---------- underline style -------------*/
.anchorStyle a{
    position: relative;
}
.anchorStyle a:after{
    content: "";
    position: absolute;
    z-index: 10;
    right: 0;
    width: 0;
    bottom: -2px;
    background: #fff;
    height: 2px;
    transition-property: width;
    transition-duration: 0.3s;
    transition-timing-function: ease-out;
}
.anchorStyle a:hover:after,
.anchorStyle a:focus:after,
.anchorStyle a:active:after{
    left: 0;
    right: auto;
    width: 100%;
}
.anchorStyle2 a{
    position: relative;
}
.anchorStyle2 a:after{
    content: "";
    position: absolute;
    /* z-index: -1; */
    left: 0;
    right: auto;
    width: 100%;
    bottom: -2px;
    background: #fff;
    height: 2px;
    transition-property: width;
    transition-duration: 0.3s;
    transition-timing-function: ease-out;
}
.anchorStyle2 a:hover:after,
.anchorStyle2 a:focus:after,
.anchorStyle2 a:active:after {
    left: auto;
    right: 0;
    width: 0;
}
/*---------- Container size -----------*/
.container{
    max-width: 1350px;
}
.container.containerMoveRight {
    width: 100%;
    max-width: 100%;
    padding-left: calc((100vw - 1335px) / 2);
    padding-right: 0;
}
.container.containerMoveLeft{
    width: 100%;
    max-width: 100%;
    padding-right: calc((100vw - 1335px) / 2);
    padding-left: 0;
}
@media(min-width:1600px){
    .container {
        max-width: 1440px;
    }
    .container.containerMoveRight {
        padding-left: calc((100vw - 1425px) / 2);
    }
    .container.containerMoveLeft{
        padding-right: calc((100vw - 1425px) / 2);
    }
}
@media(min-width:1900px){
    .container {
        max-width: 1600px;
    }
    .container.containerMoveRight {
        padding-left: calc((100vw - 1585px) / 2);
    }
    .container.containerMoveLeft{
        padding-right: calc((100vw - 1585px) / 2);
    }
}
.container .container{
    max-width: 100%;
    width: 100%;
    padding: 0;
}
/*-----------------------------------*/
.customScrollbar {
    overflow-y: auto;
    overflow-x: hidden;
}

.customScrollbar::-webkit-scrollbar {
    width: 8px;
}

.customScrollbar::-webkit-scrollbar-track {
    box-shadow: inset 0 0 4px #476597;
    border-radius: 10px;
}

.customScrollbar::-webkit-scrollbar-thumb {
    background: #28307D;
    border-radius: 8px;
    transition: all 0.4s ease;
}

.customScrollbar::-webkit-scrollbar-thumb:hover {
    background: #4a639c;
}
/*------------------- Gravity form ----------------------*/
.gsection_title {
    margin: 0;
    padding: 0;
}
.gform_wrapper .gform_description{
    font-size: 20px;
    color: #F03223;
    line-height: 1.2em;
}
.gform_wrapper .gform_validation_errors {
    font-size: 20px !important;
    text-align: center;
    line-height: 1.4em !important;
    color: #ffc84c !important;
    letter-spacing: 0;

    background:none !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none  !important;
    margin-bottom: 30px !important;
    margin-top: 0 !important;
    padding: 0 !important;
    position: relative;
    width: 100%;
}
.gform_wrapper .gform_validation_errors > h2{
    font-size: 20px !important;
    text-align: center;
    line-height: 1.4em !important;
    /*color: #ffc84c !important;*/
}
.gform_wrapper .gform_validation_errors span.gform-icon--close{
    display: none !important;
}
.gform_wrapper{
    margin: 0;
}
.gform_wrapper .gform_body, .gform_wrapper .gform_footer {
    display: inline-block;
    width: 100%;
}
.gform_wrapper .gform_title{
    display: none;
}
.gform_wrapper .gform_fields {
    display: flex !important;
    justify-content: space-between;
    flex-wrap: wrap;
    grid-row-gap: 0 !important;
    grid-column-gap: 0 !important;
}
.gform_wrapper .gfield {
    width: 100%;
    float: left;
    margin: 0 0 30px !important;
}
.gform_wrapper .gfield.gfield--width-half {
    width: calc(50% - 30px);
}

.gform_wrapper .ginput_container{
    width: 100%;
    float: left;
    padding:0;
}
.gform_wrapper .ginput_container_consent{
    margin-top: 20px;
}
.gform_wrapper .gfield_validation_message,
.gform_wrapper .validation_message {
    background: none !important;
    border: none !important;
    font-size: 14px !important;
    margin-top: 0 !important;
    padding: 5px 0 0 !important;
}
.gform_wrapper .validation_message {
    font-size: 13px !important;
    /*color: #ff0000 !important;*/
    margin: 0;
    display: inline-block;
}
.gform_wrapper label.gfield_label span.gfield_required{
    display: none;
}
.gform_wrapper form input[type="text"],
.gform_wrapper form input[type="tel"],
.gform_wrapper form input[type="email"],
.gform_wrapper form select,
.gform_wrapper form textarea {
    outline: none !important;
    box-shadow: none !important;
    background: none !important;
    border: none !important;
    border-bottom: 2px solid #C47F55 !important;
    color: #404040;
    border-radius: 0px;
    width: 100% !important;
    padding: 6px 0px !important;
    font-size: 18px !important;
}
.gform_wrapper form input[type="text"],
.gform_wrapper form input[type="tel"],
.gform_wrapper form select,
.gform_wrapper form input[type="email"]{
    height: 48px;
}
.gform_wrapper form select{
    -webkit-appearance: none;
    -moz-appearance: none;
    -o-appearance: none;
    appearance:none;
    background-image: url(/wp-content/uploads/2023/06/down-arrow.svg) !important;
    background-position: center right 20px !important;
    background-repeat: no-repeat !important;
    background-size: 15px !important;
    cursor: pointer;
}
.gform_wrapper form textarea{
    height: 200px !important;
    resize: none;
    padding-top: 18px;
}
.gform_wrapper .ginput_container_consent label{
    position: relative;
    padding-left: 40px;
    font-weight: 300;
    margin: 0;
    color: inherit !important;
}
.gform_wrapper .ginput_container_consent input[type='checkbox']{
    display: none;
}
.gform_wrapper .ginput_container_consent label:before{
    content: "";
    position: absolute;
    left: 0;
    height: 34px;
    bottom: 0;
    width: 30px;
    display: inline-block;
    margin-right: 10px;
    background: url('/wp-content/uploads/2023/02/check-border.png')no-repeat center bottom;
}
.gform_wrapper .ginput_container_consent label:after {
    display: none;
    content: "";
    position: absolute;
    height: 30px;
    width: 30px;
    bottom: 0;
    left: 0;
    background: url('/wp-content/uploads/2023/07/check.png')no-repeat center center;
    background-size: 18px;
}
.gform_wrapper .ginput_container_consent input[type='checkbox']:checked + label:after {
    display: block;
}
.gform_wrapper .gform_fields .gfield--type-fileupload {
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-end;
}
.gform_wrapper .gform_fields .gfield--type-fileupload > .gfield_description {
    padding: 10px 15px 10px 50px;
    background: url('/wp-content/uploads/2023/07/upload.svg')no-repeat;
    background-position: center left 0px;
    /* margin: 10px 0; */
    cursor: pointer;
    /* text-transform: uppercase; */
    display: inline-block;
    width: auto;
    font-size: 24px;
}
.gform_wrapper .gform_fields .gfield--type-fileupload .ginput_preview_list{
    color: #303030;
    font-size: 14px;
}
.gform_wrapper .gform_fields .gfield--type-fileupload .ginput_preview_list .ginput_preview{
    margin: 0px !important;
}
.gform_wrapper .gform_fields .gfield--type-fileupload .gform_fileupload_rules,
.gform_wrapper .gform_fields .gfield--type-fileupload .gform-theme-field-control{
    display: none;
}
@media(max-width:767px){
    .gform_wrapper .gfield,
    .gform_wrapper .gfield.gfield--width-half{
        width: 100%;
    }
}
/* -- Placeholder color -- */

/*input:focus::-webkit-input-placeholder { color:transparent; }
input:focus:-moz-placeholder { color:transparent; } 
input:focus::-moz-placeholder { color:transparent; } 
input:focus:-ms-input-placeholder { color:transparent;}*/

input::-webkit-input-placeholder{
    color: #1D1D1B;
    opacity: 1 !important;
}
input:-moz-placeholder{
    color: #1D1D1B;
    opacity: 1 !important;
}
input::-moz-placeholder{
    color: #1D1D1B;
    opacity: 1 !important;
}
input:-ms-input-placeholder{
    color: #1D1D1B;
    opacity: 1 !important;
}

textarea::-webkit-input-placeholder{
    color: #1D1D1B;
    opacity: 1 !important;
}
textarea:-moz-placeholder{
    color: #1D1D1B;
    opacity: 1 !important;
}
textarea::-moz-placeholder{
    color: #1D1D1B;
    opacity: 1 !important;
}
textarea:-ms-input-placeholder{
    color: #1D1D1B;
    opacity: 1 !important;
}
/*------------------ End gravity form css ----------------------*/

/*------------- Header css here ---------------*/
/*--------- Ends Header css ------------*/

/*--  Responsive menu start  --*/
.responsiveMenu .menu-toggle {
    min-width: 24px;
    max-width: 24px;
    position: relative;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
    min-height: 20px;
    max-height: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: column;
}
.responsiveMenu .menu-toggle span {
    display: block;
    height: 2px;
    width: 100%;
    background: rgba(238, 194, 27, 1);
    margin-bottom: 0;
    transition: all 0.3s ease-in-out;
    border-radius: 2px;
}
.responsiveMenu .menu-toggle span:last-child {
  margin-bottom: 0;
}
.responsiveMenu .menu-toggle.open span:nth-child(1) {
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  /* top: 9px; */
}
.responsiveMenu .menu-toggle.open span:nth-child(2) {
  opacity: 0;
}
.responsiveMenu .menu-toggle.open span:nth-child(3) {
  transform: rotate(-45deg);
  position: absolute;
  top: 50%;
  /* top: 9px; */
}
.navDiv .headerNav > li.menu-item-has-children ul[aria-hidden="false"] {
    display: flex !important;
}
/*--  Responsive menu end  --*/

@media (max-width: 991px) {
    .navDiv .headerNav > li.menu-item-has-children .sub-menu {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.3s ease;
    }

    .navDiv .headerNav > li.menu-item-has-children .sub-menu.submenu-open {
        max-height: max-content !important;
        display: flex;
    }

    header.siteHeader>div {
        padding: 0 !important;
    }

    .siteHeader .headerInner .row {
        margin-left: 0;
        margin-right: 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
        position: relative;
    }

    .siteHeader .headerInner .responsiveNav {
        position: absolute;
        top: -100vh;
        left: 0;
        width: 100%;
        max-width: 100%;
        padding: 34px 24px 24px 24px;
        background: #fff;
        transition: top 0.4s ease-in-out;
        z-index: -1;
        overflow: auto;
        height: calc(100vh - 75px);
    }
    
    .siteHeader .headerInner .responsiveNav.open {
        top: 75px;
    }

    .siteHeader .headerInner {
        border-radius: 0 0 8px 8px;
    }

    
    .siteHeader .headerInner .responsiveMenu {
        display: flex !important;
        width: auto;
        padding: 32.5px 24px;
        background: rgba(16, 23, 32, 1);
        align-items: center;
        justify-content: center;
        border-radius: 0 0 8px 0;
    }

    .siteHeader .headerInner .siteLogoInit .headerLogo {
        width: auto;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        padding: 7px 0;
    }

    .siteHeader .headerInner .siteLogoInit {
        width: auto;
        max-width: none;
        padding: 0 0 0 24px;
    }

    .siteHeader .headerInner .siteLogoInit .headerLogo img {
        max-width: 252px;
    }

    .siteHeader .headerInner .responsiveNav .navDiv {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        margin: 0;
        padding: 0;
    }

    .siteHeader .headerInner .responsiveNav .navDiv nav {
        width: 100%;
        display: flex;
        flex-direction: column;
    }

    .responsiveNav .menu-main-menu-container,
    .responsiveNav .headerNav {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start !important;
        align-items: flex-start !important;
        background: #fff;
    }

    .responsiveNav .headerNav {
        gap: 10px !important;
    }

    .responsiveNav .headerNav li {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
    }

    .responsiveNav  .headerNav ul.sub-menu {
        position: relative;
        right: 0;
        top: auto;
        width: 100% !important;
        padding: 15px 0 0 15px;
        border-radius: 0;
        gap: 5px;
    }

    .navDiv .headerNav > li > a,
    .navDiv .headerNav > li.menu-item-has-children a {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        font-size: 16px;
    }
    
    .navDiv .headerNav > li > a {
        padding: 10px 27px 10px 12px !important;
    }

    .navDiv .headerNav > li.menu-item-has-children a {
        padding: 10px 12px !important;
    }

    .navDiv .headerNav > li.menu-item-has-children {
        background-position: 99% 16px !important;
    }
}

/* ========================================
   ACCESSIBILITY CSS - POSITIONED AFTER outline: none
   ======================================== */

/* 1. CANCEL GLOBAL FOCUS REMOVAL */
body *, 
body *:active, 
body *:focus,
body *:focus-visible {
    outline: revert !important; /* Completely cancels outline: none */
}

/* 2. SPECIFIC FOCUS FOR NAVIGATION */
.headerNav a,
.headerNav button,
.headerNav [role="button"] {
    outline: revert !important;
    outline-offset: 2px !important;
}

.headerNav a:focus,
.headerNav a:focus-visible,
.navDiv .headerNav li ul.sub-menu li.menu-item a:hover {
    outline: 2px solid #EEC21B !important;
    outline-offset: 2px;
    background-color: rgba(238, 194, 27, 0.15) !important;
    border-radius: 4px;
    padding: 2px 4px;
    transition: all 0.2s ease;
}

.headerNav .sub-menu a:focus,
.headerNav .sub-menu a:focus-visible,
.navDiv .headerNav li ul.sub-menu li.menu-item a:hover {
    outline: 2px solid #EEC21B !important;
    outline-offset: 2px;
    background-color: rgba(238, 194, 27, 0.2) !important;
    border-radius: 4px;
}

/* 3. FOCUS FOR ALL BUTTONS */
.yellowBtn:focus,
.yellowBtn:focus-visible {
    outline: 2px solid #101720 !important;
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(16, 23, 32, 0.2) !important;
    
    /* NOUVEAU : Couleur de texte comme au hover */
    color: #EEC21B !important;
}

/* NOUVEAU : Support SVG dans yellowBtn au focus */
.yellowBtn:focus svg *,
.yellowBtn:focus-visible svg * {
    fill: #EEC21B !important;
}

/* NOUVEAU : Animation d'arrière-plan au focus (comme au hover) */
.yellowBtn:focus:after,
.yellowBtn:focus-visible:after {
    left: 0 !important;
    right: auto !important;
    width: 100% !important;
}

.blackBtn:focus,
.blackBtn:focus-visible {
    outline: 2px solid #EEC21B !important;
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(238, 194, 27, 0.3) !important;
}

.plusBtn:focus,
.plusBtn:focus-visible {
    outline: 2px solid #EEC21B !important;
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(238, 194, 27, 0.3) !important;
}

/* 4. FOCUS FOR VIDEO LINKS */
.fancyboxVideo:focus,
.fancyboxVideo:focus-visible {
    outline: 2px solid #EEC21B !important;
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(238, 194, 27, 0.2) !important;
    border-radius: 8px;
}

/* 5. FOCUS FOR FORMS */
.gform_wrapper input:focus,
.gform_wrapper select:focus,
.gform_wrapper textarea:focus {
    outline: 2px solid #EEC21B !important;
    outline-offset: 2px;
    border-bottom-color: #EEC21B !important;
}

/* 6. FOCUS FOR LOGO */
.headerLogo a:focus,
.headerLogo a:focus-visible {
    outline: 2px solid #EEC21B !important;
    outline-offset: 4px !important;
    border-radius: 4px !important;
    background-color: rgba(238, 194, 27, 0.1) !important;
    transition: all 0.2s ease !important;
}

/* Ensure focus is never removed */
.headerLogo a {
    outline-offset: 4px !important;
}

.headerLogo a:focus:not(:focus-visible) {
    outline: none;
}

/* 7. FOCUS ON BLACK BACKGROUND */
.bgBlack a:focus,
.bgBlack a:focus-visible,
.bgBlack button:focus,
.bgBlack button:focus-visible {
    outline: 2px solid #EEC21B !important;
    outline-offset: 2px;
    background-color: rgba(238, 194, 27, 0.1) !important;
    border-radius: 4px;
}

/* 8. FOCUS ON YELLOW BACKGROUND */
.bgYellow a:focus,
.bgYellow a:focus-visible,
.bgYellow button:focus,
.bgYellow button:focus-visible {
    outline: 2px solid #101720 !important;
    outline-offset: 2px;
    background-color: rgba(16, 23, 32, 0.1) !important;
    border-radius: 4px;
}

/* 9. FOCUS FOR INFO CARDS - RENFORCÉ */
.infoSingle:focus,
.infoSingle:focus-visible,
.infoSingle.bgWhite:focus,
.infoSingle.bgWhite:focus-visible,
a.infoSingle:focus,
a.infoSingle:focus-visible,
a.infoSingle.bgWhite:focus,
a.infoSingle.bgWhite:focus-visible,
article.infoSingle:focus,
article.infoSingle:focus-visible {
    outline: 4px solid #EEC21B !important;
    outline-offset: 4px !important;
    box-shadow: 0 0 0 8px rgba(238, 194, 27, 0.3), 0 4px 12px rgba(0,0,0,0.2) !important;
    transform: translateY(-3px) scale(1.02) !important;
    background-color: rgba(238, 194, 27, 0.1) !important;
    border-radius: 8px !important;
    transition: all 0.2s ease !important;
    z-index: 10 !important;
    position: relative !important;
}

/* FOCUS POUR .infoSingle JAUNE */
.infoSingle.bgYellow:focus,
.infoSingle.bgYellow:focus-visible,
a.infoSingle.bgYellow:focus,
a.infoSingle.bgYellow:focus-visible,
article.infoSingle.bgYellow:focus,
article.infoSingle.bgYellow:focus-visible {
    outline: 4px solid #101720 !important;
    outline-offset: 4px !important;
    box-shadow: 0 0 0 8px rgba(16, 23, 32, 0.3), 0 4px 12px rgba(0,0,0,0.2) !important;
    transform: translateY(-3px) scale(1.02) !important;
    background-color: rgba(16, 23, 32, 0.1) !important;
    border-radius: 8px !important;
    transition: all 0.2s ease !important;
    z-index: 10 !important;
    position: relative !important;
}

/* 10. MOBILE FOCUS - More visible */
@media (max-width: 768px) {
    *:focus,
    *:focus-visible {
        outline-width: 3px !important;
        outline-offset: 3px !important;
    }
    
    .infoSingle:focus,
    .infoSingle:focus-visible,
    a.infoSingle:focus,
    a.infoSingle:focus-visible,
    article.infoSingle:focus,
    article.infoSingle:focus-visible {
        outline-width: 5px !important;
        outline-offset: 5px !important;
        box-shadow: 0 0 0 10px rgba(238, 194, 27, 0.4) !important;
        transform: translateY(-4px) scale(1.03) !important;
    }
}

/* 11. ENSURE FOCUS VISIBILITY */
*:focus-visible {
    outline-offset: 2px !important;
}

/* 12. HIDE FOCUS FOR MOUSE CLICKS ONLY */
*:focus:not(:focus-visible) {
    outline: none;
}

.infoSingle:focus:not(:focus-visible),
a.infoSingle:focus:not(:focus-visible),
article.infoSingle:focus:not(:focus-visible) {
    outline: none !important;
    box-shadow: none !important;
    transform: none !important;
    background-color: initial !important;
}

/* 13. FAQ ACCORDION FOCUS */
.faq-item .que:focus,
.faq-item .que:focus-visible,
.faq-item button:focus,
.faq-item button:focus-visible {
    outline: 2px solid #EEC21B !important;
    outline-offset: 2px;
    background-color: rgba(238, 194, 27, 0.1) !important;
    border-radius: 4px;
}

/* 14. FOOTER NAVIGATION FOCUS */
.footerNav a:focus,
.footerNav a:focus-visible {
    outline: 2px solid #EEC21B !important;
    outline-offset: 2px;
    background-color: rgba(238, 194, 27, 0.1) !important;
    border-radius: 4px;
}

/* 15. FOCUS SPÉCIFIQUE POUR HEADER BUTTONS */
.headerBtnDiv .yellowBtn:focus,
.headerBtnDiv .yellowBtn:focus-visible,
.menuSection .headerBtnDiv .yellowBtn:focus,
.menuSection .headerBtnDiv .yellowBtn:focus-visible {
    color: #EEC21B !important;
    outline: 2px solid #101720 !important;
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(16, 23, 32, 0.2) !important;
}

/* 16. SUPPORT POUR ICÔNES SVG DANS HEADER BUTTONS */
.headerBtnDiv .yellowBtn:focus svg *,
.headerBtnDiv .yellowBtn:focus-visible svg *,
.menuSection .headerBtnDiv .yellowBtn:focus svg *,
.menuSection .headerBtnDiv .yellowBtn:focus-visible svg * {
    fill: #EEC21B !important;
}

/* 17. ANIMATION ARRIÈRE-PLAN POUR HEADER BUTTONS */
.headerBtnDiv .yellowBtn:focus:after,
.headerBtnDiv .yellowBtn:focus-visible:after,
.menuSection .headerBtnDiv .yellowBtn:focus:after,
.menuSection .headerBtnDiv .yellowBtn:focus-visible:after {
    left: 0 !important;
    right: auto !important;
    width: 100% !important;
    background: #000 !important;
}

/* 18. MAINTENIR LE BORDER-RADIUS SPÉCIFIQUE DU HEADER */
.menuSection .headerBtnDiv a.yellowBtn:focus,
.menuSection .headerBtnDiv a.yellowBtn:focus-visible {
    border-radius: 0 0 8px 0px !important;
}

/* 19. PDF LINKS ACCESSIBILITY */
.info_blocks_1 .infoSingle {
    transition: all 0.2s ease !important;
}

.info_blocks_1 .infoSingle:focus,
.info_blocks_1 .infoSingle:focus-visible,
.info_blocks_1 a.infoSingle:focus,
.info_blocks_1 a.infoSingle:focus-visible {
    outline: 5px solid #EEC21B !important;
    outline-offset: 5px !important;
    box-shadow: 0 0 0 10px rgba(238, 194, 27, 0.4), 0 6px 16px rgba(0,0,0,0.3) !important;
    transform: translateY(-4px) scale(1.03) !important;
    background-color: rgba(238, 194, 27, 0.15) !important;
    border-radius: 12px !important;
}

.info_blocks_1 .infoSingle[tabindex="0"] {
    cursor: pointer !important;
}

.info_blocks_1 .infoSingle:hover {
    transform: translateY(-1px) !important;
}

/* 20. OVERRIDE INLINE STYLES QUI BLOQUENT LE FOCUS */
.info_blocks_1 .infoSingle[style*="outline: none"],
.infoSingle[style*="outline: none"],
a.infoSingle[style*="outline: none"],
article.infoSingle[style*="outline: none"] {
    outline: revert !important;
}

.infoSingle[style*="outline: none"]:focus,
.infoSingle[style*="outline: none"]:focus-visible,
a.infoSingle[style*="outline: none"]:focus,
a.infoSingle[style*="outline: none"]:focus-visible {
    outline: 4px solid #EEC21B !important;
    outline-offset: 4px !important;
    box-shadow: 0 0 0 8px rgba(238, 194, 27, 0.3) !important;
}

a.yellowBtn[style*="outline: revert"] {
    outline: revert !important;
}

a.yellowBtn[style*="outline: revert"]:focus-visible {
    outline: 2px solid #101720 !important;
    outline-offset: 2px;
    color: #EEC21B !important;
}

/* 21. ASSURER QUE LES ÉLÉMENTS SONT FOCUSABLES */
.infoSingle[tabindex="0"],
a.infoSingle[tabindex="0"],
article.infoSingle[tabindex="0"] {
    cursor: pointer !important;
    position: relative !important;
}

/* 22. TRANSITION FLUIDE POUR TOUS */
.infoSingle,
a.infoSingle,
article.infoSingle {
    transition: all 0.2s ease-in-out !important;
}
 
/* 23. FOCUS FOR LOGO */
.headerLogo a,
.headerLogo > a {
    /* Forcer l'outline même avec style inline */
    outline: revert !important;
    outline-offset: 4px !important;
}

.headerLogo a:focus,
.headerLogo a:focus-visible,
.headerLogo > a:focus,
.headerLogo > a:focus-visible {
    outline: 4px solid #EEC21B !important;
    outline-offset: 6px !important;
    border-radius: 8px !important;
    background-color: rgba(238, 194, 27, 0.15) !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 0 0 10px rgba(238, 194, 27, 0.2) !important;
    transform: scale(1.02) !important;
    z-index: 100 !important;
    position: relative !important;
}

/* OVERRIDE STYLE INLINE VIDE */
.headerLogo a[style=""],
.headerLogo > a[style=""] {
    outline: revert !important;
}

.headerLogo a[style=""]:focus,
.headerLogo a[style=""]:focus-visible,
.headerLogo > a[style=""]:focus,
.headerLogo > a[style=""]:focus-visible {
    outline: 4px solid #EEC21B !important;
    outline-offset: 6px !important;
    border-radius: 8px !important;
    background-color: rgba(238, 194, 27, 0.15) !important;
    box-shadow: 0 0 0 10px rgba(238, 194, 27, 0.2) !important;
}

/* MOBILE - FOCUS ENCORE PLUS VISIBLE */
@media (max-width: 768px) {
    .headerLogo a:focus,
    .headerLogo a:focus-visible,
    .headerLogo > a:focus,
    .headerLogo > a:focus-visible {
        outline: 5px solid #EEC21B !important;
        outline-offset: 8px !important;
        box-shadow: 0 0 0 12px rgba(238, 194, 27, 0.3) !important;
        transform: scale(1.05) !important;
    }
}

/* MASQUER LE FOCUS POUR LES CLICS SOURIS SUR LE LOGO */
.headerLogo a:focus:not(:focus-visible),
.headerLogo > a:focus:not(:focus-visible) {
    outline: none !important;
    box-shadow: none !important;
    transform: none !important;
    background-color: initial !important;
}

/* End of accessibility CSS */