.ct-section {
width:100%;
background-size:cover;
background-repeat:repeat;
}
.ct-section>.ct-section-inner-wrap {
display:flex;
flex-direction:column;
align-items:flex-start;
}
.ct-div-block {
display:flex;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.ct-new-columns {
display:flex;
width:100%;
flex-direction:row;
align-items:stretch;
justify-content:center;
flex-wrap:wrap;
}
.ct-link-text {
display:inline-block;
}
.ct-link {
display:flex;
flex-wrap:wrap;
text-align:center;
text-decoration:none;
flex-direction:column;
align-items:center;
justify-content:center;
}
.ct-link-button {
display:inline-block;
text-align:center;
text-decoration:none;
}
.ct-link-button {
background-color: #1e73be;
border: 1px solid #1e73be;
color: #ffffff;
padding: 10px 16px;
}
.ct-image {
max-width:100%;
}
.ct-fancy-icon>svg {
width:55px;height:55px;}
.ct-inner-content {
width:100%;
}
.ct-slide {
display:flex;
flex-wrap:wrap;
text-align:center;
flex-direction:column;
align-items:center;
justify-content:center;
}
.ct-nestable-shortcode {
display:flex;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-comments {
width:100%;
text-align:left;
}
.oxy-comment-form {
width:100%;
}
.oxy-login-form {
width:100%;
}
.oxy-search-form {
width:100%;
}
.oxy-tabs-contents {
display:flex;
width:100%;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-tab {
display:flex;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-tab-content {
display:flex;
width:100%;
flex-wrap:nowrap;
flex-direction:column;
align-items:flex-start;
}
.oxy-testimonial {
width:100%;
}
.oxy-icon-box {
width:100%;
}
.oxy-pricing-box {
width:100%;
}
.oxy-posts-grid {
width:100%;
}
.oxy-gallery {
width:100%;
}
.ct-slider {
width:100%;
}
.oxy-tabs {
display:flex;
flex-wrap:nowrap;
flex-direction:row;
align-items:stretch;
}
.ct-modal {
flex-direction:column;
align-items:flex-start;
}
.ct-span {
display:inline-block;
text-decoration:inherit;
}
.ct-widget {
width:100%;
}
.oxy-dynamic-list {
width:100%;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
			.ct-div-block,
			.oxy-post-content,
			.ct-text-block,
			.ct-headline,
			.oxy-rich-text,
			.ct-link-text { max-width: 100%; }
			img { flex-shrink: 0; }
			body * { min-height: 1px; }
		}            .oxy-testimonial {
                flex-direction: row;
                align-items: center;
            }
                        .oxy-testimonial .oxy-testimonial-photo-wrap {
                order: 1;
            }
            
                        .oxy-testimonial .oxy-testimonial-photo {
                width: 125px;                height: 125px;                margin-right: 20px;
            }
            
                        .oxy-testimonial .oxy-testimonial-photo-wrap, 
            .oxy-testimonial .oxy-testimonial-author-wrap, 
            .oxy-testimonial .oxy-testimonial-content-wrap {
                align-items: flex-start;                text-align: left;            }
            
                                                            .oxy-testimonial .oxy-testimonial-text {
                margin-bottom:8px;font-size: 21px;
line-height: 1.4;
-webkit-font-smoothing: subpixel-antialiased;
            }
            
                                    .oxy-testimonial .oxy-testimonial-author {
                font-size: 18px;
-webkit-font-smoothing: subpixel-antialiased;
            }
                            

                                                .oxy-testimonial .oxy-testimonial-author-info {
                font-size: 12px;
-webkit-font-smoothing: subpixel-antialiased;
            }
            
             
            
                        .oxy-icon-box {
                text-align: left;                flex-direction: column;            }
            
                        .oxy-icon-box .oxy-icon-box-icon {
                margin-bottom: 12px;
                align-self: flex-start;            }
            
                                                                        .oxy-icon-box .oxy-icon-box-heading {
                font-size: 21px;
margin-bottom: 12px;            }
            
                                                                                    .oxy-icon-box .oxy-icon-box-text {
                font-size: 16px;
margin-bottom: 12px;align-self: flex-start;            }
            
                        .oxy-icon-box .oxy-icon-box-link {
                margin-top: 20px;                            }
            
            
            /* GLOBALS */

                                                            .oxy-pricing-box .oxy-pricing-box-section {
                padding-top: 20px;
padding-left: 20px;
padding-right: 20px;
padding-bottom: 20px;
text-align: center;            }
                        
                        .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-price {
                justify-content: center;            }
            
            /* IMAGE */
                                                                                    .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-graphic {
                justify-content: center;            }
            
            /* TITLE */
                                                            
                                    .oxy-pricing-box .oxy-pricing-box-title-title {
                font-size: 48px;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-title-subtitle {
                font-size: 24px;
            }
            

            /* PRICE */
                                                .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-price {
                                                flex-direction: row;                                            }
            
                                    .oxy-pricing-box .oxy-pricing-box-currency {
                font-size: 28px;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-amount-main {
                font-size: 80px;
line-height: 0.7;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-amount-decimal {
                font-size: 13px;
            }
                        
                                    .oxy-pricing-box .oxy-pricing-box-term {
                font-size: 16px;
            }
            
                                    .oxy-pricing-box .oxy-pricing-box-sale-price {
                font-size: 12px;
color: rgba(0,0,0,0.5);
                margin-bottom: 20px;            }
            
            /* CONTENT */

                                                                        .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-content {
                font-size: 16px;
color: rgba(0,0,0,0.5);
            }
            
            /* CTA */

                                                                        .oxy-pricing-box .oxy-pricing-box-section.oxy-pricing-box-cta {
                justify-content: center;            }
            
        
                                .oxy-progress-bar .oxy-progress-bar-background {
            background-color: #000000;            background-image: linear-gradient(-45deg,rgba(255,255,255,.12) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.12) 75%,transparent 75%,transparent);            animation: none 0s paused;        }
                
                .oxy-progress-bar .oxy-progress-bar-progress-wrap {
            width: 85%;        }
        
                                                        .oxy-progress-bar .oxy-progress-bar-progress {
            background-color: #66aaff;padding: 40px;animation: none 0s paused, none 0s paused;            background-image: linear-gradient(-45deg,rgba(255,255,255,.12) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.12) 75%,transparent 75%,transparent);        
        }
                
                        .oxy-progress-bar .oxy-progress-bar-overlay-text {
            font-size: 30px;
font-weight: 900;
-webkit-font-smoothing: subpixel-antialiased;
        }
        
                        .oxy-progress-bar .oxy-progress-bar-overlay-percent {
            font-size: 12px;
        }
        
        .ct-slider .unslider-nav ol li {border-color: #ffffff; }.ct-slider .unslider-nav ol li.unslider-active {background-color: #ffffff; }.ct-slider .ct-slide {
				padding: 0px;			}
		
                        .oxy-superbox .oxy-superbox-secondary, 
            .oxy-superbox .oxy-superbox-primary {
                transition-duration: 0.5s;            }
            
            
            
            
            
        
        
        
        
            .oxy-shape-divider {
                width: 0px;
                height: 0px;
                
            }
            
            .oxy_shape_divider svg {
                width: 100%;
            }
            .oxy-pro-menu .oxy-pro-menu-container:not(.oxy-pro-menu-open-container):not(.oxy-pro-menu-off-canvas-container) .sub-menu{
box-shadow:px px px px ;}

.oxy-pro-menu .oxy-pro-menu-show-dropdown .oxy-pro-menu-list .menu-item-has-children > a svg{
transition-duration:0.4s;
}

.oxy-pro-menu .oxy-pro-menu-show-dropdown .oxy-pro-menu-list .menu-item-has-children > a div{
margin-left:0px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-open-icon svg{
width:30px;
height:30px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-open-icon{
padding-top:15px;
padding-right:15px;
padding-bottom:15px;
padding-left:15px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-open-icon, .oxy-pro-menu .oxy-pro-menu-mobile-open-icon svg{
transition-duration:0.4s;
}

.oxy-pro-menu .oxy-pro-menu-mobile-close-icon{
top:20px;
left:20px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-close-icon svg{
width:24px;
height:24px;
}

.oxy-pro-menu .oxy-pro-menu-mobile-close-icon, .oxy-pro-menu .oxy-pro-menu-mobile-close-icon svg{
transition-duration:0.4s;
}

.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-off-canvas-container, .oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-open-container{
background-color:#ffffff;
}

.oxy-pro-menu .oxy-pro-menu-off-canvas-container, .oxy-pro-menu .oxy-pro-menu-open-container{
background-image:url();
}

.oxy-pro-menu .oxy-pro-menu-off-canvas-container .oxy-pro-menu-list .menu-item-has-children > a svg, .oxy-pro-menu .oxy-pro-menu-open-container .oxy-pro-menu-list .menu-item-has-children > a svg{
font-size:24px;
}

.oxy-pro-menu .oxy-pro-menu-dropdown-links-toggle.oxy-pro-menu-open-container .menu-item-has-children ul, .oxy-pro-menu .oxy-pro-menu-dropdown-links-toggle.oxy-pro-menu-off-canvas-container .menu-item-has-children ul{
background-color:rgba(0,0,0,0.2);
border-top-style:solid;
}

.oxy-pro-menu .oxy-pro-menu-container:not(.oxy-pro-menu-open-container):not(.oxy-pro-menu-off-canvas-container) .oxy-pro-menu-list{
                    flex-direction: row;
               }
.oxy-pro-menu .oxy-pro-menu-container .menu-item a{
                    text-align: left;
                    justify-content: flex-start;
                }
.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-open-container .menu-item, .oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-off-canvas-container .menu-item{
                    align-items: flex-start;
                }

            .oxy-pro-menu .oxy-pro-menu-off-canvas-container{
                    top: 0;
                    bottom: 0;
                    right: auto;
                    left: 0;
               }
.oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-open-container .oxy-pro-menu-list .menu-item a, .oxy-pro-menu .oxy-pro-menu-container.oxy-pro-menu-off-canvas-container .oxy-pro-menu-list .menu-item a{
                    text-align: left;
                    justify-content: flex-start;
                }

            .oxy-site-navigation {
--oxynav-brand-color:#4831B0;
--oxynav-neutral-color:#FFFFFF;
--oxynav-activehover-color:#EFEDF4;
--oxynav-background-color:#4831B0;
--oxynav-border-radius:0px;
--oxynav-other-spacing:8px;
--oxynav-transition-duration:0.3s;
--oxynav-transition-timing-function:cubic-bezier(.84,.05,.31,.93);
}

.oxy-site-navigation .oxy-site-navigation__mobile-close-wrapper{
text-align:left;
}

.oxy-site-navigation > ul{ left: 0; }
.oxy-site-navigation {
                        --oxynav-animation-name: none; 
                    }

                .oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(1){ 
                    background-color: var(--oxynav-brand-color);
                    transition: var(--oxynav-transition-duration);
                    margin-left: var(--oxynav-other-spacing);
                    border: none;
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2){ 
                    background: transparent;
                    border: 1px solid currentColor;
                    transition: var(--oxynav-transition-duration);
                    margin-left: var(--oxynav-other-spacing);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2):not(:hover) > img{
                    filter: invert(0) !important;
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:hover{
                    background-color: var(--oxynav-activehover-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(1) > a{
                    color: var(--oxynav-neutral-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2) > a{
                    color: var(--oxynav-brand-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:hover > a{
                    color: var(--oxynav-brand-color);
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(1) > a::after{
                    color: var(--oxynav-neutral-color);   
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:nth-last-child(2) > a::after{
                    color: var(--oxynav-brand-color);   
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true']:hover > a::after{
                    color: var(--oxynav-brand-color);   
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true'] > ul{
                    display: none;
                }
.oxy-site-navigation > ul:not(.open) > li[data-cta='true'] > button, .oxy-site-navigation > ul:not(.open) > li[data-cta='true'] > ul{
                    display: none;
                }

                .ct-section-inner-wrap, .oxy-header-container{
  max-width: 1440px;
}
body {font-family: 'Montserrat';}body {line-height: 1.6;font-size: 16px;font-weight: 400;color: #000000;}.oxy-nav-menu-hamburger-line {background-color: #000000;}h1, h2, h3, h4, h5, h6 {font-family: 'Montserrat';font-size: 36px;font-weight: 700;}h2, h3, h4, h5, h6{font-size: 30px;}h3, h4, h5, h6{font-size: 24px;}h4, h5, h6{font-size: 20px;}h5, h6{font-size: 18px;}h6{font-size: 16px;}a {color: #0074db;text-decoration: none;}a:hover {text-decoration: none;}.ct-link-text {text-decoration: ;}.ct-link {text-decoration: ;}.ct-link-button {border-radius: 3px;}.ct-section-inner-wrap {
padding-top: 75px;
padding-right: 20px;
padding-bottom: 75px;
padding-left: 20px;
}.ct-new-columns > .ct-div-block {
padding-top: 20px;
padding-right: 20px;
padding-bottom: 20px;
padding-left: 20px;
}.oxy-header-container {
padding-right: 20px;
padding-left: 20px;
}@media (max-width: 992px) {
				.ct-columns-inner-wrap {
					display: block !important;
				}
				.ct-columns-inner-wrap:after {
					display: table;
					clear: both;
					content: "";
				}
				.ct-column {
					width: 100% !important;
					margin: 0 !important;
				}
				.ct-columns-inner-wrap {
					margin: 0 !important;
				}
			}
.inscription {
}
.toggle-4618 {
 width:100%;
 padding-left:10px;
 padding-top:10px;
 padding-right:10px;
 padding-bottom:10px;
 background-color:#ffffff;
 border-top-color:rgba(0,0,0,0.28);
 border-right-color:rgba(0,0,0,0.28);
 border-bottom-color:rgba(0,0,0,0.28);
 border-left-color:rgba(0,0,0,0.28);
 border-top-width:0px;
 border-right-width:0px;
 border-bottom-width:0px;
 border-left-width:0px;
 border-top-style:solid;
 border-right-style:solid;
 border-bottom-style:solid;
 border-left-style:solid;
 box-shadow:0px 5px 13px 2px rgba(0,0,0,0.25);
}

                .toggle-4618 .oxy-expand-collapse-icon {
            font-size: 12px;        }
        
        
        .toggle-4618-expanded {
}
.bloc-responsable {
 min-width:425px;
}
@media (max-width: 991px) {
.bloc-responsable {
 min-width:0px;
}
}

.bloc-responsable-droite {
}
.logo_avec_ville {
 width:50%;
 height:50%;
 max-width:150px;
 max-height:80px;
}
.logo_avec_ville:not(.ct-section):not(.oxy-easy-posts),
.logo_avec_ville.oxy-easy-posts .oxy-posts,
.logo_avec_ville.ct-section .ct-section-inner-wrap{
display:flex;
align-items:center;
justify-content:center;
}
.tabs-1898-tab {
 transition-timing-function:hover;
 transition-property:background-color;
 transition-duration:0.4s;
 transition-delay:0s;
 padding-left:10px;
 padding-top:10px;
 padding-right:10px;
 padding-bottom:10px;
 background-color:#002a5a;
 text-align:center;
 max-width:620px;
white-space: nowrap;
}
.tabs-1898-tab:not(.ct-section):not(.oxy-easy-posts),
.tabs-1898-tab.oxy-easy-posts .oxy-posts,
.tabs-1898-tab.ct-section .ct-section-inner-wrap{
display:flex;
}
@media (max-width: 479px) {
.tabs-1898-tab {
 padding-right:10px;
 background-color:#002a5a;
}
.tabs-1898-tab:not(.ct-section):not(.oxy-easy-posts),
.tabs-1898-tab.oxy-easy-posts .oxy-posts,
.tabs-1898-tab.ct-section .ct-section-inner-wrap{
display:inline-block;
}
}

.tabs-1898-tab-active {
 background-color:#f55757;
}
.tabs-contents-1898-tab {
 background-color:#f3f3f3;
 padding-left:0px;
 padding-right:0px;
 box-shadow:0px 11px 19px 3px rgba(0,0,0,0);
}
.tabs-contents-1898-tab:not(.ct-section):not(.oxy-easy-posts),
.tabs-contents-1898-tab.oxy-easy-posts .oxy-posts,
.tabs-contents-1898-tab.ct-section .ct-section-inner-wrap{
display:flex;
}
.formation-card {
 background-color:rgba(17,17,17,0);
 gap:0px;
 width:100%;
}
.formation-card:not(.ct-section):not(.oxy-easy-posts),
.formation-card.oxy-easy-posts .oxy-posts,
.formation-card.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
flex-wrap:nowrap;
gap:0px;
}
.oxy-stock-content-styles {
}
.toggle-2117 {
}
.toggle-2117-expanded {
}
.toggle-0079 {
}
.toggle-0079-expanded {
}
.qualiopi {
}
@media (max-width: 479px) {
.qualiopi {
}
}

.tel {
 text-align:justify;
 min-width:290px;
 box-shadow:0px 3px 12px 1px rgba(0,0,0,0.4);
}
.tel:not(.ct-section):not(.oxy-easy-posts),
.tel.oxy-easy-posts .oxy-posts,
.tel.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
justify-content:center;
}
@media (max-width: 479px) {
.tel {
 min-width:0%;
}
}

.mail {
 background-color:#ffffff;
 padding-top:20px;
 padding-bottom:20px;
 padding-left:0px;
 padding-right:0px;
 min-width:290px;
 box-shadow:2px 2px 16px rgba(0,0,0,0.43);
}
.mail:not(.ct-section):not(.oxy-easy-posts),
.mail.oxy-easy-posts .oxy-posts,
.mail.ct-section .ct-section-inner-wrap{
display:flex;
align-items:center;
justify-content:center;
}
@media (max-width: 479px) {
.mail {
}
}

.carte {
 border-radius:8px;
 border-bottom-left-radius:8px;
 border-bottom-right-radius:8px;
 border-top-left-radius:0px;
 border-top-right-radius:0px;
 margin-bottom:-1px;
 width:100%;
}
@media (max-width: 479px) {
.carte {
 overflow:hidden;
 width:100%;
}
}

.image-avis {
}
.formation-grid {
}
.formation-grid:not(.ct-section):not(.oxy-easy-posts),
.formation-grid.oxy-easy-posts .oxy-posts,
.formation-grid.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
}
.image_journees {
 width:100px;
 height:100px;
 object-fit:contain;
}
.texte-tep {
 text-align:center;
}
@media (max-width: 479px) {
.texte-tep {
 text-align:center;
}
}

.image-restauration {
 margin-bottom:-6px;
 border-radius:0px;
 border-top-left-radius:0px;
 border-top-right-radius:0px;
 border-bottom-left-radius:0px;
 border-bottom-right-radius:0px;
}
.equipe_grid {
 min-width:680px;
}
@media (max-width: 1440px) {
.equipe_grid {
 min-width:0px;
}
}

.toggle-9086 {
 padding-left:10px;
 padding-right:10px;
 width:100%;
 border-top-width:1px;
 border-right-width:1px;
 border-bottom-width:1px;
 border-left-width:1px;
 border-top-color:#000000;
 border-right-color:#000000;
 border-bottom-color:#000000;
 border-left-color:#000000;
 padding-top:10px;
 padding-bottom:10px;
}

                .toggle-9086 .oxy-expand-collapse-icon {
            font-size: 8px;        }
        
                .toggle-9086 .oxy-expand-collapse-icon::before,
        .toggle-9086 .oxy-expand-collapse-icon::after {
            background-color: #000000;        }
        
        .toggle-9086-expanded {
}
.illustration {
}
.titre {
}
@media (max-width: 991px) {
.titre {
}
}

.titre_description {
}
@media (max-width: 767px) {
.titre_description {
}
}

.description {
}
@media (max-width: 479px) {
.description {
 padding-left:10px;
 padding-right:10px;
}
}

.texte_formation {
}
.texte-metier {
}
@media (max-width: 1440px) {
.texte-metier {
 width:80%;
}
}

@media (max-width: 767px) {
.texte-metier {
 width:100%;
}
.texte-metier:not(.ct-section):not(.oxy-easy-posts),
.texte-metier.oxy-easy-posts .oxy-posts,
.texte-metier.ct-section .ct-section-inner-wrap{
flex-direction:column;
}
}

@media (max-width: 479px) {
.texte-metier {
}
}

.domaine {
}
.content-area {
grid-column: span 2;
}
@media (max-width: 1440px) {
.content-area {
 width:80%;
}
}

@media (max-width: 991px) {
.content-area {
 width:100%;
}
}

@media (max-width: 479px) {
.content-area {
 width:100%;
grid-column: span 2;
}
}

.table-of-contents {
 width:100%;
 padding-top:80px;
 margin-top:0px;
 max-height:20%;
 visibility:visible;
 position:static;
 bottom:0px;
 left:0px;
 box-shadow:0px 2px 11px 16px rgba(0,0,0,0.25);
}
@media (max-width: 1440px) {
.table-of-contents {
 left:0px;
 top:0rem;
 visibility:visible;
 position:static;
grid-row : span 1;
}
}

.content-corps {
 line-height:1.8;
}
@media (max-width: 479px) {
.content-corps {
 text-align:center;
}
.content-corps:not(.ct-section):not(.oxy-easy-posts),
.content-corps.oxy-easy-posts .oxy-posts,
.content-corps.ct-section .ct-section-inner-wrap{
display:flex;
}
}

.table-of-contents-alt {
 visibility:hidden;
 z-index:-1;
 position:fixed;
}
@media (max-width: 1440px) {
.table-of-contents-alt {
 visibility:visible;
}
}

.image_background {
}
.btn {
}
.toggle-5642 {
transform:rotate(180deg) rotateX(180deg); width:100%;
 border-bottom-width:2px;
 border-bottom-color:rgba(0,0,0,0.05);
 border-bottom-style:solid;
 padding-bottom:20px;
}
.toggle-5642-expanded {
}
.toggle-9378 {
}
.toggle-9378-expanded {
}
.chiffres {
 color:#ffffff;
}
@media (max-width: 479px) {
.chiffres {
 font-size:30px;
}
}

.formations-accueil {
 width:100%;
}
@media (max-width: 991px) {
.formations-accueil {
}
.formations-accueil:not(.ct-section):not(.oxy-easy-posts),
.formations-accueil.oxy-easy-posts .oxy-posts,
.formations-accueil.ct-section .ct-section-inner-wrap{
display:grid;
display: grid !important;align-items: stretch;grid-template-columns: repeat(1, minmax(200px, 1fr));grid-column-gap: 20px;grid-row-gap: 20px;}
}

@media (max-width: 479px) {
.formations-accueil {
}
.formations-accueil:not(.ct-section):not(.oxy-easy-posts),
.formations-accueil.oxy-easy-posts .oxy-posts,
.formations-accueil.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
}
}

.form_accueil {
}
@media (max-width: 991px) {
.form_accueil {
 height:100%;
 min-height:100%;
}
}

.telephone_accueil {
}
.actualite_accueil {
}
.restaurant-pdf {
}
.toggle-2630 {
 width:100%;
}
.toggle-2630:not(.ct-section):not(.oxy-easy-posts),
.toggle-2630.oxy-easy-posts .oxy-posts,
.toggle-2630.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row-reverse;
}

                .toggle-2630 .oxy-expand-collapse-icon {
            font-size: 11px;        }
        
                .toggle-2630 .oxy-expand-collapse-icon::before,
        .toggle-2630 .oxy-expand-collapse-icon::after {
            background-color: #ffffff;        }
        
        .toggle-2630-expanded {
}
.btn-header {
}
.toggle-5835 {
}
.toggle-5835-expanded {
}
.toggle-5930 {
}
.toggle-5930-expanded {
}
.toggle-8295 {
transform:rotate(180deg) ; width:100%;
}

                .toggle-8295 .oxy-expand-collapse-icon {
            font-size: 18px;        }
        
                .toggle-8295 .oxy-expand-collapse-icon::before,
        .toggle-8295 .oxy-expand-collapse-icon::after {
            background-color: #ffffff;        }
        
        .toggle-8295-expanded {
}
.faq-section {
 gap:25px;
}
.faq-section .ct-section-inner-wrap {
padding-top: 0;
padding-right: 0;
padding-bottom: 0;
padding-left: 0;
}
.faq-section:not(.ct-section):not(.oxy-easy-posts),
.faq-section.oxy-easy-posts .oxy-posts,
.faq-section.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:center;
gap:25px;
}
@media (max-width: 479px) {
.faq-section {
 width:100%;
}
.faq-section .ct-section-inner-wrap {
padding-left: 0;
}
}

.candidater-tep {
 background-color:#ffffff;
}
.tabs-5789-tab:after{
  content:"";
}
.tabs-5789-tab:hover{
 transition-duration:0.3s;
}
.tabs-5789-tab {
 object-fit:fill;
}
@media (max-width: 991px) {
.tabs-5789-tab {
}
}

@media (max-width: 479px) {
.tabs-5789-tab {
 padding-right:0px;
 padding-left:0px;
}
}

.tabs-5789-tab-active {
}
.tabs-contents-5789-tab {
 gap:50px;
}
.tabs-contents-5789-tab:not(.ct-section):not(.oxy-easy-posts),
.tabs-contents-5789-tab.oxy-easy-posts .oxy-posts,
.tabs-contents-5789-tab.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
gap:50px;
}
@media (max-width: 1440px) {
.tabs-contents-5789-tab {
 gap:25px;
 text-align:left;
}
.tabs-contents-5789-tab:not(.ct-section):not(.oxy-easy-posts),
.tabs-contents-5789-tab.oxy-easy-posts .oxy-posts,
.tabs-contents-5789-tab.ct-section .ct-section-inner-wrap{
align-items:center;
gap:25px;
}
}

.texte-description {
 padding-bottom:0px;
}
.text_prerequis {
 text-align:center;
 color:#ffffff;
}
.pdf_fiche_tep {
 transition-duration:0.3s;
}
.tabs:hover{
}
.tabs {
 padding-bottom:0px;
 max-width:1400px;
}
.lp-truncated {
 margin-bottom:0px;
}
@media (max-width: 479px) {
.lp-truncated {
 text-align:center;
}
.lp-truncated:not(.ct-section):not(.oxy-easy-posts),
.lp-truncated.oxy-easy-posts .oxy-posts,
.lp-truncated.ct-section .ct-section-inner-wrap{
align-items:center;
justify-content:flex-start;
}
}

.hero {
}
.toggle-6662 {
}
.toggle-6662-expanded {
}
.formulaire {
}
.toggle-4500 {
transform:rotate(-180deg); width:100%;
}

        
                .toggle-4500 .oxy-expand-collapse-icon::before,
        .toggle-4500 .oxy-expand-collapse-icon::after {
            background-color: #ffffff;        }
        
        .toggle-4500-expanded {
}
.id {
}


.image-avis img {
  height : 100%;
  width : 100%;
}
.image_journees img {
  height: 100%;
  width: 100%;
  object-fit: contain;
  border-radius : 100%;
}

.image-restauration img {
  width:100%;
  height : auto;
}
.tabs-1898-tab:hover {
 background-color: #f15959;  
}

.equipe_grid {
  display: flex;
  flex-direction: row;
  justify-content: space-between; /* pousse les items sur les côtés */
  gap: 30px;
  background-color: #f3f3f3;
  width: 100%;
  flex-wrap: wrap;
}

.formations-grid {
  display: flex;
  flex-direction: row;
  justify-content: space-between; /* pousse les items sur les côtés */
  gap: 30px;
  background-color: #f3f3f3;
  width: 100%;
  flex-wrap: wrap;
}

.unslider ul li::marker {
  content:"";
}
@media (max-width: 1080px) {
  .formations-grid {
    justify-content: center;
  }
  .equipe_grid {
    justify-content: center;
  }
}

.texte-tep a {
  color: #f55757; 
}
.texte-tep a:hover {
  color : #002a5a;
}.illustration {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 560px; /* hauteur fixe pour centrer correctement */
  overflow: hidden;
  opacity: 0.6;
}

.illustration img {
  width: 100%;
  height: 100%;
  object-fit: cover;    /* remplit la div */
  object-position: center center; /* centre horizontal + vertical */
}
@media (max-width: 1300px) {
  #competence {
    background-image: none !important;
  }
}#div_block-31-289 a {
  padding: 15px;
  background: #002a5a;
  color: #fff;
  width: 100%;
  text-align: center;
  font-weight: 700;
}
#div_block-31-289 a:hover {
 background: #f15959;
}
#text_block-25-289 a {
  color: #002a5a;
}
#image_background_accueil img {
  width: 100%;
  hieght: 100%;
}
.formations-accueil .ct-div-block:hover {
  transform: translateY(-10px);
  transform: scale(1.05);
  transition: 0.3s ease;
}

.actualite-accueil picture:hover {
  transform: translateY(-10px);
  transform: scale(1.05);
  transition: 0.3s ease;
}
#div_block-127-186 a {
  color: white;
}.blur-out {
  animation: blurOut 0.3s ease-in forwards;
}

.blur-in {
  animation: blurIn 0.3s ease-out forwards;
}

@keyframes blurOut {
  from {
    opacity: 1;
    filter: blur(0px);
  }
  to {
    opacity: 0;
    filter: blur(10px);
  }
}

@keyframes blurIn {
  from {
    opacity: 0;
    filter: blur(10px);
  }
  to {
    opacity: 1;
    filter: blur(0px);
  }
}#text_block-92-19989 a,
#text_block-123-19989 a,
#text_block-130-19989 a {
  color: white;
  text-decoration: underline;
}

#text_block-92-19989 a:hover,
#text_block-123-19989 a:hover,
#text_block-130-19989 a:hover {
  color: #f55757;
}.tabs-5789-tab-active {
  color: #f55757 !important;
}
#text_block-233-287 a {
  color: #002a5a;
}/* --- 1. VARIABLES GLOBALES (Design System) --- */
:root {
  /* Échelle Typographique Fluide */
  /* Syntaxe : clamp(Minimum, Adaptable, Maximum) */
  --h1-size: clamp(1.8rem, 5vw + 0.5rem, 4rem);    /* 36px -> 72px */
  --h2-size: clamp(2rem, 4vw + 0.5rem, 2.5rem);  /* 30px -> 52px */
  --h3-size: clamp(1.5rem, 3vw + 0.5rem, 1.75rem);    /* 24px -> 40px */
  --h4-size: clamp(1.25rem, 2vw + 0.5rem, 1.25rem);  /* 20px -> 28px */
  --strong-size: clamp(1.15rem, 2vw + 0.5rem, 1.25rem);
  
  --p-size: clamp(1rem, 1vw + 0.5rem, 1.125rem);                                  /* 16px base */
  --lead-size: clamp(1.1rem, 1vw + 0.5rem, 1.35rem); /* Intro */
  --small-size: 0.875rem;                          /* 14px */

  /* Espacements & Hauteurs de ligne */
  --lh-titles: 1.15;
  --lh-body: 1.65;
  --section-space: clamp(4rem, 8vh, 8rem); /* Espacement entre sections */
  --ipms-red: #f55757;
    --ipms-blue-dark: #002a5a;
    --ipms-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
html {
  scroll-behavior: smooth;
}
/* --- 2. RESET & BASE --- */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-size: var(--p-size);
  line-height: var(--lh-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
button {
  all: unset;
}
br {
  display:block;
}
/* --- 3. TITRES (HEADINGS) --- */
h1, h2, h3, h4 {
  line-height: var(--lh-titles);
  font-weight: 700;
  color: #002a5a;
}

h1 { font-size: var(--h1-size); letter-spacing: -0.03em; font-style: italic; padding-right: 0.1em;}
h2 { font-size: var(--h2-size); letter-spacing: -0.02em; ; color: #002a5a}
h3 { font-size: var(--h3-size); letter-spacing: -0.01em; }
h4 { font-size: var(--h4-size); }
/* Style pour le texte mis en avant (Strong) */
strong, b {
  font-weight: 600;
  font-size: var(--p-size);
}

/* Optionnel : Une variante pour mettre en emphase de manière plus subtile */
em, i {
    font-style: italic;
    color: inherit;
}

/* Optionnel : Une classe pour surligner du texte de façon moderne */
.highlight {
    background: linear-gradient(120deg, rgba(245, 87, 87, 0.15) 0%, rgba(245, 87, 87, 0.15) 100%);
    padding: 0 2px;
    font-weight: 600;
}
/* --- 4. TEXTE & PARAGRAPHES --- */
p {
  max-width: 70ch; /* Limite la largeur pour une lecture confortable */
}

/* Paragraphe d'introduction */
.lead {
  font-size: var(--lead-size);
  font-weight: 500;
  color: #374151;
  line-height: 1.5;
  margin-bottom: 2rem;
}

/* Petits textes et légendes */
small, .caption {
  font-size: var(--small-size);
  color: var(--text-light);
  line-height: 1.4;
}

/* Liens */
a {
  color: #002a5a;
}

/* --- 5. LISTES --- */
ul, ol {
  padding-left: 1.5rem;
}

ul li::marker {
    content: "►"; /* Tu peux mettre un emoji comme "✅" ou un symbole */
    color: var(--ipms-blue-dark); /* Ta variable de couleur */
    font-weight: bold;
    font-size: 1.2em;
}
ul li {
    padding-left: 10px;
}
/* --- 6. MISE EN PAGE RÉUTILISABLE --- */
.container {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}

.section {
  padding: var(--section-space) 0;
}
.btn {
  align-items:center;
    text-decoration: none;
    white-space: nowrap;
    letter-spacing: 0.5px;
    background: var(--ipms-red);
    color: white;
    font-weight: 700 !important;
    font-size: 14px !important;
  padding: 12px 24px !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  text-align: center;
  justify-content:center;
}
.btn:hover {
  background-color: var(--ipms-blue-dark);
}

.btn.outline:hover {
    background: white;
    color: var(--ipms-blue-dark);
  box-shadow: inset 0 0 0 1px var(--ipms-blue-dark);
}

.btn.outline {
    background: var(--ipms-blue-dark);
    border-color: var(--ipms-blue-dark);
    color: white;
    font-weight: 700;
    text-decoration: none;
    font-size: 14px;
  padding: 12px 24px;
}
.btn.inline {
  background: var(--ipms-red);
  color: white;
}
.btn.inline:hover {
  background: white;
    color: var(--ipms-red);
  box-shadow: inset 0 0 0 1px var(--ipms-red);
}
.lp-truncated {
    max-height: 250px;
    overflow: hidden;
    position: relative;
    /* On crée un masque qui va de l'opaque (haut) au transparent (bas) */
    -webkit-mask-image: linear-gradient(to bottom, black 60%, transparent 100%);
    mask-image: linear-gradient(to bottom, black 60%, transparent 100%);
    transition: max-height 0.6s ease;
}

.lp-expanded {
    max-height: 5000px !important;
    -webkit-mask-image: none;
    mask-image: none;
}
.lp-expanded::after {
    opacity: 0; /* On cache le dégradé quand c'est ouvert */
}

/* Style du bouton SVG (rose) */
.lp-toggle-btn {
    background: none; border: none; color: #f55757;
    font-weight: 600; cursor: pointer; display: inline-flex;
    align-items: center; gap: 10px; padding: 10px 0; font-size: 14px;
}

.lp-icon {
    display: flex; align-items: center; justify-content: center;
    width: 22px; height: 22px; background-color: #f55757;
    color: white; border-radius: 50%;
}

.lp-icon svg { width: 12px; height: 12px; }
img {
  border-radius: 8px;
}
/* Desktop : ne pas couper le texte */
@media (min-width: 781px) {
    .lp-truncated {
        max-height: none !important;
        overflow: visible !important;
      -webkit-mask-image: none !important;
        mask-image: none !important;

    }
}
/* --- 7. AJUSTEMENTS MOBILE --- */
@media (max-width: 768px) {
  p {
    max-width: 100%; /* Utilise tout l'espace sur petit écran */
  }
  
}/* 1. Fix du CLS : On définit une hauteur fixe pour éviter le saut au chargement */
.partners-banner {
    padding: 40px 0;
    overflow: hidden;
    position: relative;
    width: 100%;
    min-height: 155px; /* Ajustez selon la hauteur de vos logos + padding */
}

.partners-track-wrapper {
    overflow: hidden;
    position: relative;
    width: 100%;
}

/* Les dégradés sur les côtés */
.partners-track-wrapper::before,
.partners-track-wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100px;
    z-index: 2;
    pointer-events: none;
}
.partners-track-wrapper::before {
    left: 0;
}
.partners-track-wrapper::after {
    right: 0;
}

/* 2. L'animation fluide : On utilise transform et non JS pour la performance */
.partners-track {
    display: flex;
    align-items: center;
    width: max-content;
    animation: scrollInfinite 60s linear infinite; /* Vitesse réglable ici */
    will-change: transform; /* Optimise le rendu GPU */
}

/* Pause au survol */
.partners-track:hover {
    animation-play-state: paused;
}

/* 3. Définition de l'animation */
@keyframes scrollInfinite {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); } /* On défile la moitié (la partie clonée) */
}

.partner-item {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 40px;
}

/* 4. Fix Taille inconnue : On donne des dimensions explicites pour Lighthouse */
.partner-item img {
    width: 150px;
    height: 75px;
    object-fit: contain;
    opacity: 0.7;
    transition: opacity 0.3s ease, transform 0.3s ease;
    filter: grayscale(100%);
}

.partner-item img:hover {
    opacity: 1;
    filter: grayscale(0%);
    transform: scale(1.05);
}

@media (max-width: 768px) {
    .partners-banner { min-height: 110px; }
    .partner-item { padding: 0 30px; }
    .partner-item img {
        width: 90px;
        height: 50px;
    }
}.telephone_accueil {
  display:flex;
  width : 90%;
  height: 70%;
}
.telephone_accueil a {
  color: white;
  display:flex;
  align-items :center;
  justify-content: space-between;
  background-color: #002a5a;
  width: 100%;
}
.telephone_accueil svg {
  width:15%;
  height:30%;
  color:white;
}

 .tel_svg {
  height: 50%;
}
.telephone_accueil a:hover .size-6 {
  transform: translateX(5px);
  transition: transform 0.3s ease-in-out;
}
@media(max-width:480px) {
  .tel_svg {
    height: 30%;
  }
  .telephone_accueil a {
    font-size: 12px;
  }
}/* Section Articles */
.articles-section {
    width: 100%;
    padding: 80px 20px;
}

.articles-container {
    max-width: 1200px;
    margin: 0 auto;
}

.articles-header {
    text-align: center;
    margin-bottom: 60px;
}

.articles-title {
    font-size: 36px;
    font-weight: 700;
    color: #002B5C;
    margin: 0 0 12px 0;
    letter-spacing: -0.5px;
}

.articles-subtitle {
    font-size: 18px;
    color: #5a6c7d;
    margin: 0;
    font-weight: 400;
}

.articles-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 32px;
}

.article-card {
    background: white;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 43, 92, 0.08);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 0;
    animation: fadeInUp 0.6s forwards;
    display: flex;
    flex-direction: column;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.article-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 40px rgba(0, 43, 92, 0.15);
}

.article-image {
    width: 100%;
    height: 220px;
    background-size: cover;
    background-position: center;
    position: relative;
    overflow: hidden;
}

.article-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(180deg, transparent 0%, rgba(0, 43, 92, 0.3) 100%);
    transition: opacity 0.3s ease;
}

.article-card:hover .article-overlay {
    opacity: 0.7;
}

.article-content {
    padding: 28px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex: 1;
}

.article-title {
    font-size: 22px;
    font-weight: 600;
    color: #002B5C;
    margin: 0 0 16px 0;
    line-height: 1.4;
    display: -webkit-box;
    
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.article-description {
    font-size: 15px;
    color: #5a6c7d;
    line-height: 1.6;
    margin: 0 0 24px 0;
    flex: 1;
    display: -webkit-box;
  -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}


/* Responsive */
@media (max-width: 768px) {
    .articles-section {
        padding: 40px 20px;
    }
    
    .articles-header {
        margin-bottom: 40px;
    }
    
    .articles-title {
        font-size: 28px;
    }
    
    .articles-subtitle {
        font-size: 16px;
    }
    
    .articles-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    
    .article-image {
        height: 200px;
    }
    
    .article-content {
        padding: 24px;
        align-items: center;
      justify-content: center;
    }
    
    .article-title {
        font-size: 20px;
    }
}

/* Variante sans image */
.article-card:not(:has(.article-image)) .article-content {
    padding: 32px;
}

/* Animation au survol pour les cartes sans image */
.article-card:not(:has(.article-image)):hover {
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
}

@media (prefers-reduced-motion: reduce) {
    .article-card {
        animation: none;
        opacity: 1;
    }
}/* ==========================================================================
   1. VARIABLES & RESET
   ========================================================================== */
:root {
    --h-height: 70px;            /* Hauteur du header */
    --c-primary: #002a5a;        /* Bleu IPMS */
    --c-accent: #FF5557;         /* Rouge/Rose IPMS */
    --c-text-dark: #1a1a1a;
    --c-text-light: #ffffff;
    --c-bg-dropdown: #ffffff;
    --c-border: #eaeaea;
    --w-container: 1400px;
    --trans-fast: 0.3s ease;
}

#masthead * { box-sizing: border-box; }

#masthead ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
#masthead ul li { list-style: none; }
#masthead ul li::marker { content: none; }

#masthead a {
    text-decoration: none;
}

/* ==========================================================================
   2. HEADER STRUCTURE (Sticky & Logo)
   ========================================================================== */
#masthead {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: var(--h-height);
    z-index: 1000;
    background-color: transparent;
    transition: transform 0.4s ease, background-color 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    align-items: center;
}

#masthead .container {
    width: 100%;
    max-width: var(--w-container);
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* --- États du Header --- */
#masthead.scrolled {
    background-color: #ffffff;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);
}

#masthead.hide-nav {
    transform: translateY(-100%);
}

.header-logo  {
    width: 85px;
    display: block;
    transition: opacity var(--trans-fast);
  border-radius: 0px;
}

/* ==========================================================================
   3. NAVIGATION DESKTOP (> 1024px)
   ========================================================================== */
@media (min-width: 1025px) {
    
    .nav-list {
        display: flex;
        gap: 30px;
        align-items: center;
    }

    .nav-item { position: relative; }

    /* Liens Principaux */
    .nav-item > .nav-link-wrapper > a,
    .nav-item > .nav-link-wrapper > span,
    .nav-item > a {
        font-weight: 500;
        font-size: 15px;
        color: var(--c-text-light); /* Blanc par défaut */
        padding: 30px 0;
        position: relative;
        cursor: pointer;
    }

    /* Couleur au Scroll */
    #masthead.scrolled .nav-item > .nav-link-wrapper > a,
    #masthead.scrolled .nav-item > .nav-link-wrapper > span,
    #masthead.scrolled .nav-item > a {
        color: var(--c-primary);
    }

    /* Soulignement */
    .nav-item > a::after,
    .nav-item > .nav-link-wrapper > a::after,
    .nav-item > .nav-link-wrapper > span::after {
        content: '';
        position: absolute;
        bottom: 20px;
        left: 0;
        width: 0;
        height: 2px;
        background-color: var(--c-accent);
        transition: width var(--trans-fast);
    }

    .nav-item:hover > a::after,
    .nav-item:hover > .nav-link-wrapper > a::after,
    .nav-item:hover > .nav-link-wrapper > span::after {
        width: 100%;
    }

    /* Masquer éléments mobile */
    .mobile-dropdown-trigger, .burger-btn, .mobile-only-btns, .mobile-sub-trigger {
        display: none !important;
    }

    .header-actions { display: flex; gap: 15px; }
}

/* ==========================================================================
   4. DROPDOWNS DESKTOP (Styles Généraux)
   ========================================================================== */
@media (min-width: 1025px) {
    .dropdown {
        position: absolute;
        top: 50px;
        left: 50%;
        transform: translateX(-50%) translateY(20px);
        background: var(--c-bg-dropdown);
        padding: 30px;
        box-shadow: 0 10px 40px rgba(0,0,0,0.1);
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease;
        min-width: 200px;
        z-index: 1100;
        pointer-events: none;
    }

    .nav-item:hover .dropdown {
        opacity: 1;
        visibility: visible;
        transform: translateX(-50%) translateY(0);
        pointer-events: auto;
    }
}

/* ==========================================================================
   5. MENU "FORMATIONS" (STYLE TIROIR / FLYOUT)
   ========================================================================== */
@media (min-width: 1025px) {
    .mega-menu-formations {
        display: flex;
        flex-direction: column;
        width: 260px; /* Largeur colonne mère */
        padding: 0;
        overflow: visible; /* IMPORTANT : Pour laisser sortir le tiroir */
        
        /* Ajustement position */
        transform: translateX(-50%) translateY(20px); 
    }
    
    .nav-item:hover .mega-menu-formations {
        transform: translateX(-50%) translateY(0);
    }

    /* Ligne Mère (Par Métier / Par Diplôme) */
    .mega-column {
        position: relative;
        width: 100%;
        border-bottom: 1px solid var(--c-border);
        background: white;
        transition: background-color 0.2s ease;
    }
    .mega-column:last-child { border-bottom: none; }
    .mega-column:hover { background-color: #f9f9f9; }

    /* Titre Mère */
    .column-header-wrapper {
        padding: 20px 25px;
        cursor: pointer;
        position: relative;
    }
    /* Petite flèche Desktop */
    .column-header-wrapper::after {
        content: '›';
        position: absolute;
        right: 20px;
      top:15px;
        font-size: 18px;
        color: var(--c-accent);
        font-weight: bold;
    }

    /* Le Tiroir (Contenu caché à droite) */
    .mega-menu-formations .column-content {
        display: none;
        position: absolute;
      top: 0px;
        left: 100%;      /* À droite de la colonne */
        width: 300px;
        min-height: 100%;
        background: white;
        box-shadow: 5px 5px 20px rgba(0,0,0,0.1);
        border: 1px solid var(--c-border);
        padding: 15px 0;
        flex-direction: column;
    }

    /* Affichage au survol */
    .mega-column:hover .column-content {
        display: flex !important;
        animation: slideRight 0.3s ease;
    }
    @keyframes slideRight {
        from { opacity: 0; transform: translateX(-10px); }
        to { opacity: 1; transform: translateX(0); }
    }
}

/* ==========================================================================
   6. AUTRES MENUS DESKTOP (Ecoles & Infos)
   ========================================================================== */
@media (min-width: 1025px) {
    /* Écoles : Grille */
    .mega-menu-ecoles {
        width: 900px;
        transform: translateX(-60%) translateY(20px);
        left: 300px;
    }
    .nav-item:hover .mega-menu-ecoles {
        transform: translateX(-60%) translateY(0);
    }

    .grid-regions {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 30px;
    }

    /* Infos Pratiques : Simple */
    .simple-dropdown {
        width: 220px;
        text-align: left;
    }
}

/* Styles des liens (Communs) */
.column-title a {
    color: var(--c-accent) !important;
    font-size: 14px;
}
.region-title {
    color: var(--c-accent) !important;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    border-bottom: 1px solid var(--c-border);
    padding-bottom: 8px;
    margin-bottom: 10px;
  margin-top: 20px;
}
.column-content a, .region-group a, .simple-dropdown a {
    display: block;
    color: var(--c-primary) !important;
    font-size: 14px;
    padding: 8px 25px; /* Padding pour le menu tiroir */
    border-bottom: 1px solid #f9f9f9;
    transition: all 0.2s ease;
}
.region-group a, .simple-dropdown a { padding: 8px 0; border-color: var(--c-border); }

/* Hover sur les liens finaux */
.column-content a:hover, .region-group a:hover, .simple-dropdown a:hover {
    color: var(--c-accent) !important;
    padding-left: 35px; /* Décalage tiroir */
    background-color: #fafafa;
}
.region-group a:hover, .simple-dropdown a:hover { padding-left: 8px; background: none; }


/* ==========================================================================
   7. STYLES MOBILES (< 1024px) - LE GROS MORCEAU
   ========================================================================== */
@media (max-width: 1024px) {
  .simple-dropdown {
    padding:20px !important;
  }
  .nav-link-wrapper span {
    color: #002a5a;
  }
    /* --- Burger Menu --- */
    .burger-btn {
        display: block;
        background: none;
        border: none;
        width: 30px;
        height: 24px;
        position: relative;
        cursor: pointer;
        z-index: 2000;
    }
    .burger-btn span {
        display: block;
        width: 100%;
        height: 2px;
        background-color: var(--c-text-light);
        position: absolute;
        transition: all 0.3s ease;
    }
    #masthead.scrolled .burger-btn span { background-color: var(--c-primary); }
    .burger-btn span:nth-child(1) { top: 0; }
    .burger-btn span:nth-child(2) { top: 50%; transform: translateY(-50%); }
    .burger-btn span:nth-child(3) { bottom: 0; }
    
    .burger-btn.active span:nth-child(1) { top: 50%; transform: rotate(45deg); background-color: var(--c-primary); }
    .burger-btn.active span:nth-child(2) { opacity: 0; }
    .burger-btn.active span:nth-child(3) { top: 50%; transform: rotate(-45deg); background-color: var(--c-primary); }

    /* --- Navigation Drawer --- */
    .header-actions { display: none; }
    
    .main-nav {
        position: fixed;
        top: 0; right: 0; bottom: 0;
        width: 100%;
        background: white;
        padding-top: var(--h-height);
        transform: translateX(100%);
        transition: transform 0.4s cubic-bezier(0.77, 0.2, 0.05, 1.0);
        box-shadow: -5px 0 20px rgba(0,0,0,0.1);
        overflow-y: auto;
        display: flex; flex-direction: column;
    }
    .main-nav.mobile-open { transform: translateX(0); }

    .nav-list { display: flex; flex-direction: column; width: 100%; }
    .nav-item { border-bottom: 1px solid var(--c-border); }
    
    .nav-link-wrapper {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
    }
    .nav-item > .nav-link-wrapper > a, 
    .nav-item > .nav-link-wrapper > span, 
    .nav-item > a {
        padding: 20px;
        font-size: 16px;
        font-weight: 600;
        display: block;
        flex-grow: 1;
    }

    /* --- Accordéon Niveau 1 (Flèche droite) --- */
    .mobile-dropdown-trigger {
        width: 50px; height: 50px;
        background: none; border: none;
        border-left: 1px solid var(--c-border);
        position: relative;
    }
    .mobile-dropdown-trigger::after {
        content: '';
        border: solid var(--c-primary);
        border-width: 0 2px 2px 0;
        display: inline-block;
        padding: 3px;
        transform: rotate(45deg);
        transition: transform 0.3s;
    }
    .nav-item.active-mobile .mobile-dropdown-trigger::after {
        transform: rotate(-135deg); border-color: var(--c-accent);
    }

    /* --- Le Dropdown Niveau 1 --- */
    .dropdown {
        position: static; /* Reset desktop */
        transform: none;
        opacity: 1; visibility: visible;
        box-shadow: none; padding: 0;
        width: 100%;
        display: none; /* Caché */
        background-color: #f4f6f8;
        pointer-events: auto !important; /* IMPORTANT */
    }
    .nav-item.active-mobile .dropdown {
        display: block;
        animation: slideDown 0.3s ease;
    }

    /* --- Reset Layout Desktop --- */
    .mega-menu-formations { width: 100%; display: none; transform: none; left: auto; }
    .mega-menu-ecoles { width: 100%; transform: none; left: auto; }
    .grid-regions { grid-template-columns: 1fr; gap: 0; padding: 20px; }
    .mega-column, .region-group { width: 100%; border-bottom: 1px solid #e0e0e0; position: static; padding: 0; }

    /* --- Accordéon Niveau 2 (Bouton Plus/Moins) --- */
    
    .column-header-wrapper {
        display: flex; justify-content: space-between; align-items: center;
        padding: 15px 20px;
    }
    /* Cacher flèche desktop */
    .column-header-wrapper::after { display: none; }

    /* Le Bouton [+] */
    .mobile-sub-trigger {
        display: block !important;
        width: 30px; height: 30px;
        background: transparent;
        border: 1px solid #ccc;
        border-radius: 50%;
        position: relative;
        cursor: pointer;
        flex-shrink: 0;
    }
    .mobile-sub-trigger::before, .mobile-sub-trigger::after {
        content: ''; position: absolute; top: 50%; left: 50%;
        background-color: var(--c-primary);
        transform: translate(-50%, -50%); transition: transform 0.3s;
    }
    .mobile-sub-trigger::before { width: 2px; height: 12px; }
    .mobile-sub-trigger::after { width: 12px; height: 2px; }

    /* État Actif [-] */
    .mega-column.active-sub .mobile-sub-trigger { background-color: var(--c-primary); border-color: var(--c-primary); }
    .mega-column.active-sub .mobile-sub-trigger::before { transform: translate(-50%, -50%) rotate(90deg); background-color: white; }
    .mega-column.active-sub .mobile-sub-trigger::after { background-color: white; }

    /* Le Contenu Niveau 2 */
    .mega-menu-formations .column-content {
        position: static; /* Reset desktop absolute */
        width: 100%; display: none !important;
        background: transparent; border: none; box-shadow: none; border-radius: 0;
        padding: 0 0 10px 20px;
        border-left: 2px solid var(--c-border);
        margin-left: 20px;
    }
    
    .mega-column.active-sub .column-content {
        display: block !important;
        animation: slideDownSub 0.3s ease;
    }

    /* Liens Mobile */
    .column-content a { padding: 10px 0; padding-left: 0; }
    .column-content a:hover { background: transparent; padding-left: 5px; }

    /* --- Boutons Mobile --- */
    .mobile-only-btns {
        margin-top: auto; padding: 20px;
        background: white;
        display: flex !important; flex-direction: column; gap: 15px;
      position: sticky;
      bottom: 0px;
        border-top: 2px solid var(--c-border);
    }
}

/* Animations */
@keyframes slideDown { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes slideDownSub { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }

/* Boutons Généraux */

body.no-scroll { overflow: hidden; }.slider-container {
  position: relative;
  overflow: visible;
  background: #032d5d;
  padding-left: 10px;
  padding-right: 10px;
  max-width: 100%;
  padding-top : 30px;
  padding-bottom : 30px;
}
/* Ajouter un wrapper pour gérer l'overflow */
.slider-overflow-wrapper {
  overflow: hidden;
  position: relative;
}

.slider-wrapper {
  display: flex;
  gap: 20px;
  transition: transform 0.4s ease-in-out;
}

.card {
  flex: 0 0 250px;
  perspective: 1000px;
  flex-shrink: 0;
  width: 100%;
}

.card-inner {
  position: relative;
  height: 350px;
  transform-style: preserve-3d;
  transition: transform 0.6s;
}

/* Séparer les effets hover et flip */
.card:not(.flipped):hover .card-inner {
  transform: scale(1.05);
}

.card:hover .card-inner {
  transform: scale(1.05);
}

.card.flipped .card-inner {
  transform: rotateY(180deg);
}

.card.flipped:hover .card-inner {
  transform: rotateY(180deg);
}

.card-front, .card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0,0,0,0.3);
  top: 0;        /* Ajouté */
  left: 0;       /* Ajouté */
}

.card-front {
  position: absolute;
  z-index: 2;    /* Ajouté */
}

.card-back {
  background: #fff;
  padding: 20px;
  transform: rotateY(180deg);
  display: flex;
  align-items: start;
  justify-content: center;
  text-align: left;
  z-index: 1;    /* Ajouté */
}

.card-img-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
}

.card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.7);
}

