/* Habillage commun aux pages éditoriales et à l'espace client. */
.compte-demonstration-accueil { padding: 12px 20px; background: #f3f3f3; font-size: 14px; }
.compte-demonstration-accueil p { margin: 8px 0; }
.validation-summary-valid { display: none; }
.theme-cofaris { min-height: calc(100vh - 145px); display: flex; flex-direction: column; }
.theme-cofaris > main { flex: 1; }
.pro_user_menu .pro_user_nav .libelle-compte-theme { display: block; width: 100%; height: 45px; padding: 0 38px 0 16px; border: 0; font: inherit; font-size: 14px; text-align: left; text-transform: uppercase; color: #fff; background: url('/wp-content/themes/cofaris/img/icons/select_white.svg') no-repeat right 16px center #2264FA; background-size: 12px auto; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pro_user_menu .pro_user_nav ul[data-liens-compte]:not([hidden]) { display: block; }
.pro_user_menu .pro_user_nav .identite-compte-theme { display: block; padding: 8px 16px; font-size: 14px; line-height: 1.4; color: #1D2126; text-transform: none; white-space: normal; }
.pro_user_menu .pro_user_nav form { margin: 0; }
.pro_user_menu .pro_user_nav .deconnexion-theme { display: block; width: 100%; padding: 8px 16px; font: inherit; font-size: 16px; text-align: left; text-transform: uppercase; cursor: pointer; color: #1D2126; }
.pro_user_menu .pro_user_nav .libelle-compte-theme:focus-visible { outline: 2px solid #fff !important; outline-offset: -3px; }
.pro_user_menu .pro_user_nav .deconnexion-theme:hover { background: #2264FA; color: #fff; }
header .header_top .main_nav .pro_user_access { flex-shrink: 0; width: 240px; }
header .header_bottom nav .menu { white-space: nowrap; }
header .header_bottom nav .menu .badge { font-size: 12px; vertical-align: middle; }
@font-face { font-family: Barlow; font-style: normal; font-weight: 300; font-display: swap; src: url('/fonts/barlow/Barlow-Light.ttf') format('truetype'); }
@font-face { font-family: Barlow; font-style: normal; font-weight: 400; font-display: swap; src: url('/fonts/barlow/Barlow-Regular.ttf') format('truetype'); }
@font-face { font-family: Barlow; font-style: normal; font-weight: 500; font-display: swap; src: url('/fonts/barlow/Barlow-Medium.ttf') format('truetype'); }
@font-face { font-family: Barlow; font-style: normal; font-weight: 600; font-display: swap; src: url('/fonts/barlow/Barlow-SemiBold.ttf') format('truetype'); }
@font-face { font-family: Barlow; font-style: normal; font-weight: 700; font-display: swap; src: url('/fonts/barlow/Barlow-Bold.ttf') format('truetype'); }
header .header_top .main_nav { display: flex; align-items: center; flex-shrink: 0; }
header .header_top .main_nav > #menu-top-menu { display: flex; flex-shrink: 0; white-space: nowrap; }
.main_nav .acces-espace-editorial { flex-shrink: 0; margin: 0; padding: 0 12px; height: 45px; line-height: 45px; font-size: 12px; white-space: nowrap; background: #2264FA; }
header .header_top .main_nav .menu li:hover > .sub-menu, header .header_top .main_nav .menu li:focus-within > .sub-menu { display: block; }
.main_nav .menu li > .sub-menu { z-index: 20; }
[data-contact-editorial] .etat-contact-editorial { display: block; font-size: 16px; padding: 12px; }
.pro .pro_infos .info_bull:hover > .info_bull_content,
.pro .pro_infos .info_bull:focus > .info_bull_content { display: block; }
@media (max-width: 991px) {
    .theme-cofaris { min-height: calc(100vh - 60px); }
    .header_top nav.navigation-editoriale-ouverte { display: block; }
    .header_top nav.navigation-editoriale-ouverte .menu { display: block; }
    .header_top nav.navigation-editoriale-ouverte .sub-menu { display: block; position: static; }
    header .header_top nav.main_nav { display: none; }
    header .header_top nav.navigation-editoriale-ouverte { display: block; }
    .acces-espace-editorial { margin: 15px 0; }
}

dialog.recuperation-compte { border: 0; padding: 40px; width: min(580px, calc(100% - 32px)); color: #333; text-align: center; }
dialog.recuperation-compte::backdrop { background: rgba(0,0,0,.45); }
dialog.recuperation-compte h2 { font-size: 18px; color: #6ba51a; margin: 0 0 22px; }
dialog.recuperation-compte .form-group { text-align: left; margin: 28px 0 38px; }
dialog.recuperation-compte label { display: block; }

.top_home .top_home_actus li .actu_img img.visuel-actualite-accueil { width: 100%; height: 100%; object-fit: cover; object-position: center; }

.top_home .top_home_actus li .actu_img img.visuel-actualite-banque { object-position: left 35%; }

/* Panneau de connexion de l’accueil : relief et champs accessibles. */
.top_home .top_home_content .panneau-connexion { background: #fff; border: 1px solid #e0e7dc; border-radius: 16px; box-shadow: 0 18px 44px rgba(0,38,58,.20), 0 3px 10px rgba(0,38,58,.09); position: relative; z-index: 2; }
.top_home .top_home_content .panneau-connexion .connect_head .bloc_img { border-radius: 15px 0 0 0; flex-shrink: 0; background: url("/images/connexion/compte-securise.svg") no-repeat center / 50px 50px, linear-gradient(145deg, #3478fa, #2454d9); }
.top_home .top_home_content .panneau-connexion .connect_head p { border-radius: 0 15px 0 0; background: linear-gradient(125deg, #61a60e, #75ab28); padding: 12px; }
.top_home .top_home_content .panneau-connexion form[data-connexion-editoriale] { background: #fff; padding: 24px; border-radius: 0 0 15px 15px; }
.top_home .top_home_content .panneau-connexion form[data-connexion-editoriale] .form-group { margin-bottom: 18px; }
.top_home .top_home_content .panneau-connexion form[data-connexion-editoriale] .form-group label { font-size: 14px; font-weight: 600; text-transform: none; padding-bottom: 7px; }
.panneau-connexion [data-connexion-editoriale] .form-control { height: 46px; border: 1px solid #cbd5d9; border-radius: 8px; background: #f8fafb; padding: 10px 12px; }
.panneau-connexion [data-connexion-editoriale] .form-control:focus { background: #fff; border-color: #61a60e; box-shadow: 0 0 0 3px rgba(97,166,14,.16); outline: none; }
.champ-secret-connexion { position: relative; }
.panneau-connexion .champ-secret-connexion .form-control { padding-right: 78px; }
.champ-secret-connexion button { position: absolute; right: 9px; top: 50%; transform: translateY(-50%); border: 0; background: transparent; color: #315675; font: inherit; font-size: 12px; cursor: pointer; padding: 6px; }
.options-connexion { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; font-size: 13px; }
.memorisation-connexion { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; margin: 0; }
.memorisation-connexion input[type=checkbox] { appearance: auto; position: static; opacity: 1; width: 17px; height: 17px; margin: 0; accent-color: #61a60e; }
.options-connexion a { color: #315675; text-decoration: underline; text-underline-offset: 3px; }
.aide-memorisation-connexion { font-size: 12px; line-height: 1.4; color: #64727b; margin-top: 8px; }
.top_home .top_home_content .panneau-connexion form[data-connexion-editoriale] .form_btns { margin-top: 22px; }
.panneau-connexion [data-connexion-editoriale] .form_btns .btn { text-align: center; width: 100%; border-radius: 8px; min-height: 46px; font-size: 15px; box-shadow: 0 3px 7px rgba(97,166,14,.18); }
.panneau-connexion button:focus-visible, .panneau-connexion a:focus-visible, .memorisation-connexion input:focus-visible { outline: 2px solid #2264fa; outline-offset: 3px; }

/* Reflet bref sur le pictogramme, suivi d’une longue pause. */
.top_home .top_home_content .panneau-connexion .connect_head .bloc_img {
    position: relative;
    overflow: hidden;
}
.top_home .top_home_content .panneau-connexion .connect_head .bloc_img::after {
    content: "";
    position: absolute;
    inset: -25% auto -25% 0;
    width: 45%;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.34), transparent);
    transform: translateX(-180%) skewX(-18deg);
    opacity: 0;
    animation: reflet-connexion 9s ease-in-out 2s infinite;
}
@keyframes reflet-connexion {
    0% { transform: translateX(-180%) skewX(-18deg); opacity: 0; }
    3% { opacity: .8; }
    18% { transform: translateX(350%) skewX(-18deg); opacity: .8; }
    21%, 100% { transform: translateX(350%) skewX(-18deg); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .top_home .top_home_content .panneau-connexion .connect_head .bloc_img::after {
        animation: none;
        display: none;
    }
}
