/* CISOFT 10 : navigation mobile et identite fluide, apres les correctifs 08/09. */
body.cisoft-responsive .cisoft-site-header > .container {
    height: auto !important; min-height: 118px; box-sizing: border-box;
    display: flex; align-items: center; justify-content: space-between;
    gap: 20px; padding-top: 16px; padding-bottom: 16px;
}
body.cisoft-responsive .cisoft-site-header h1.logo,
body.cisoft-responsive.sticky-menu-active .cisoft-site-header h1.logo {
    position: static; float: none; margin: 0; line-height: 1.2;
    width: auto; min-width: 0; text-align: left;
}
body.cisoft-responsive .cisoft-site-header h1.logo a { display: inline-block; max-width: 100%; }
body.cisoft-responsive .cisoft-site-header h1.logo img {
    display: block; width: clamp(210px, 34vw, 300px) !important;
    height: auto !important; max-width: 100%;
}
body.cisoft-responsive .cisoft-site-header h1.logo > span {
    display: block; position: static !important; margin: 4px 0 0 !important;
    font-size: clamp(20px, 3.65vw, 29px) !important;
    line-height: 1.3; white-space: normal;
}
body.cisoft-responsive .cisoft-site-header nav {
    float: none; width: auto; margin: 0 !important;
}
body.cisoft-responsive .cisoft-site-header #mainMenu { margin: 0; }
.cisoft-menu-toggle { display: none; }
@media (min-width:768px) and (max-width:1199px) {
    body.cisoft-responsive .cisoft-site-header > .container {
        flex-direction: column; gap: 16px;
    }
    body.cisoft-responsive .cisoft-site-header h1.logo { text-align: center; }
    body.cisoft-responsive .cisoft-site-header h1.logo img { margin-inline: auto; }
}
@media (max-width:767px) {
    body.cisoft-responsive .cisoft-site-header > .container {
        display: grid; grid-template-columns: minmax(0,1fr) auto;
        gap: 12px; min-height: 0; padding-top: 16px; padding-bottom: 16px;
    }
    body.cisoft-responsive .cisoft-site-header h1.logo img {
        width: clamp(145px, 48vw, 260px) !important;
    }
    body.cisoft-responsive .cisoft-site-header h1.logo > span {
        font-size: clamp(16px, 3.65vw, 29px) !important;
        margin-top: 5px !important;
    }
    body.cisoft-responsive .cisoft-site-header nav {
        grid-column: 1 / -1; width: 100%; min-width: 0;
    }
    body.cisoft-responsive .cisoft-site-header[data-menu-ready="true"] .cisoft-menu-toggle {
        display: inline-flex; align-items: center; justify-content: center;
        flex-direction: column; gap: 4px; align-self: center;
        min-width: 48px; min-height: 48px; padding: 6px;
        border: 1px solid #d8d6d5; border-radius: 5px;
        background: #faf9f8; color: #656263;
        font: inherit; font-size: 13px; line-height: 1; cursor: pointer;
    }
    .cisoft-menu-icon { display: flex; flex-direction: column; gap: 4px; width: 22px; }
    .cisoft-menu-icon > span { display: block; height: 2px; background: currentColor; }
    .cisoft-menu-toggle[aria-expanded="true"] { color: #b93d0a !important; }
    body.cisoft-responsive .cisoft-site-header[data-menu-ready="true"] nav { display: none; }
    body.cisoft-responsive .cisoft-site-header[data-menu-ready="true"][data-menu-open="true"] nav { display: block; }
    body.cisoft-responsive .cisoft-site-header nav ul#mainMenu {
        flex-direction: column; gap: 4px; align-items: stretch;
        border-top: 1px solid #e4e1df; padding-top: 12px;
    }
    body.cisoft-responsive .cisoft-site-header nav ul#mainMenu a {
        justify-content: flex-start; min-height: 48px;
        font-size: 16px; padding: 12px 14px;
    }
}
/* L'ancien script sticky suppose un header fixe de 55px et decoupe le nouveau logo. */
body.cisoft-responsive.sticky-menu-active { padding-top: 0; }
body.cisoft-responsive.sticky-menu-active .cisoft-site-header {
    position: static; top: auto; width: auto;
}
body.cisoft-responsive.sticky-menu-active div.main { margin-top: 0; }
body.cisoft-responsive .cisoft-site-header > .container::before,
body.cisoft-responsive .cisoft-site-header > .container::after { display: none; }