.card-overlay {
  position: absolute;
  inset: 0;
  background: rgba(220,0,0,0.5);
  opacity: 0;
  transition: opacity 0.3s;
}

.card:hover .card-overlay {
  opacity: 1;
}

.card-title {
  position: absolute;
  bottom: 200px;
  left: 0px;
  width: 100%;
  text-align: center;
  padding-right: 10px;
  padding-left: 10px;
  color: white;
  font-weight: bold;
  font-display: center;
}


.card-desc {
  font-size: 16px;
  color: #333;
}
.card-desc strong{
  font-size: 16px;
}

.slider-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  background: white;
  color: #032d5d;
  font-size: 32px;
  width: 40px;        /* Ajouté : largeur fixe */
  height: 40px;       /* Ajouté : hauteur fixe */
  padding: 0;         /* Changé : enlever le padding pour un cercle parfait */
  border-radius: 50%;
  cursor: pointer;
  z-index: 10;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  display: flex;              /* Ajouté : pour centrer le symbole */
  align-items: center;        /* Ajouté */
  justify-content: center;    /* Ajouté */
  transition: all 0.3s ease;  /* Ajouté : transition pour l'effet hover */
  padding-bottom: 3px;
}

.slider-btn:hover {
  background: #032d5d;
  color: white;
  transform: translateY(-50%) scale(1.1); /* Agrandit légèrement */
  box-shadow: 0 4px 12px rgba(0,0,0,0.4);
}

