/* site.css — CSS personnalisé du site (post custom_css 42), puis styles propres à la reconstruction. */
#main-content {
margin-bottom: 53px;
z-index: 2;
}
#main-footer {
width: 100%;
position: fixed;
left: 0;
bottom: 0;
z-index: -1;
}
div#footer-info {
color: #fff;
}
div#footer-bottom {
background: #442be5;
}
div#top-header {
background: #442be5;
}
div#footer-bottom {
    background-image: url(/wp-content/uploads/2018/01/b.jpg);
}

.kb-zoomout .et_pb_slide .et_parallax_bg {
   animation: zoomout 7s forwards;
  -ms-animation: zoomout 7s forwards;
  -webkit-animation: zoomout 7s forwards;
  -0-animation: zoomout 7s forwards;
  -moz-animation: zoomout 7s forwards;
 
}
 
.kb-zoomin .et_pb_slide .et_parallax_bg {
   animation: zoomin 7s forwards;
  -ms-animation: zoomin 7s forwards;
  -webkit-animation: zoomin 7s forwards;
  -0-animation: zoomin 7s forwards;
  -moz-animation: zoomin 7s forwards;
 
}
 
.kb-zoomin-right .et_pb_slide .et_parallax_bg {
   animation: zoomin-right 7s forwards;
  -ms-animation: zoomin-right 7s forwards;
  -webkit-animation: zoomin-right 7s forwards;
  -0-animation: zoomin-right 7s forwards;
  -moz-animation: zoomin-right 7s forwards;
 
}
 
.kb-zoomout-right .et_pb_slide .et_parallax_bg {
   animation: zoomout-right 7s forwards;
  -ms-animation: zoomout-right 7s forwards;
  -webkit-animation: zoomout-right 7s forwards;
  -0-animation: zoomout-right 7s forwards;
  -moz-animation: zoomout-right 7s forwards;
 
}
 
.kb-zoomout .et_parallax_bg {
   animation: zoomout 17s forwards;
  -ms-animation: zoomout 17s forwards;
  -webkit-animation: zoomout 17s forwards;
  -0-animation: zoomout 17s forwards;
  -moz-animation: zoomout 17s forwards;
 
}
 
.kb-zoomin .et_parallax_bg {
   animation: zoomin 17s forwards;
  -ms-animation: zoomin 17s forwards;
  -webkit-animation: zoomin 17s forwards;
  -0-animation: zoomin 17s forwards;
  -moz-animation: zoomin 17s forwards;
 
}
 
.kb-zoomin-right .et_parallax_bg {
   animation: zoomin-right 7s forwards;
  -ms-animation: zoomin-right 17s forwards;
  -webkit-animation: zoomin-right 17s forwards;
  -0-animation: zoomin-right 17s forwards;
  -moz-animation: zoomin-right 17s forwards;
 
}
 
.kb-zoomout-right .et_parallax_bg {
   animation: zoomout-right 7s forwards;
  -ms-animation: zoomout-right 17s forwards;
  -webkit-animation: zoomout-right 17s forwards;
  -0-animation: zoomout-right 17s forwards;
  -moz-animation: zoomout-right 17s forwards;
 
}
 
 
 
@keyframes zoomout{
0% {
    -ms-transform: scale3d(1.5, 1.5, 1.5) translate3d(-0px, 0px, 0px);
    -webkit-transform: scale3d(1.5, 1.5, 1.5) translate3d(0px, 0px, 0px);
    -o-transform: scale3d(1.5, 1.5, 1.5) translate3d(0px, 0px, 0px);
    -moz-transform: scale3d(1.5, 1.5, 1.5) translate3d(0px, 0px, 0px);
    transform: scale3d(1.5, 1.5, 1.5) translate3d(0px, 0px, 0px);
    animation-timing-function: linear;
}
 
 
100% {
    -ms-transform: scale3d(1.1, 1.1, 1.1) translate3d(0px, 0px, 0px);
    -webkit-transform: scale3d(1.1, 1.1, 1.1) translate3d(0px, 0px, 0px);
    -o-transform: scale3d(1.1, 1.1, 1.1) translate3d(0px, 0px, 0px);
    -moz-transform: scale3d(1.1, 1.1, 1.1) translate3d(0px, 0px, 0px);
    transform: scale3d(1.1, 1.1, 1.1) translate3d(0px, 0px, 0px);
 
}
}
 
