/* Adaptations du thème de production à PHP et JavaScript natif. */
body{overflow:visible}#page{min-width:0}.site-header .region-logo a{display:block}.region-logo img{vertical-align:middle}.region-logo img:last-child{margin-left:20px}.original-title{color:#0099cc!important;font-family:'Roboto Slab',sans-serif;font-size:33px;font-weight:500;line-height:1.1;padding:0;margin:20px 0 10px}.rtecenter{text-align:center}.legacy{overflow-wrap:break-word}.legacy .row{margin-inline:-15px}.legacy img{max-width:100%;height:auto}.legacy center img{display:block;margin:auto}.legacy video{width:100%;max-width:1200px;display:block;margin:auto}.legacy .clear{clear:both}.legacy .white-popup{max-width:none;margin:25px auto;border:1px solid #ddd}.legacy .white-popup:target{border-color:#09abd5}.legacy .mfp-hide{display:block}.banner-carousel{position:relative}.banner-carousel ul.bxslider{list-style:none;list-style-image:none;margin:0;padding:0}.banner-carousel ul.bxslider>li:not(:first-child){display:none}.banner-carousel.enhanced ul.bxslider>li{display:none}.banner-carousel.enhanced ul.bxslider>li.current{display:block}.banner-carousel img{display:block;width:100%;height:auto}.banner-carousel:has(.bxslider){margin-bottom:60px}.banner-controls button{position:absolute;top:calc((100% - 32px)/2);width:32px;height:32px;padding:0;border:0;background:#777b;color:white;border-radius:50%;font:bold 30px/28px Arial;text-align:center}.banner-controls .previous{left:10px}.banner-controls .next{right:10px}.banner-pager{position:absolute;bottom:-30px;left:0;width:100%;display:flex;justify-content:center;gap:10px}.banner-pager button{border:0;padding:0;width:10px;height:10px;border-radius:50%;background:#666}.banner-pager button[aria-pressed=true]{background:black}.carousel-pause{position:absolute;bottom:-33px;right:0;background:white;color:#777;border:0;padding:0 5px;font-size:12px;opacity:0}.carousel-pause:focus-visible{opacity:1}
.navigation{display:block}.navigation nav{display:table;margin:auto}.navigation .nav>li>a{font-family:'Roboto',sans-serif;font-weight:300;border:0;font-size:16px;letter-spacing:2px;color:#0099cc;text-transform:uppercase;padding:15px}.navigation .nav>li.active>a,.navigation .nav>li>a:hover{color:#cf234f;background:none}.menu-toggle#hamburger{display:none;border:0;padding:0;background:transparent}.menu-toggle[hidden]{display:none!important}.menuBg{position:sticky;top:0;z-index:20}.skip{position:absolute;left:10px;top:-100px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}:focus-visible{outline:3px solid #09abd5!important;outline-offset:3px}a{outline:revert!important}.trap{display:none}.contact-page{padding:100px 0 80px}.contact-page>.col-sm-6{padding-inline:50px}.contact-page>.col-sm-6>.row{margin-inline:0}.contact-form{margin-top:0}.form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 30px;margin-bottom:15px}.contact-form .form-control{height:34px;font-size:14px;color:#333;border:1px solid #ccc;box-shadow:inset 0 1px 1px #0001;padding:6px 12px;font-family:'Roboto',sans-serif;font-weight:300;border-radius:0}.contact-form textarea.form-control{height:95px;resize:vertical;border-radius:4px}.contact-form label.sr-only{display:block}.contact-form .form-submit{margin-top:15px;padding:15px 60px;font-size:14px}.contact-form .form-submit:hover{padding:15px 60px!important}.notice{padding:12px!important;background:#fff1ed;color:#8a301f;border-left:4px solid #cf234f;font-size:14px}.footer .contact-form a{color:white}.footer_pied p{font-size:12px}.contact h2{margin:20px 0 10px}.legacy .slideExpertise{display:flex;gap:80px;list-style:none;list-style-image:none;padding:0 40px;margin:50px 0 0;overflow:hidden;align-items:center}.legacy .slideExpertise li{flex:0 0 150px}.legacy .slideExpertise img{max-height:110px;object-fit:contain;width:150px}.expertise-controls{display:flex;justify-content:center;gap:12px;margin-top:20px}.expertise-controls button{border:0;background:none;color:#1971a1;font-size:24px}.legacy #sliderImadiff>ul{display:flex;justify-content:center;gap:40px;flex-wrap:wrap}.legacy #sliderImadiff>ul>li{margin:0;flex-shrink:0}.module-button{display:block;width:100%;height:104px;border:0;padding:0;background:transparent;border-radius:inherit;color:inherit;font:inherit;position:relative}.module-button>img{width:50px;height:50px;position:relative;top:12px}.module-button .texteArrow{top:-14px!important}.module-button .arrow{display:none}.module-button .texte{opacity:1!important}.legacy #sliderImadiff li.active .module-button .texte{opacity:0!important}.legacy #sliderImadiff li.active .module-button .arrow{display:block;opacity:1}.legacy #sliderImadiff li.active .module-button .texteArrow{top:10px!important}.legacy #sliderImadiff .module-button .arrow img{width:30px;height:30px}.legacy #slider-container{width:100%;position:static}.legacy #slider-container>.row{width:auto;display:block;margin:0}.legacy #slider-container>.row>.col-sm-12>.original-title{text-align:center;margin:40px}.legacy #slider-viewer{overflow:visible}.legacy #slider-container.enhanced>.row[hidden]{display:none!important}.legacy #slider-container>.row:after{content:'';display:table;clear:both}.legacy #accordeon .accordion-button{display:block;height:70px;width:100%;background:none;border:0;text-align:left;font-family:inherit;font-size:16px;font-weight:500;color:inherit;padding:0}.legacy #accordeon .accordion-button>.header{width:100%;height:70px}.legacy #accordeon .header>div{display:inline-block;vertical-align:top}.legacy #accordeon .arrow{width:90px;height:70px}.legacy #accordeon .nom{max-width:calc(100% - 100px)}.legacy #accordeon .texte{max-height:none;padding:10px 20px 10px 90px}.legacy #accordeon.enhanced li:not(.active) .texte{display:none}.legacy #accordeon li.active .texte{max-height:none;padding:10px 20px 10px 90px}.table-scroll{overflow:auto}.pricing{width:100%;border-collapse:collapse;table-layout:fixed;margin-bottom:50px;font-size:16px;color:#000}.pricing caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.pricing thead th:first-child{width:66.666%;vertical-align:bottom;background:linear-gradient(to bottom,white 52%,#f3f3f3 52%);padding:20px;font-weight:500}.pricing thead th:last-child{width:33.333%;height:130px;text-align:center;padding:20px;background:#09abd5;color:white;font-size:25px;font-weight:300}.pricing tbody th,.pricing tbody td{height:63px;padding:20px;background:#f3f3f3;font-weight:300}.pricing tbody td{text-align:center}.pricing tbody tr:nth-child(odd)>*{background:#ededed}.pricing img{max-width:22px;max-height:22px}.pricing .info{width:20px}.tariff-body{padding-top:130px!important}.pricing:nth-of-type(2) thead th:last-child{background:#1971a1}#return-to-top{display:block;font-size:32px;text-align:center;line-height:52px;color:white;text-decoration:none;position:fixed;right:20px;bottom:20px;z-index:30;opacity:0;pointer-events:none}#return-to-top.visible{opacity:1;pointer-events:auto}
@media(max-width:978px){.navigation{margin:0}.menu-toggle:not([hidden]){display:block!important}.navigation nav.enhanced{display:none}.navigation nav.enhanced.open{display:block;margin:0;background:#f3f3f3}.navigation nav:not(.enhanced) .nav{float:none}.navigation nav.open .nav{float:none;width:100%}.navigation nav.open .nav>li{float:none}.navigation nav.open .nav>li>a{padding:13px 20px}.legacy #sliderImadiff>ul{gap:20px}.legacy .slideExpertise{gap:40px}.pricing thead th:last-child{font-size:20px}}
@media(max-width:548px){.region-logo img:last-child{margin-left:0}.region-logo img:first-child{display:inline-block}.region-logo img:last-child{max-width:100%;margin-top:10px}}
@media(max-width:768px){.legacy #sliderImadiff>ul{display:block}.legacy #sliderImadiff>ul>li{margin:0;width:100%;height:70px}.module-button{height:70px}.module-button>img{height:30px;width:30px;top:4px}.legacy #sliderImadiff .module-button .texteArrow{top:0!important}.legacy #sliderImadiff li.active .module-button .texteArrow{top:-2px!important}.legacy #sliderImadiff li.active .module-button .texte{opacity:1!important}.legacy #sliderImadiff li.active .module-button .arrow{display:none}.legacy #slider-container>.row>.col-sm-12>.original-title{margin:30px 0;font-size:30px}.legacy #accordeon .arrow{width:45px}.legacy #accordeon .arrow div{margin-left:15px;width:20px;height:20px}.legacy #accordeon .nom{max-width:calc(100% - 55px);line-height:1.4}.legacy #accordeon .texte,.legacy #accordeon li.active .texte{padding:15px 20px}.legacy #accordeon .accordion-button{height:auto;min-height:70px}.contact-page{padding:10px 0 50px}.contact-page>.col-sm-6{padding-inline:50px}.contact-page>.col-sm-6{margin-bottom:35px}.form-fields{gap:15px}.tariff-body{padding-top:40px!important}.pricing thead th:first-child{width:55%}.pricing thead th:last-child{width:45%;font-size:17px;height:110px}.pricing tbody th,.pricing tbody td{padding:12px;font-size:14px}.pricing thead th:first-child{padding:12px;font-size:14px}.legacy .slideExpertise{padding-inline:15px;gap:30px}.banner-controls button{font-size:30px}.footer .rowfooter{padding-top:30px}.footer .footerContent>.col-md-6{margin-bottom:30px}.legacy .col-md-6:has(.col1Formation),.legacy .col-md-6:has(.col2Formation){margin-top:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

@media(max-width:548px){.region-logo img:first-child{margin-inline:auto}}

.pricing .titreCol1{position:static!important;top:auto!important;display:inline;background:none;padding:0}.legacy dialog.white-popup{width:calc(100% - 40px);max-width:400px;max-height:85vh;overflow:auto;border:0;margin:auto;padding:25px}.legacy dialog.white-popup:not([open]){display:none!important}.legacy dialog.white-popup::backdrop{background:#000c}.close-dialog{float:right;background:none;border:0;font-size:26px;line-height:1;padding:0 5px;color:#666}.legacy #sliderImadiff .module-slot{color:#333;text-align:left;background:white}.legacy #sliderImadiff .module-slot>.row{margin:0}.legacy #sliderImadiff .module-slot>.row>.col-sm-12>.original-title{margin:40px;text-align:center}.legacy #sliderImadiff .module-slot[hidden]{display:none!important}@media(max-width:768px){.legacy #sliderImadiff>ul>li.active{height:auto;background:white}.legacy #sliderImadiff .module-button{background:#d0244f;color:white}.legacy #sliderImadiff .module-slot>.row>.col-sm-12>.original-title{margin:30px 0;font-size:33px}}

.menuBg.f-nav{position:fixed}.module-button .arrow{display:block;opacity:0;height:30px}.legacy dialog.white-popup{position:fixed;inset:0;height:fit-content}@media(max-width:768px){.module-button .arrow{height:20px;display:block!important;opacity:0!important}.legacy #sliderImadiff li.active .module-button .arrow{display:block;opacity:0}}

.navigation-row{min-height:50px}@media(max-width:978px){.navigation-row{min-height:45px}}

/* Mouvements du thème original, avec commandes accessibles. */
.banner-carousel.enhanced ul.bxslider{display:grid;overflow:hidden}
.banner-carousel.enhanced ul.bxslider>li{grid-area:1/1;min-width:0}
.banner-carousel.enhanced ul.bxslider>li.departing{display:block;pointer-events:none}
.legacy #slider-viewer{overflow:hidden}
.legacy #sliderImadiff .module-button .texteArrow{top:-14px!important}
.legacy #sliderImadiff .module-button .texte{opacity:1!important}
.legacy #sliderImadiff .module-button .arrow{display:block;opacity:0!important}
.legacy #sliderImadiff li:hover .module-button .texteArrow,.legacy #sliderImadiff li.active .module-button .texteArrow,.legacy #sliderImadiff .module-button:focus-visible .texteArrow{top:10px!important}
.legacy #sliderImadiff li:hover .module-button .texte,.legacy #sliderImadiff li.active .module-button .texte,.legacy #sliderImadiff .module-button:focus-visible .texte{opacity:0!important}
.legacy #sliderImadiff li:hover .module-button .arrow,.legacy #sliderImadiff li.active .module-button .arrow,.legacy #sliderImadiff .module-button:focus-visible .arrow{opacity:1!important}
.legacy #accordeon.enhanced li:not(.active) .texte,.legacy #accordeon.enhanced li.active .texte{display:block;overflow:hidden;box-sizing:border-box;max-height:none;transition:none}
.legacy #accordeon.enhanced .texte[hidden]{display:none!important}
#return-to-top{transition:opacity .2s ease,background .3s ease}
#return-to-top:hover{background:rgba(0,0,0,.9)}
.legacy dialog.white-popup::backdrop{animation:dialog-backdrop-in .3s ease both}
.legacy dialog.white-popup.closing::backdrop{animation:dialog-backdrop-out .3s ease both}
@keyframes dialog-backdrop-in{from{background:transparent}to{background:#000c}}
@keyframes dialog-backdrop-out{from{background:#000c}to{background:transparent}}
@media(max-width:768px){
 .legacy #sliderImadiff .module-button .texteArrow{top:-14px!important}
 .legacy #sliderImadiff li:hover .module-button .texteArrow,.legacy #sliderImadiff li.active .module-button .texteArrow,.legacy #sliderImadiff .module-button:focus-visible .texteArrow{top:-2px!important}
 .legacy #sliderImadiff .module-button .arrow img{width:20px;height:20px}
}

/* Formation : limiter les retraits imbriqués sur les petits écrans. */
@media(max-width:767px){
 .formation-page .page-body>.rowPadding{padding:0}
 .formation-page .blockBorderBlueDetailFormation p{padding:12px 6px}
 .formation-page .blockGrisFormationDetail{padding:16px 12px;margin-top:16px;min-height:0}
 .formation-page .blockGrisFormationDetail>.col-xs-6{padding-inline:10px}
 .formation-page .blockGrisFormationDetail p{padding:8px 0;margin-bottom:0}
 .formation-page .blockGrisFormationDetail .pictoDetailFormation{vertical-align:top}
 .formation-page .blockGrisFormationDetail h3{padding:10px 0;margin:10px 0 16px}
 .formation-page .prochaineDate strong+a::before,.formation-page .prochaineDate strong+a::after{content:'\A';white-space:pre}
}
/* Formulaire de la page contact : champs empilés et bouton centré sur mobile. */
.contact-map{margin-bottom:50px}
.contact-map .googleMaps{display:block;height:550px}
@media(max-width:767px){
 .contact-page .form-fields{grid-template-columns:minmax(0,1fr);gap:15px}
 .contact-page .contact-form textarea.form-control{height:323px}
 .contact-page .contact-form .form-submit{display:block;margin:30px auto 0}
}
/* Bloc contact commun : disposition mobile du site de production. */
@media(max-width:978px){
 .footer .footerContent>.col-md-6{display:flow-root;margin-bottom:0}
 .footer .footerContent p{margin-bottom:0}
 .footer .contact-form{padding-bottom:15px}
 .footer .contact-form textarea.form-control{height:123px}
 .footer .contact-form .form-submit{margin-top:30px}
 .footer_pied p{font-size:16px;line-height:25px;margin-bottom:0}
}
@media(max-width:767px){
 .footer .form-fields{grid-template-columns:minmax(0,1fr);gap:15px}
}
/* Titres d’accordéon mobiles : flèche et texte restent dans la même ligne. */
@media(max-width:768px){
 .legacy #accordeon .accordion-button{height:auto}
 .legacy #accordeon .header,.legacy #accordeon .accordion-button>.header{display:flex;align-items:center;min-height:70px;height:auto;padding:14px 15px 14px 0}
 .legacy #accordeon .header>.arrow{flex:0 0 45px;height:30px}
 .legacy #accordeon .arrow div{margin-top:5px}
 .legacy #accordeon .header>.icon{display:none}
 .legacy #accordeon .header>.nom{flex:1;min-width:0;max-width:none;height:auto;margin-left:10px}
 .legacy #accordeon .nom>div{display:block;height:auto}
}
/* Tiroir latéral mobile, comme le menu de production. */
.menu-overlay[hidden]{display:none}
.menu-overlay{position:fixed;inset:0 0 0 min(80vw,440px);border:0;background:rgba(0,0,0,.2);z-index:101;animation:menu-overlay-in .4s ease}
@media(max-width:978px){
 #navigation.mobile-drawer{display:block;position:fixed;inset:0 auto 0 0;width:80vw;max-width:440px;height:100dvh;overflow:auto;background:#09abd5;z-index:102;transform:translateX(-100%);visibility:hidden;transition:transform .4s ease,visibility .4s}
 #navigation.mobile-drawer.open{transform:translateX(0);visibility:visible}
 #navigation.mobile-drawer::before{content:'Menu';display:block;height:40px;padding:10px 40px;border-bottom:1px solid rgba(0,0,0,.1);color:white;text-align:center;font:300 20px/20px 'Roboto',sans-serif}
 #navigation.mobile-drawer .nav{float:none;width:calc(100% - 40px);margin:20px 0 20px 40px;padding:0}
 #navigation.mobile-drawer .nav>li{position:relative;float:none;height:54px;margin:0;padding:0;border:0}
 #navigation.mobile-drawer .nav>li::after{content:'';position:absolute;left:20px;right:0;bottom:0;border-bottom:1px solid rgba(0,0,0,.1)}
 #navigation.mobile-drawer .nav>li>a{display:block;height:44px;padding:14px 10px 10px 20px;color:white;background:transparent;font:300 16px/20px 'Roboto',sans-serif;text-transform:none;letter-spacing:normal}
 #navigation.mobile-drawer .nav>li.active>a,#navigation.mobile-drawer .nav>li>a:hover,#navigation.mobile-drawer .nav>li>a:focus{background:transparent}
 body.menu-open #hamburger::before,body.menu-open #hamburger::after,body.menu-open #hamburger span{display:none}
 body.menu-open{overflow:hidden}
 #page{transition:transform .4s ease}
 body.menu-open #page{transform:translateX(min(80vw,440px))}
}

@media(min-width:769px){
 .legacy #slider-container.enhanced{display:grid}
 .legacy #slider-container.enhanced>.row{grid-area:1/1;min-width:0}
 .legacy #slider-container.enhanced>.row.departing-panel[hidden]{display:block!important;pointer-events:none}
}

/* Le bas de page et le bandeau restent visibles sans animation ni JavaScript. */
html{height:auto;overflow-y:auto}
body{height:auto;overflow:visible}
.footer{display:block;clear:both;visibility:visible;position:relative}
.footer .wow{visibility:visible}
.banner-carousel .bxslider>li:first-child:not([aria-hidden="true"]){display:block}
.banner-carousel img{aspect-ratio:1580/450;object-fit:contain}
.banner-carousel:not(:has(.bxslider)) img{aspect-ratio:auto}

/* Couleurs et liens vers les tarifs à l’achat, comme en production. */
.pricing{color:#333}
.pricing thead th:first-child{color:#000}
.pricing.pricing-services thead th:last-child{background:#1971a1}
.pricing .pricing-action th{height:60px;padding:0;background:#fff}
.pricing .pricing-action td{padding:0;height:60px;background:#09abd5}
.pricing.pricing-services .pricing-action td{background:#1971a1}
.pricing .pricing-action a{display:flex;align-items:center;justify-content:center;position:relative;min-height:60px;padding:20px 40px;color:white!important;font-size:14px;line-height:20px;font-weight:300}
.pricing .pricing-action a:hover,.pricing .pricing-action a:focus-visible{font-weight:500}
.pricing .pricing-action img{position:absolute;right:20px;width:13px;height:23px;max-height:none}
@media(max-width:978px){.pricing .pricing-action a{font-size:20px;line-height:1.4;padding:10px 35px 10px 10px}}
@media(max-width:480px){.pricing .pricing-action a{font-size:16px}.pricing .pricing-action img{right:10px}}
/* Donner aux liens d’information une boîte cliquable stable, même avant le chargement de l’icône. */
.pricing a[href^="#"]{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;min-width:28px;min-height:28px;scroll-margin-top:70px}

/* Alignement et commandes des références comme sur la page d’accueil de production. */
.page-body .pastille .rtecenter{text-align:left}
.page-body .pastille .original-title{font-weight:500!important}
.references-carousel{position:relative;max-width:1300px;margin:0 auto 60px}
.legacy .references-carousel .slideExpertise{gap:80px;padding:0;margin:0;align-items:flex-start}
.legacy .references-carousel .slideExpertise img{max-height:none}
.references-carousel .expertise-controls{display:block;margin:0}
.references-carousel .expertise-controls button{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;padding:0;overflow:hidden;text-indent:-9999px;background:url('/assets/carousel-controls.png') no-repeat;border:0}
.references-carousel .expertise-controls button:first-child{left:10px;background-position:0 -32px}
.references-carousel .expertise-controls button:last-child{right:10px;background-position:-43px -32px}
.references-carousel .expertise-controls button:first-child:hover,.references-carousel .expertise-controls button:first-child:focus-visible{background-position:0 0}
.references-carousel .expertise-controls button:last-child:hover,.references-carousel .expertise-controls button:last-child:focus-visible{background-position:-43px 0}

/* Apparitions au défilement, actives uniquement après initialisation JavaScript. */
.wow.reveal-pending,.pricing-reveal.reveal-pending{visibility:hidden;animation-name:none!important}
.footerContent,.content{overflow-x:clip;overflow-y:visible}
.tariff-body .table-scroll{overflow:visible}
.pricing{position:relative}
@media(min-width:979px){
 .pricing.price-column-active thead th:last-child,.pricing.price-column-active tbody td{transform:scale(1.05);transform-origin:50% var(--price-origin-y,50%);position:relative;z-index:1}
 .pricing.price-column-active::after{content:'';position:absolute;inset:0 0 0 66.666%;transform:scale(1.05);box-shadow:0 0 15px #b6a684;pointer-events:none;z-index:2}
}
.banner-controls button{background:transparent url('/assets/carousel-controls.png') no-repeat;overflow:hidden;text-indent:-9999px;border-radius:0}
.banner-controls .previous{background-position:0 -32px}
.banner-controls .next{background-position:-43px -32px}
.banner-controls .previous:hover,.banner-controls .previous:focus-visible{background-position:0 0}
.banner-controls .next:hover,.banner-controls .next:focus-visible{background-position:-43px 0}
.legacy #accordeon .accordion-button:focus-visible{color:#09ACD6}
.navigation .nav>li>a:focus-visible{color:#cf234f;background:none}
#return-to-top span{display:inline-block;transition:transform .3s ease}
#return-to-top:hover span,#return-to-top:focus-visible span{transform:translateY(-8px)}
@media(prefers-reduced-motion:reduce){.wow.reveal-pending,.pricing-reveal.reveal-pending{visibility:visible}}

@keyframes menu-overlay-in{from{opacity:0}to{opacity:1}}