.slider-btn.prev {
  left: 5px;
}

.slider-btn.next {
  right: 5px;
}

/* Desktop standard (4 cartes) - GARDE TEL QUEL */
@media (min-width: 1200px) {
  .card {
    flex: 0 0 250px;
  }
  .card-inner {
    height: 350px;
  }
}

/* Tablette paysage (3 cartes) */
@media (max-width: 1199px) and (min-width: 992px) {
  .slider-container {
    padding: 30px 50px;
  }
  .card {
    flex: 0 0 280px;
  }
  .card-inner {
    height: 350px;
  }
}

/* Tablette portrait (2 cartes) */
@media (max-width: 991px) and (min-width: 768px) {
  .slider-container {
    padding: 25px 50px;
  }
  .card {
    flex: 0 0 320px;
  }
  .card-inner {
    height: 380px;
  }
  .slider-wrapper {
    gap: 25px;
  }
}

/* Mobile paysage (2 cartes) */
@media (max-width: 767px) and (min-width: 576px) {
  .slider-container {
    padding: 20px 40px;
  }
  .card {
    flex: 0 0 240px;
  }
  .card-inner {
    height: 320px;
  }
  .slider-wrapper {
    gap: 15px;
  }
  .slider-btn {
    width: 40px;
    height: 40px;
    font-size: 24px;
  }
}

