/* CISOFT correctif 08, 23.10.2026. Charge apres les styles historiques.
   Navigation et contenu utilisables sans JavaScript. Aucun contenu Services ajoute. */
.cisoft-responsive #content > .row { margin-left: 0; }
.cisoft-responsive .featured-boxes {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
    width: 100% !important;
    margin: 24px 0 0 !important;
}
.cisoft-responsive .featured-boxes::before,
.cisoft-responsive .featured-boxes::after { display: none; }
.cisoft-responsive .featured-boxes > a { display: block; min-width: 0; }
.cisoft-responsive .featured-boxes > a > .span2 {
    float: none; width: auto; margin: 0; min-width: 0;
}
.cisoft-responsive .featured-boxes .featured-box {
    height: 100% !important; margin: 0; min-width: 0;
}
.cisoft-responsive .featured-boxes .box-content {
    box-sizing: border-box; height: 100%; padding: 24px 12px 16px;
}
.cisoft-responsive .featured-boxes h4 { overflow-wrap: anywhere; line-height: 1.45; }
.cisoft-responsive a:focus-visible,
.cisoft-responsive button:focus-visible,
.cisoft-responsive input:focus-visible,
.cisoft-responsive textarea:focus-visible {
    outline: 3px solid #b93d0a; outline-offset: 3px;
}
.cisoft-responsive .container > .row.span12 { float: none; width: auto; margin-left: 0; }
.cisoft-responsive .container > .row.span12 > ul {
    display: grid; grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 24px; list-style: none; margin: 24px 0; padding: 0;
}
.cisoft-responsive .container > .row.span12 > ul > .span2 {
    float: none; width: auto; margin: 0; align-self: center;
}
.cisoft-responsive .container > .row.span12 img { max-width: 100%; height: auto; }
@media (max-width: 1199px) {
    body.cisoft-responsive.sticky-menu-active { padding-top: 0; }
    .cisoft-responsive header,
    .cisoft-responsive.sticky-menu-active header {
        position: static; width: auto; top: auto; margin: 0; padding: 0;
    }
    .cisoft-responsive header > .container {
        height: auto !important; padding-top: 20px; padding-bottom: 12px;
        display: flex; flex-direction: column; align-items: center;
    }
    .cisoft-responsive header h1.logo,
    .cisoft-responsive.sticky-menu-active header h1.logo {
        position: static; float: none; width: auto; margin: 0;
        text-align: center; font-size: 32px; line-height: 1.3;
    }
    .cisoft-responsive header h1.logo img {
        width: 230px !important; height: auto !important; max-width: 100%;
    }
    .cisoft-responsive header h1.logo > span {
        display: block; position: static !important;
        margin: 6px 0 0 !important; font-size: 22px !important; line-height: 1.4;
    }
    .cisoft-responsive header nav { float: none; width: 100%; margin: 16px 0 0 !important; }
    .cisoft-responsive header nav ul#mainMenu {
        display: flex !important; flex-wrap: wrap; justify-content: center;
        gap: 6px; margin: 0; padding: 0; list-style: none;
    }
    .cisoft-responsive header nav ul#mainMenu::before,
    .cisoft-responsive header nav ul#mainMenu::after { display: none; }
    .cisoft-responsive header nav ul#mainMenu > li { float: none; margin: 0; }
    .cisoft-responsive header nav ul#mainMenu a {
        box-sizing: border-box; display: flex; align-items: center; justify-content: center;
        min-height: 44px; padding: 10px 14px; margin: 0; font-size: 14px; line-height: 24px;
    }
    .cisoft-responsive header nav select.selectnav { display: none !important; }
    .cisoft-responsive.sticky-menu-active div.main { margin-top: 0; }
    .cisoft-responsive footer h4.souligne,
    .cisoft-responsive footer ul.unstyled,
    .cisoft-responsive #contactAdresse,
    .cisoft-responsive #contactHoraire { margin-left: 0 !important; }
    .cisoft-responsive #contactAdresse + hr,
    .cisoft-responsive #contactForm { max-width: 100%; }
    .cisoft-responsive .span6 > h4 { margin-left: 0 !important; }
    .cisoft-responsive footer a,
    .cisoft-responsive .sidebar a { display: inline-block; padding-top: 10px; padding-bottom: 10px; }
    .cisoft-responsive .sidebar .nav-list a { display: block; }
    .cisoft-responsive .page-top .nav-pills { float: none; display: flex; flex-wrap: wrap; }
    .cisoft-responsive .page-top .nav-pills a { min-height: 24px; padding: 10px 14px; }
    .cisoft-responsive #tabs1-pane1 li { margin-left: 0 !important; }
    .cisoft-responsive #tabs1-pane1 li a { display: inline-block; min-height: 44px; }
    .cisoft-responsive .lead { font-size: 18px; line-height: 1.65; }
    .cisoft-responsive p, .cisoft-responsive li { overflow-wrap: break-word; }
    .cisoft-responsive footer .footer-copyright p { margin-left: 0 !important; }
    .cisoft-responsive .modal {
        box-sizing: border-box; width: min(560px, calc(100% - 32px));
        left: 50%; margin-left: 0; transform: translateX(-50%);
        max-height: calc(100dvh - 32px);
    }
    .cisoft-responsive .modal.fade.in { top: 16px; }
    .cisoft-responsive .modal-body { max-height: calc(100dvh - 210px); overflow-y: auto; }
    .cisoft-responsive .modal .btn { min-height: 44px; }
}
@media (min-width: 768px) and (max-width: 979px) {
    .cisoft-responsive .featured-boxes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .cisoft-responsive .featured-boxes .icon { margin-bottom: 12px; }
    .cisoft-responsive #feature_slider,
    .cisoft-responsive #feature_slider > article.slide { height: 400px; }
    .cisoft-responsive #feature_slider .info h2,
    .cisoft-responsive #feature_slider .infoCisoft h2 { font-size: 36px; line-height: 42px; }
    .cisoft-responsive #feature_slider > article.slide .info { top: 12px; }
    .cisoft-responsive #feature_slider > article.slide:not(#cisoft_slide_2) .infoCisoft { top: 60px; }
    .cisoft-responsive #feature_slider > #cisoft_slide_2 .infoCisoft {
        top: 125px; left: calc(50% + 175px); right: auto; width: 180px;
    }
    .cisoft-responsive #feature_slider .asset { transform: scale(.75); transform-origin: top left; }
    .cisoft-responsive #feature_slider > #pagination { margin-top: 20px; }
    .cisoft-responsive #feature_slider > #slide-left,
    .cisoft-responsive #feature_slider > #slide-right { min-width: 44px; min-height: 44px; }
}
@media (max-width: 767px) {
    body.cisoft-responsive { padding: 0; font-size: 16px; line-height: 1.6; }
    .cisoft-responsive .container {
        width: calc(100% - 32px); margin-left: auto; margin-right: auto;
    }
    .cisoft-responsive .container .container { width: 100%; }
    .cisoft-responsive .row { margin-left: 0; }
    .cisoft-responsive [class*="span"] {
        float: none; width: 100%; min-width: 0; margin-left: 0;
        box-sizing: border-box;
    }
    .cisoft-responsive #content > .row { margin: 0; }
    .cisoft-responsive header,
    .cisoft-responsive footer,
    .cisoft-responsive .footer-copyright,
    .cisoft-responsive section.page-top,
    .cisoft-responsive #googlemaps { margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; }
    .cisoft-responsive header nav ul#mainMenu a { padding: 10px 12px; font-size: 13px; }
    .cisoft-responsive .featured-boxes { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .cisoft-responsive .featured-boxes > a > .span2 { width: auto; }
    .cisoft-responsive .featured-boxes .box-content { padding: 20px 8px 12px; }
    .cisoft-responsive .featured-boxes h4 { font-size: 14px; }
    .cisoft-responsive .featured-boxes .icon { font-size: 30px; width: 68px; height: 68px; line-height: 68px; margin-bottom: 12px; }
    .cisoft-responsive .container > .row.span12 > ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
    .cisoft-responsive .container > .row.span12 > ul > .span2 { width: auto; }
    .cisoft-responsive .page-top { padding-top: 20px; padding-bottom: 16px; }
    .cisoft-responsive h2 { font-size: 28px; line-height: 1.25; overflow-wrap: break-word; }
    .cisoft-responsive h4 { line-height: 1.4; }
    .cisoft-responsive .span9 + .span3,
    .cisoft-responsive footer .row > .span4 + .span4 { margin-top: 24px; }
    .cisoft-responsive #contactForm input:not([type="submit"]),
    .cisoft-responsive #contactForm textarea {
        box-sizing: border-box; width: 100%; max-width: 100%;
        font-size: 16px; min-height: 44px;
    }
    .cisoft-responsive #contactForm input[type="submit"] { width: 100%; min-height: 48px; }
    .cisoft-responsive .sidebar .nav-list { padding-left: 0; padding-right: 0; }
    .cisoft-responsive .sidebar .nav-list a { margin-left: 0; margin-right: 0; }
    .cisoft-responsive .footer-copyright .row { display: flex; flex-wrap: wrap; gap: 12px; }
    .cisoft-responsive .footer-copyright .span1 { width: auto; }
    .cisoft-responsive .footer-copyright .span7 { flex: 1 1 220px; width: auto; }
    .cisoft-responsive footer nav#sub-menu { float: none; }
    .cisoft-responsive footer nav#sub-menu ul { display: flex; gap: 16px; margin: 0 !important; }
    .cisoft-responsive #googlemaps.hidden-phone { display: block !important; height: 240px; }
    .cisoft-responsive #googlemaps iframe { height: 240px; max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .cisoft-responsive * { scroll-behavior: auto !important; }
}