@keyframes zoomin{
0%{
    -ms-transform: scale3d(1.1, 1.1, 1.1) translate3d(0px, 0px, 0px);
    -webkit-transform: scale3d(1.1, 1.1, 1.1) translate3d(0px, 0px, 0px);
    -o-transform: scale3d(1.1, 1.1, 1.1) translate3d(0px, 0px, 0px);
    -moz-transform: scale3d(1.1, 1.1, 1.1) translate3d(0px, 0px, 0px);
    transform: scale3d(1.1, 1.1, 1.1) translate3d(0px, 0px, 0px);
    animation-timing-function: linear;
 
 
}
 
 
100%{
    -ms-transform: scale3d(1.5, 1.5, 1.5) translate3d(-0px, 0px, 0px);
    -webkit-transform: scale3d(3.5, 3.5, 3.5) translate3d(0px, 0px, 0px);
    -o-transform: scale3d(1.5, 1.5, 1.5) translate3d(0px, 0px, 0px);
    -moz-transform: scale3d(1.5, 1.5, 1.5) translate3d(0px, 0px, 0px);
    transform: scale3d(1.5, 1.5, 1.5) translate3d(0px, 0px, 0px);
 
}
}
 
@keyframes zoomout-right{
0%{
    -ms-transform: scale3d(1.5, 1.5, 1.5) translate3d(-150px, -20px, 0px);
    -webkit-transform: scale3d(1.5, 1.5, 1.5) translate3d(-150px, -20px, 0px);
    -o-transform: scale3d(1.5, 1.5, 1.5) translate3d(-150px, -20px, 0px);
    -moz-transform: scale3d(1.5, 1.5, 1.5) translate3d(-150px, -20px, 0px);
    transform: scale3d(1.5, 1.5, 1.5) translate3d(-150px, -20px, 0px);
    animation-timing-function: linear;
}
 
 
100%{
    -ms-transform: scale3d(1.1, 1.1, 1.1) translate3d(0px, 0px, 0px);
    -webkit-transform: scale3d(1.1, 1.1, 1.1) translate3d(0px, 0px, 0px);
    -o-transform: scale3d(1.1, 1.1, 1.1) translate3d(0px, 0px, 0px);
    -moz-transform: scale3d(1.1, 1.1, 1.1) translate3d(0px, 0px, 0px);
    transform: scale3d(1.1, 1.1, 1.1) translate3d(0px, 0px, 0px);
 
}
}
 
@keyframes zoomin-right{
0%{
    -ms-transform: scale3d(1.1, 1.1, 1.1) translate3d(0px, 0px, 0px);
    -webkit-transform: scale3d(1.1, 1.1, 1.1) translate3d(0px, 0px, 0px);
    -o-transform: scale3d(1.1, 1.1, 1.1) translate3d(0px, 0px, 0px);
    -moz-transform: scale3d(1.1, 1.1, 1.1) translate3d(0px, 0px, 0px);
    transform: scale3d(1.1, 1.1, 1.1) translate3d(0px, 0px, 0px);
    animation-timing-function: linear;
}
     
 
100%{
    -ms-transform: scale3d(1.5, 1.5, 1.5) translate3d(-150px, -20px, 0px);
    -webkit-transform: scale3d(1.5, 1.5, 1.5) translate3d(-150px, -20px, 0px);
    -o-transform: scale3d(1.5, 1.5, 1.5) translate3d(-150px, -20px, 0px);
    -moz-transform: scale3d(1.5, 1.5, 1.5) translate3d(-150px, -20px, 0px);
    transform: scale3d(1.5, 1.5, 1.5) translate3d(-150px, -20px, 0px);
 
}
} 

/* --- Styles propres à la reconstruction statique (scripts/site_reconstruction.css, recopié dans site.css) --- */