/* Mobile portrait (1 carte) - GARDE TEL QUEL */
@media (max-width: 575px) {
  .slider-container {
    padding: 20px 15px;
    
  }
  .card {
    flex: 0 0 calc(100vw - 110px);
    max-width: 175px;
  }
  .card-inner {
    height: 250px;
  }
  .slider-wrapper {
    gap: 20px;
  }
  .card-title {
    top: 25%;
  }
  .card-desc {
    font-size: 10px;
  }
  .card-desc strong {
    font-size: 10px;
  }
  .card-desc-alt {
    font-size: 10px;
  }
  .card-desc-alt strong {
    font-size: 10px;
  }
  .slider-btn {
    width: 20px;
    height: 20px;
    font-size: 20px;
  }
  .slider-btn.prev {
    left: 5px;
  }
  .slider-btn.next {
    right: 5px;
  }
  .card-back {
    padding: 15px;
  }
}

/* Très petit mobile */
@media (max-width: 380px) {
  .slider-container {
    padding: 15px 30px;
  }
  .card {
    flex: 0 0 calc(100vw - 90px);
  }
  .card-inner {
    height: 250px;
  }
}
.slider-container-alt {
  position: relative;
  overflow: visible;
  padding-left: 10px;
  padding-right: 10px;
  max-width: 100%;
  padding-top : 30px;
  padding-bottom : 30px;
}
/* Ajouter un wrapper pour gérer l'overflow */
.slider-overflow-wrapper-alt {
  overflow: hidden;
  position: relative;
}