/* Repere tablette : memes positions relatives au centre, a 75 %. */
@media (min-width:768px) and (max-width:979px) {
    .cisoft-responsive #feature_slider .asset.left-472 { left: calc(50% + -354px) !important; }
    .cisoft-responsive #feature_slider .asset.left-365 { left: calc(50% + -273.75px) !important; }
    .cisoft-responsive #feature_slider .asset.left-350 { left: calc(50% + -262.5px) !important; }
    .cisoft-responsive #feature_slider .asset.left-250 { left: calc(50% + -187.5px) !important; }
    .cisoft-responsive #feature_slider .asset.left-200 { left: calc(50% + -150px) !important; }
    .cisoft-responsive #feature_slider .asset.left-185 { left: calc(50% + -138.75px) !important; }
    .cisoft-responsive #feature_slider .asset.left-170 { left: calc(50% + -127.5px) !important; }
    .cisoft-responsive #feature_slider .asset.left-160 { left: calc(50% + -120px) !important; }
    .cisoft-responsive #feature_slider .asset.left-110 { left: calc(50% + -82.5px) !important; }
    .cisoft-responsive #feature_slider .asset.left-100 { left: calc(50% + -75px) !important; }
    .cisoft-responsive #feature_slider .asset.left-20 { left: calc(50% + -15px) !important; }
    .cisoft-responsive #feature_slider .asset.left90 { left: calc(50% + 67.5px) !important; }
    .cisoft-responsive #feature_slider .asset.left100 { left: calc(50% + 75px) !important; }
    .cisoft-responsive #feature_slider .asset.left150 { left: calc(50% + 112.5px) !important; }
    .cisoft-responsive #feature_slider .asset.left300 { left: calc(50% + 225px) !important; }
    .cisoft-responsive #feature_slider .asset.left350 { left: calc(50% + 262.5px) !important; }
}