/* Icônes SVG à la place de la police ETmodules */
.bm-icone { display: inline-block; vertical-align: middle; fill: currentColor; }
#et-info-email .bm-icone { margin: -2px 4px 0 0; }
#et_top_search { float: right; margin: 3px 0 0 22px; position: relative; display: block; width: 18px; }
#et_search_icon, .et_close_search_field, .mobile_menu_bar_toggle {
  background: none; border: 0; padding: 0; margin: 0; cursor: pointer; color: #000; line-height: 1; font: inherit;
}
#et_search_icon:hover { color: #442be5; }
.et_close_search_field { position: absolute; right: 0; bottom: 0; top: 0; display: flex; align-items: center; color: #442be5; }
#main-header .et_search_outer { display: none; }
#main-header.et_search_visible .et_search_outer { display: block; }
#main-header.et_search_visible #et-top-navigation, #main-header.et_search_visible .logo_container { opacity: 0; }
.et_search_outer { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; }
.et_search_form_container { position: relative; height: 100%; display: flex; align-items: center; }
.et-search-form { width: 100%; }
.et-search-field { width: 100%; border: 0; font-size: 20px; color: #000; background: transparent; padding: 0 30px 0 0; }
.et-search-field:focus { outline: none; }
.et_pb_number_counter .percent p .percent-value { font-variant-numeric: tabular-nums; }

/* Menu mobile */
#et_mobile_nav_menu { display: none; float: right; }
.mobile_menu_bar_toggle { color: #442be5; display: flex; align-items: center; gap: 8px; padding: 5px 0; }
.mobile_menu_bar_toggle .select_page { display: none; }
#mobile_menu { display: none; }
.mobile_nav.opened #mobile_menu { display: block; }
@media (max-width: 980px) {
  #et_mobile_nav_menu { display: block; }
  #top-menu-nav { display: none; }
  #et_top_search { margin: 4px 0 0 22px; }
  .et_mobile_menu { position: absolute; left: 0; top: 100%; width: 100%; padding: 5%; background: #fff; border-top: 3px solid #442be5;
    box-shadow: 0 2px 5px rgba(0,0,0,.1); z-index: 9999; list-style: none; text-align: left; }
  .et_mobile_menu li a { display: block; padding: 10px 5%; border-bottom: 1px solid rgba(0,0,0,.03); color: #666; }
  .et_mobile_menu .current_page_item > a { color: #442be5; }
}

/* Séparateurs de section dessinés pour le site */
.et_pb_bottom_inside_divider, .et_pb_top_inside_divider { position: absolute; left: 0; width: 100%; pointer-events: none; }
.et_pb_bottom_inside_divider { bottom: 0; }
.et_pb_top_inside_divider { top: 0; }
.bm-separateur { display: block; width: 100%; height: 100%; }

/* Parallaxe : CSS (fond fixe) et vraie (déplacé par animations.js), désactivée sur mobile comme chez Divi */
.et_parallax_bg_wrap { overflow: hidden; position: absolute; top: 0; right: 0; bottom: 0; left: 0; pointer-events: none; }
.et_parallax_bg { position: absolute; left: 0; width: 100%; height: 100%; top: 0; background-size: cover; background-position: center;
  background-repeat: no-repeat; will-change: transform; }
.et_parallax_bg[data-parallaxe="vraie"] { height: 130%; top: -15%; }
.et_pb_parallax_css { background-attachment: fixed; }
@media (max-width: 980px) {
  .et_pb_parallax_css { background-attachment: scroll; }
  .et_parallax_bg[data-parallaxe="vraie"] { height: 100%; top: 0; transform: none !important; }
}
.et_pb_section_parallax { position: relative; }
.et_pb_section_parallax > .et_pb_row, .et_pb_section_parallax > .et_pb_fullwidth_header { position: relative; z-index: 2; }

/* Animations d'entrée (classes posées par animations.js) */
.et_js_actif .et_animated_attente { opacity: 0; }
.et_pb_zoom, .et_pb_fade, .et_pb_slide, .et_pb_slide_left, .et_pb_slide_right, .et_pb_slide_top, .et_pb_slide_bottom,
.et_pb_bounce, .et_pb_flip, .et_pb_fold, .et_pb_roll { animation-fill-mode: both; animation-timing-function: ease-in-out; }
.et_pb_zoom { animation-name: bm-zoom; }
.et_pb_fade { animation-name: bm-fade; }
.et_pb_slide, .et_pb_slide_bottom { animation-name: bm-slide-bas; }
.et_pb_slide_top { animation-name: bm-slide-haut; }
.et_pb_slide_left { animation-name: bm-slide-gauche; }
.et_pb_slide_right { animation-name: bm-slide-droite; }
.et_pb_bounce { animation-name: bm-zoom; animation-timing-function: cubic-bezier(.34,1.56,.64,1); }
.et_pb_flip, .et_pb_fold, .et_pb_roll { animation-name: bm-fade; }
@keyframes bm-zoom { from { opacity: 0; transform: scale3d(.5,.5,.5); } to { opacity: 1; transform: none; } }
@keyframes bm-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes bm-slide-bas { from { opacity: 0; transform: translate3d(0,50%,0); } to { opacity: 1; transform: none; } }
@keyframes bm-slide-haut { from { opacity: 0; transform: translate3d(0,-50%,0); } to { opacity: 1; transform: none; } }
@keyframes bm-slide-gauche { from { opacity: 0; transform: translate3d(-50%,0,0); } to { opacity: 1; transform: none; } }
@keyframes bm-slide-droite { from { opacity: 0; transform: translate3d(50%,0,0); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .et_js_actif .et_animated_attente { opacity: 1; }
  .et_pb_zoom, .et_pb_fade, .et_pb_slide, .et_pb_slide_left, .et_pb_slide_right, .et_pb_slide_top, .et_pb_slide_bottom,
  .et_pb_bounce, .et_pb_flip, .et_pb_fold, .et_pb_roll { animation: none; }
}

/* Pages simples (recherche, 404) et brouillons */
.bm-page-simple { padding: 58px 0; }
.bm-recherche { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 20px 0; }
.bm-recherche label { width: 100%; font-weight: 600; }
.bm-recherche input[type="search"] { flex: 1 1 260px; padding: 12px; border: 1px solid #bbb; background: #eee; color: #333; font-size: 14px; }
.bm-liste-resultats { list-style: none; padding: 0; }
.bm-liste-resultats li { padding: 12px 0; border-bottom: 1px solid #eee; }
.bm-type { font-size: 12px; color: #757575; text-transform: uppercase; letter-spacing: 1px; }
.bm-brouillon { background: #fff4e5; border-left: 4px solid #e09900; padding: 12px 16px; color: #333; margin-bottom: 20px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.bm-calcul { font-weight: 600; color: #333; }

/* Compteurs : visibles sans JavaScript (Divi les masque jusqu'à la classe « active ») */
body:not(.et_js_actif) .et_pb_number_counter { opacity: 1; }
.bm-separateur-haut { transform: rotate(180deg); }

/* Glyphes de la police ETmodules (non reprise) : les pseudo-éléments qui les portaient sont neutralisés, les SVG les remplacent */
#et-info-email:before, #et-info-phone:before, #et_search_icon:before, .et_close_search_field:after, .mobile_menu_bar:before,
.mobile_menu_bar:after, .et-social-icon a:before, .et_pb_scroll_top:before, .et-cart-info span:before { content: none !important; display: none !important; }
.et-social-icon a { display: inline-flex; align-items: center; color: #fff; }
.et-social-icon a span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Simulateur (ancien formulaire Caldera) : une seule colonne et champs à leur largeur par défaut, comme sur la capture
   d'archive (la grille de Caldera n'y était pas appliquée) */
.caldera-grid { margin-top: 30px; }
.caldera-grid .form-group { margin-bottom: 4px; }
.caldera-grid .control-label { display: block; margin-bottom: 0; }
.caldera-grid .form-control { display: inline-block; width: auto; padding: 1px 2px; border: 1px solid #767676; font-size: 13px; color: #333; background: #fff; }
.caldera-grid .field_required { color: #ee0000 !important; }
.caldera-grid .total-line { display: block; font-size: 20px; color: #333; line-height: 1.3; }
.caldera-grid .bm-calcul { font-weight: 600; }
.caldera-grid hr { margin: 8px 0 4px; border: 0; border-top: 1px solid #aaa; border-bottom: 1px solid #aaa; height: 3px; }