.slider-wrapper-alt {
  display: flex;
  gap: 20px;
  transition: transform 0.4s ease-in-out;
}

.card-alt {
  flex: 0 0 250px;
  perspective: 1000px;
}

.card-inner-alt {
  position: relative;
  height: 350px;
  transform-style: preserve-3d;
  transition: transform 0.6s;
}

/* Séparer les effets hover et flip */
.card-alt:not(.flipped):hover .card-inner-alt {
  transform: scale(1.05);
}

.card-alt:hover .card-inner-alt {
  transform: scale(1.05);
}

.card-alt.flipped .card-inner-alt {
  transform: rotateY(180deg);
}

.card-alt.flipped:hover .card-inner-alt {
  transform: rotateY(180deg);
}

.card-front-alt, .card-back-alt {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0,0,0,0.3);
  top: 0;        /* Ajouté */
  left: 0;       /* Ajouté */
}

.card-front-alt {
  position: absolute;
  z-index: 2;    /* Ajouté */
}

.card-back-alt {
  background: #fff;
  padding: 20px;
  transform: rotateY(180deg);
  display: flex;
  align-items: start;
  justify-content: center;
  text-align: left;
  z-index: 1;    /* Ajouté */
}

.card-img-wrapper-alt {
  position: relative;
  width: 100%;
  height: 100%;
}