@media (max-width:1199px) {
    .cisoft-responsive #contactForm input:not([type="submit"]),
    .cisoft-responsive #contactForm textarea { box-sizing: border-box; max-width:100%; min-height:44px; font-size:16px; }
    .cisoft-responsive #contactForm input[type="submit"] { min-height:48px; }
    .cisoft-responsive .modal .modal-header { position: relative; padding-right: 52px; }
    .cisoft-responsive .modal .modal-header .close {
        position:absolute; right:4px; top:4px; margin:0; min-width:44px; min-height:44px;
    }
}
@media (min-width:768px) and (max-width:979px) {
    .cisoft-responsive #feature_slider .asset.t-10 { top: 32.5px !important; }
    .cisoft-responsive #feature_slider .asset.t100 { top: 115px !important; }
    .cisoft-responsive #feature_slider .asset.t120 { top: 130px !important; }
    .cisoft-responsive #feature_slider .asset.t135 { top: 141.25px !important; }
    .cisoft-responsive #feature_slider .asset.t160 { top: 160px !important; }
    .cisoft-responsive #feature_slider .asset.t180 { top: 175px !important; }
    .cisoft-responsive #feature_slider .asset.t190 { top: 182.5px !important; }
    .cisoft-responsive #feature_slider .asset.t210 { top: 197.5px !important; }
    .cisoft-responsive #feature_slider .asset.t220 { top: 205px !important; }
    .cisoft-responsive #feature_slider .asset.t250 { top: 227.5px !important; }
    .cisoft-responsive #feature_slider .asset.t260 { top: 235px !important; }
    .cisoft-responsive #feature_slider .asset.t270 { top: 242.5px !important; }
    .cisoft-responsive #feature_slider .asset.t320 { top: 280px !important; }
    .cisoft-responsive #feature_slider .asset.t375 { top: 321.25px !important; }
    .cisoft-responsive #feature_slider .asset.t390 { top: 332.5px !important; }
}