.card-img-alt {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.7);
}

.card-overlay-alt {
  position: absolute;
  inset: 0;
  background: rgba(220,0,0,0.5);
  opacity: 0;
  transition: opacity 0.3s;
}

.card-alt:hover .card-overlay-alt {
  opacity: 1;
}

.card-title-alt {
  position: absolute;
  bottom: 200px;
  left: 0px;
  width: 100%;
  text-align: center;
  padding-right: 10px;
  padding-left: 10px;
  color: white;
  font-weight: bold;
  font-display: center;
}


.card-desc-alt {
  color: #333;
  line-height: 1.4em;
}

.slider-btn-alt {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  background: #032d5d;
  color: #fff;
  font-size: 32px;
  width: 30px;        /* Ajouté : largeur fixe */
  height: 30px;       /* Ajouté : hauteur fixe */
  padding: 0;         /* Changé : enlever le padding pour un cercle parfait */
  border-radius: 50%;
  cursor: pointer;
  z-index: 10;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  display: flex;              /* Ajouté : pour centrer le symbole */
  align-items: center;        /* Ajouté */
  justify-content: center;    /* Ajouté */
  transition: all 0.3s ease;  /* Ajouté : transition pour l'effet hover */
  padding-bottom: 3px;
}

.slider-btn-alt:hover {
  background: #032d5d;
  color: white;
  transform: translateY(-50%) scale(1.1); /* Agrandit légèrement */
  box-shadow: 0 4px 12px rgba(0,0,0,0.4);
}

.slider-btn-alt.prev {
  left: 5px;
}

.slider-btn-alt.next {
  right: 5px;
}

/* Desktop standard (4 cartes) - GARDE TEL QUEL */
@media (min-width: 1200px) {
  .card-alt {
    flex: 0 0 250px;
  }
  .card-inner-alt {
    height: 350px;
  }
}

/* Tablette paysage (3 cartes) */
@media (max-width: 1199px) and (min-width: 992px) {
  .slider-container-alt {
    padding: 30px 50px;
  }
  .card-alt {
    flex: 0 0 280px;
  }
  .card-inner-alt {
    height: 350px;
  }
}

/* Tablette portrait (2 cartes) */
@media (max-width: 991px) and (min-width: 768px) {
  .slider-container-alt {
    padding: 25px 50px;
  }
  .card-alt {
    flex: 0 0 320px;
  }
  .card-inner-alt {
    height: 380px;
  }
  .slider-wrapper-alt {
    gap: 25px;
  }
}

/* Mobile paysage (2 cartes) */
@media (max-width: 767px) and (min-width: 576px) {
  .slider-container-alt {
    padding: 20px 40px;
  }
  .card-alt {
    flex: 0 0 240px;
  }
  .card-inner-alt {
    height: 320px;
  }
  .slider-wrapper-alt {
    gap: 15px;
  }
  .card-title-alt {
  }
  .slider-btn-alt {
    width: 40px;
    height: 40px;
    font-size: 24px;
  }
}

/* Mobile portrait (1 carte) - GARDE TEL QUEL */
@media (max-width: 575px) {
  .slider-container-alt {
    padding: 20px 15px;
    
  }
  .card-alt {
    flex: 0 0 calc(100vw - 110px);
    max-width: 175px;
  }
  .card-inner-alt {
    height: 250px;
  }
  .slider-wrapper-alt {
    gap: 20px;
  }
  .card-title-alt {
    font-size: 16px;
    top: 25%;
  }
  .card-desc-alt {
  }
  .slider-btn-alt {
    width: 20px;
    height: 20px;
    font-size: 20px;
  }
  .slider-btn-alt.prev {
    left: 5px;
  }
  .slider-btn-alt.next {
    right: 5px;
  }
  .card-back-alt {
    padding: 15px;
  }
}

/* Très petit mobile */
@media (max-width: 380px) {
  .slider-container-alt {
    padding: 15px 30px;
  }
  .card-alt {
    flex: 0 0 calc(100vw - 90px);
  }
  .card-inner-alt {
    height: 250px;
  }
}
.gmap-container {
    display: flex;
    gap: 30px;
    max-width: 1400px;
    margin: 0 auto;
    padding: 20px;
}

.gmap-wrapper {
    flex: 2;
    height: 500px;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}
.gmap-wrapper img {
  border-radius: 0px;
}

#gmap {
    width: 100%;
    height: 100%;
}

.gmap-sidebar {
    flex: 1;
    background: #f8f9fa;
    border-radius: 12px;
    padding: 25px;
    max-height: 500px;
    overflow-y: auto;
}

.gmap-sidebar h3 {
    color: #1E3A5F;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid #FF6B6B;
}

.ecole-card {
    background: white;
    padding: 15px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: all 0.3s;
    border-right: 3px solid transparent;
}

.ecole-card:hover,
.ecole-card.active {
    border-right-color: #FF6B6B;
}

.ecole-card.loading {
    opacity: 0.5;
}

.ecole-card.geocode-error {
    opacity: 0.5;
    cursor: default;
    border-left-color: #ccc;
}

.ecole-card strong {
    color: #1E3A5F;
    margin: 0 0 5px;
    font-size: 16px;
}

.ecole-card p {
    color: rgba(0,0,0,0.75);
    margin: 0;
    font-size: 12px;
}

.gmap-info {
    text-align: center;
    color: #888;
    padding: 20px;
}

.gmap-loading {
    text-align: center;
    color: #FF6B6B;
    padding: 10px;
    font-weight: 600;
}

.marker-ipms {
    width: 30px;
    height: 30px;
    background: #FF6B6B;
    border: 3px solid white;
    border-radius: 50%;
    box-shadow: 0 2px 10px rgba(0,0,0,0.3);
    cursor: pointer;
    transition: all 0.3s ease;
}

.marker-ipms:hover,
.marker-ipms.active {
    background: #1E3A5F;
    transform: scale(1.2);
}
/* Style par défaut (Desktop) : Caché */
.mobile-city-filter {
  margin-bottom: 20px;
    display: none;
}

@media (max-width: 968px) {
  .gmap-container {
    flex-direction: column;
  }
  .mobile-city-filter {
        display: block;
    }
    .ecole-card {
      display: none;
    }
    .mobile-city-filter select {
        width: 100%;
        padding: 12px;
        border: 2px solid #e0e0e0;
        border-radius: 8px;
        background-color: white;
        font-size: 16px;
        color: #1E3A5F;
        outline: none;
        appearance: none; /* Supprime le style par défaut du navigateur */
        background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%231E3A5F%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
        background-repeat: no-repeat;
        background-position: right 15px top 50%;
        background-size: 12px auto;
    }
    
    .mobile-city-filter select:focus {
        border-color: #FF6B6B;
    }
    .gmap-container {
      flex-direction: column-reverse;
    }
  .gmap-wrapper {
        flex: none;          /* Désactive flex-grow/shrink */
        height: 400px;       /* Hauteur fixe explicite */
        width: 100%;         /* Prend toute la largeur */
    }
    .gmap-wrapper {
        height: 400px;
    }
}.formulaire-jpo {
			height: 100%;
            margin: 10px auto;
            padding: 0;
            background-color: transparent;
            border: none;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 15px;
        }
.formulaire-jpo button {
  cursor: pointer;
}
        .form-field {
            margin-bottom: 0;
			}

        .form-field label {
            display: block;
            margin-bottom: 8px;
            font-size: 0.75rem;
            color: #333;
            font-weight: 400;
        }

        .formulaire-jpo input,
        .formulaire-jpo textarea,
        .formulaire-jpo select {
            width: 100%;
            padding: 12px 15px;
            border: 1px solid #e0e0e0;
            font-size: 1rem;
            background-color: #f5f5f5;
            transition: all 0.3s;
            box-sizing: border-box;
            font-weight: 400;
        }

        .formulaire-jpo input::placeholder,
        .formulaire-jpo textarea::placeholder {
            color: #999;
        }

        .formulaire-jpo input:focus,
        .formulaire-jpo textarea:focus,
        .formulaire-jpo select:focus {
            border-color: #002A5A;
            outline: none;
            background-color: #fff;
            box-shadow: 0 2px 8px rgba(0,42,90,0.1);
        }

        .formulaire-jpo textarea {
            resize: vertical;
            min-height: 80px;
        }
			.full-width {
				grid-column : 2 span;
			}
        .formulaire-jpo select {
            appearance: none;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: right 15px center;
            background-size: 12px;
            padding-right: 40px;
            cursor: pointer;
        }
        
        .form-submit-button {
                grid-column-start: span 2;
              grid-column-end: auto;
            padding: 15px 20px;
            background-color: #f55757;
            border: none;
            color: #fff;
            font-size: 1rem;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s;
            box-shadow: 0 2px 8px rgba(245,87,87,0.3);
            margin-top: 20px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            width: auto;
        }
        
        .form-submit-button:hover {
            background-color: #002A5A;
            box-shadow: 0 4px 12px rgba(0,42,90,0.4);
            transform: translateY(-2px);
        }
#div_block-127-186 a {
  color: white;
}
        @media (max-width: 768px) {
            .formulaire-jpo {
                display: flex;
              flex-direction: column;
            }

            .form-field.full-width,
            .form-submit-button {
                grid-column: 1;
            }
        }.image-11-182 img{
width: 100%; height: 100%; object-fit: cover; /* couvre tout le parent, recadre si nécessaire */
}
.btn-voir-plus{
background-size: auto auto; background-color:#fff2f2;
}
