.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: 1120px;
}
body {font-family: 'Archivo';}body {line-height: 1.6;font-size: 16px;font-weight: 400;color: #404040;}.oxy-nav-menu-hamburger-line {background-color: #404040;}h1, h2, h3, h4, h5, h6 {font-family: 'Archivo';font-size: clamp(2.25rem, 1.5rem + 2.5vw, 4rem) ;font-weight: 300;line-height: 1.1;}h2, h3, h4, h5, h6{font-size: clamp(32px, calc(5.47vw - 38px), 48px); ;line-height: 1.1;}h3, h4, h5, h6{font-size: clamp(22px, calc(3.125vw - 18px), 42px) ;}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;
				}
			}
.oxel_accordion {
 border-top-color:#adb4b9;
 border-right-color:#adb4b9;
 border-bottom-color:#adb4b9;
 border-left-color:#adb4b9;
 border-top-width:1px;
 border-right-width:1px;
 border-bottom-width:1px;
 border-left-width:1px;
 border-top-style:none;
 border-right-style:none;
 border-bottom-style:none;
 border-left-style:none;
 width:100%;
 background-color:rgba(0,0,0,0);
}
.oxel_accordion__row {
 font-family:Archivo;
 width:100%;
 padding-top:12px;
 padding-left:8px;
 padding-right:8px;
 padding-bottom:12px;
 text-align:justify;
 border-bottom-color:#eceeef;
 border-bottom-width:1px;
 border-bottom-style:solid;
 border-top-style:solid;
 border-right-style:none;
 border-left-style:none;
 font-weight:600;
 background-color:rgba(0,0,0,0);
 border-top-color:#cbcbcb;
 border-top-width:1px;
cursor: pointer;
}
.oxel_accordion__row:not(.ct-section):not(.oxy-easy-posts),
.oxel_accordion__row.oxy-easy-posts .oxy-posts,
.oxel_accordion__row.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:row;
align-items:center;
justify-content:space-between;
}
@media (max-width: 479px) {
.oxel_accordion__row {
 gap:&px;
 padding-left:0px;
 padding-right:0px;
}
.oxel_accordion__row:not(.ct-section):not(.oxy-easy-posts),
.oxel_accordion__row.oxy-easy-posts .oxy-posts,
.oxel_accordion__row.ct-section .ct-section-inner-wrap{
gap:&px;
}
}

.oxel_accordion__icon {
color: #374047;}.oxel_accordion__icon 
>svg {width: 18px;height: 18px;}.oxel_accordion__icon {
 margin-right:8px;
 transition-duration:0.3s;
}
@media (max-width: 479px) {
.oxel_accordion__icon {
 height:25px;
}
}

.oxel_accordion__row_left {
 text-align:center;
 gap:5px;
}
.oxel_accordion__row_left:not(.ct-section):not(.oxy-easy-posts),
.oxel_accordion__row_left.oxy-easy-posts .oxy-posts,
.oxel_accordion__row_left.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:flex-start;
gap:5px;
}
@media (max-width: 479px) {
.oxel_accordion__row_left {
 gap:10px;
}
.oxel_accordion__row_left:not(.ct-section):not(.oxy-easy-posts),
.oxel_accordion__row_left.oxy-easy-posts .oxy-posts,
.oxel_accordion__row_left.ct-section .ct-section-inner-wrap{
gap:10px;
}
}

.oxel_accordion__content {
 width:100%;
 padding-top:8px;
 padding-left:8px;
 padding-right:8px;
 padding-bottom:8px;
 border-bottom-color:#98a1a8;
 border-bottom-width:2px;
 border-bottom-style:none;
 overflow:hidden;
 opacity:1;
 transition-duration:3s;
 border-top-style:none;
 border-right-style:none;
 border-left-style:none;
 transition-property:max-height;
 text-align:left;
 max-height:3000px;
 margin-top:0px;
}
.oxel_accordion__content:not(.ct-section):not(.oxy-easy-posts),
.oxel_accordion__content.oxy-easy-posts .oxy-posts,
.oxel_accordion__content.ct-section .ct-section-inner-wrap{
display:flex;
flex-direction:column;
align-items:flex-start;
}
.oxel_accordion__content__hidden {
 max-height:0px;
 padding-left:8px;
 padding-right:8px;
 padding-top:0px;
 z-index:-1;
 padding-bottom:0px;
 transition-duration:0s;
}
.oxel_accordion__content__hidden:not(.ct-section):not(.oxy-easy-posts),
.oxel_accordion__content__hidden.oxy-easy-posts .oxy-posts,
.oxel_accordion__content__hidden.ct-section .ct-section-inner-wrap{
display:flex;
}
.oxel_accordion__row__label {
}
.header-menu {
}
.footer-menu {
}
.primary:hover{
background-color :#17280e;
border: 1px solid #17280e;
}.primary:hover{
}
.primary {
 font-family:Archivo;
 background-color:#59954b;
 border-radius:10px;
 button-hover_color:#17280e;
 padding-left:22px;
 padding-right:22px;
 padding-top:8px;
 padding-bottom:8px;
 border-top-style:solid;
 border-right-style:solid;
 border-bottom-style:solid;
 border-left-style:solid;
 border-top-color:#59954b;
 border-right-color:#59954b;
 border-bottom-color:#59954b;
 border-left-color:#59954b;
}
@media (max-width: 767px) {
.primary {
 padding-left:14px;
 padding-right:14px;
 padding-top:6px;
 padding-bottom:6px;
}
}

@media (max-width: 479px) {
.primary {
 width:100%;
}
}

.secondary:hover{
background-color :#59954b;
border: 1px solid #59954b;
}.secondary:hover{
}
.secondary {
 font-family:Archivo;
 border-radius:10px;
 button-hover_color:#59954b;
 padding-left:22px;
 padding-right:22px;
 padding-top:8px;
 padding-bottom:8px;
 border-top-style:solid;
 border-right-style:solid;
 border-bottom-style:solid;
 border-left-style:solid;
 border-top-width:1px;
 border-right-width:1px;
 border-bottom-width:1px;
 border-left-width:1px;
 border-top-color:#ffffff;
 border-right-color:#ffffff;
 border-bottom-color:#ffffff;
 border-left-color:#ffffff;
}
@media (max-width: 767px) {
.secondary {
 padding-top:6px;
 padding-bottom:6px;
 padding-left:16px;
 padding-right:16px;
}
}

@media (max-width: 479px) {
.secondary {
 width:100%;
}
}

.surtitle {
 font-family:'JetBrains Mono';
 color:#59954b;
 font-size:13px;
}
.area-pill {
 color:#ffffff;
 border-top-style:solid;
 border-right-style:solid;
 border-bottom-style:solid;
 border-left-style:solid;
 border-top-color:#f2dfac;
 border-right-color:#f2dfac;
 border-bottom-color:#f2dfac;
 border-left-color:#f2dfac;
 border-radius:24px;
 padding-left:12px;
 padding-right:12px;
 padding-top:2px;
 padding-bottom:2px;
 background-color:#483221;
 border-top-width:0.5px;
 border-right-width:0.5px;
 border-bottom-width:0.5px;
 border-left-width:0.5px;
}
.engagements-grid {
}
.contact {
}
.oxy-close-modal {
 position:absolute;
 top:10px;
 right:10px;
cursor:pointer;
}
/* Adapte le sélecteur à ton menu (ici exemple Oxygen / nav générique). */
.header-menu ul > li:not(:first-child):not(:nth-last-child(-n+1)) a{
    border-left: 1px solid rgba(255, 255, 255, 0.5);
}
.header-menu ul > li a {
    padding-left: 1.35rem;
    padding-right: 1.35rem;
  }

.header-menu ul > li.contact a {
  border-radius:10px;
  background-color:#59954B;
}

.footer-menu ul > li:not(:first-child):not(:nth-last-child(-n+1)) a{
    border-left: 1px solid rgba(0, 0, 0, 0.5);
}

.footer-menu ul > li a:not(first-child) {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
.footer-menu ul > li:first-child a {
  padding-left:0;
}
.footer-menu ul > li.contact a {
  border-radius:10px;
  background-color:#59954B;
  color:#fff !important;
}

h1, h2, h3 {
    text-wrap: balance;        /* Équilibre les fins de lignes — magique */
    text-wrap: pretty;         /* fallback récent : évite veuves/orphelines */
}

/*engagements grid*/
/* Grille principale */
.engagements-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    grid-template-rows: minmax(420px, auto) minmax(260px, auto) !important;
    gap: 1.25rem !important;
    align-items: stretch !important;
}

/* Chaque carte = flex column */
.engagements-grid > .ct-div-block {
    display: flex !important;
    flex-direction: column !important;
    padding: 2rem !important;
    border-radius: 18px !important;
    box-sizing: border-box !important;
    height: auto !important;          /* override hauteur Oxygen si posée */
}

/* Wrapper interne prend l'espace dispo */
.engagements-grid > .ct-div-block > .ct-div-block {
    flex: 1 1 auto !important;
}

/* Logo + bouton collés en bas */
.engagements-grid > .ct-div-block > img,
.engagements-grid > .ct-div-block > a.ct-link-button {
    margin-top: auto !important;
    align-self: flex-start !important;
}

/* === Cartes spécifiques (couleurs et fond) === */

grecaptcha-badge { visibility: hidden !important; }

/* Pages légales — réduction du gap du flex conteneur */
body.page-id-86 .service-body__inner,
body.page-id-93 .service-body__inner{
    gap:40px !important;
}

body.page-id-86 .oxy-nav-menu .menu-item:not(.contact) > a,
body.page-id-93 .oxy-nav-menu .menu-item:not(.contact) > a{
    color:#1a1617 !important;
}
body.page-id-86 .oxy-nav-menu .menu-item:not(.contact) > a:hover,
body.page-id-93 .oxy-nav-menu .menu-item:not(.contact) > a:hover{
    color:#59954b !important;
}



/* === Responsive === */
@media (max-width: 960px) {
    .engagements-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        grid-template-rows: auto !important;
    }
}

@media (max-width: 600px) {
    .engagements-grid {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto !important;
    }
  .engagements-grid > .ct-div-block {

    padding: 1rem !important;
}
      }/* ============================================
   Garonne Ouvrage — Formulaire de contact (CF7)
   Archivo · Vert #59954b · Sauge #e5f7d7
   ============================================ */

/* Charger Archivo (idéalement via enqueue WP, sinon décommenter) */
/* @import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700&display=swap'); */

.go-form {
  --go-green: #59954b;
  --go-green-dark: #4a7e3f;
  --go-sage: #e5f7d7;
  --go-ink: #1a202c;
  --go-muted: #707a72;
  --go-border: #d6ddd2;
  --go-field-bg: #ffffff;
  --go-radius: 10px;

  font-family: "Archivo", system-ui, -apple-system, sans-serif;
  color: var(--go-ink);
  max-width: 640px;
  margin: 0 auto;
  font-size: 16px;
  line-height: 1.5;
}

/* Lignes / colonnes */
.go-row { display: grid; grid-template-columns: 1fr; gap: 1rem; margin-bottom: 0; }
.go-row--2 { grid-template-columns: 1fr 1fr; }
.go-field { margin-bottom: 1rem; }
.go-row .go-field { margin-bottom: 0; }

/* Labels */
.go-field > label {
  display: block; font-weight: 600; font-size: .9rem;
  margin-bottom: .4rem; letter-spacing: .01em;
}
.go-req { color: var(--go-green); }

/* CF7 wrap en bloc pour width 100% */
.go-form .wpcf7-form-control-wrap { display: block; }

/* Champs */
.go-form input[type="text"],
.go-form input[type="email"],
.go-form input[type="tel"],
.go-form select,
.go-form textarea {
  width: 100%; box-sizing: border-box;
  padding: .75rem .9rem;
  font-family: inherit; font-size: 1rem; color: var(--go-ink);
  background: var(--go-field-bg);
  border: 1px solid var(--go-border);
  border-radius: var(--go-radius);
  transition: border-color .15s ease, box-shadow .15s ease;
  -webkit-appearance: none; appearance: none;
}
.go-form textarea { min-height: 140px; resize: vertical; }
.go-form ::placeholder { color: var(--go-muted); opacity: 1; }

/* Focus */
.go-form input:focus,
.go-form select:focus,
.go-form textarea:focus {
  outline: none;
  border-color: var(--go-green);
  box-shadow: 0 0 0 3px var(--go-sage);
}

/* Select : flèche custom */
.go-form select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath fill='none' stroke='%231a202c' stroke-width='2' d='M1 1l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding-right: 2.6rem; cursor: pointer;
}

/* Consentement */
.go-field--consent { font-size: .875rem; color: var(--go-muted); }
.go-form .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.go-form .wpcf7-acceptance label {
  display: flex; align-items: flex-start; gap: .6rem;
  cursor: pointer; font-weight: 400;
}
.go-form .wpcf7-acceptance input[type="checkbox"] {
  width: 1.15rem; height: 1.15rem; margin: .1rem 0 0;
  accent-color: var(--go-green); flex: 0 0 auto; cursor: pointer;
}
.go-field--consent a { color: var(--go-green); text-decoration: underline; }

/* Bouton */
.go-field--submit { margin-top: 1.25rem; }
.go-form .wpcf7-submit {
  font-family: inherit; font-weight: 700; font-size: 1.05rem;
  color: #fff; background: var(--go-green);
  border: none; border-radius: var(--go-radius);
  padding: .85rem 2rem; cursor: pointer; width: 100%;
  transition: background .15s ease, transform .05s ease;
}
.go-form .wpcf7-submit:hover { background: var(--go-green-dark); }
.go-form .wpcf7-submit:focus-visible {
  outline: none; box-shadow: 0 0 0 3px var(--go-sage), 0 0 0 5px var(--go-green);
}
.go-form .wpcf7-submit:active { transform: translateY(1px); }
.go-form .wpcf7-spinner { margin: .5rem auto 0; }

/* Validation CF7 */
.go-form .wpcf7-not-valid { border-color: #d64545 !important; }
.go-form .wpcf7-not-valid-tip {
  display: block; color: #d64545; font-size: .8rem; margin-top: .35rem;
}

/* Message global CF7 */
.wpcf7-form .wpcf7-response-output {
  max-width: 640px; margin: 1.25rem auto 0;
  padding: .85rem 1rem; border-radius: var(--go-radius);
  font-size: .9rem; border: 1px solid;
}
.wpcf7-form.sent .wpcf7-response-output {
  background: var(--go-sage); border-color: #59954b; color: #2f5a26;
}
.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.failed .wpcf7-response-output {
  background: #fdecec; border-color: #d64545; color: #a32525;
}

/* Autocomplete adresse (BAN) */
.go-field--autocomplete { position: relative; }

.go-ac-list {
  position: absolute; z-index: 30;
  top: calc(100% + 4px); left: 0; right: 0;
  list-style: none; margin: 0; padding: .3rem;
  background: #fff;
  border: 1px solid var(--go-border, #d6ddd2);
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(26,32,44,.12);
  max-height: 260px; overflow-y: auto;
  display: none;
}
.go-ac-list.is-open { display: block; }

.go-ac-item {
  display: flex; flex-direction: column; gap: .1rem;
  padding: .55rem .7rem; border-radius: 7px; cursor: pointer;
}
.go-ac-item:hover,
.go-ac-item.is-active { background: var(--go-sage, #e5f7d7); }

.go-ac-street { font-size: .95rem; font-weight: 500; color: #1a202c; }
.go-ac-city   { font-size: .8rem; color: #707a72; }

/* Header — caché desktop, visible mobile uniquement */
.go-form-header { display: none; }

@media (max-width: 600px) {
  .go-form { font-size: 14.5px; }

  /* Header sticky mobile — respect du notch / safe area iOS */
  .go-form-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: max(.75rem, env(safe-area-inset-top)) 1rem .75rem;
    margin: 0 0 1rem;
    background: #fff;
    border-bottom: 1px solid var(--go-border);
    position: sticky;
    top: 0;
    z-index: 10;
  }
  .go-form-title {
    font-weight: 600;
    font-size: .9rem;
    color: var(--go-ink);
  }
  .go-form-close {
    background: transparent;
    border: 0;
    color: var(--go-ink);
    padding: .35rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background .15s ease;
  }
  .go-form-close:hover { background: rgba(0,0,0,.05); }
  .go-form-close:focus-visible {
    outline: 2px solid var(--go-green);
    outline-offset: 2px;
  }

  /* Prenom/nom en 2 cols, le reste stack */
  .go-row { gap: .4rem; }
  .go-row--2:first-of-type {
    grid-template-columns: 1fr 1fr;
    gap: .5rem;
  }
  .go-row--2:not(:first-of-type) {
    grid-template-columns: 1fr;
  }

  /* Espacement vertical resserré (avant: .65rem) */
  .go-field { margin-bottom: .4rem; }
  .go-field > label {
    font-size: .78rem;
    margin-bottom: .2rem;
    font-weight: 600;
  }

  /* Inputs compacts */
  .go-form input[type="text"],
  .go-form input[type="email"],
  .go-form input[type="tel"],
  .go-form select,
  .go-form textarea {
    padding: .55rem .7rem;
    font-size: 14.5px;
    border-radius: 8px;
  }
  .go-form ::placeholder { font-size: 14px; }
  .go-form textarea { min-height: 100px; }

  .go-form select {
    background-position: right .7rem center;
    padding-right: 2rem;
  }

  /* Consentement compact */
  .go-field--consent { font-size: .72rem; line-height: 1.4; }
  .go-form .wpcf7-acceptance label { gap: .45rem; }
  .go-form .wpcf7-acceptance input[type="checkbox"] {
    width: .95rem; height: .95rem;
  }

  /* Submit compact */
  .go-field--submit { margin-top: .6rem; }
  .go-form .wpcf7-submit {
    padding: .7rem 1.5rem;
    font-size: .95rem;
  }
}

@media (max-width: 360px) {
  .go-form .go-row--2:first-of-type {
    grid-template-columns: 1fr;
  }
}


/* Très petits écrans : on stacke aussi prenom/nom */
@media (max-width: 360px) {
  .go-form .go-row--2:first-of-type {
    grid-template-columns: 1fr;
  }
  .go-form-title { display: none; } /* Plus de place pour le bouton retour */
}


/* Très petits écrans : on stacke aussi prenom/nom */
@media (max-width: 360px) {
  .go-form .go-row--2:first-of-type {
    grid-template-columns: 1fr;
  }
}
/* Header du formulaire — caché desktop, visible mobile */
.go-form-header { display: none; }
/* ============================================
   Garonne Ouvrage — CF7 : retours & validation
   Succès / avertissement / erreur (Archivo)
   ============================================ */

.wpcf7 {
  --go-green:   #59954b;
  --go-green-d: #2f5a26;
  --go-sage:    #e5f7d7;
  --go-amber:   #b4690e;
  --go-amber-bg:#fdf3e7;
  --go-red:     #c0392b;
  --go-red-bg:  #fdecec;
  --go-radius:  10px;
  font-family: "Archivo", system-ui, -apple-system, sans-serif;
}

/* Rien d'affiché pendant l'init / l'envoi */
.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output { display: none; }

/* --- Boîte de retour : base commune --- */
.wpcf7 form .wpcf7-response-output {
  display: flex; align-items: flex-start; gap: .7rem;
  max-width: 640px;
  margin: 1.5rem auto 0 !important;
  padding: .95rem 1.1rem !important;
  border: 1px solid transparent !important;
  border-radius: var(--go-radius);
  font-size: .92rem; line-height: 1.5;
  animation: goFeedback .35s ease both;
}
.wpcf7 form .wpcf7-response-output::before {
  content: ""; flex: 0 0 auto;
  width: 1.25rem; height: 1.25rem; margin-top: .05rem;
  background-repeat: no-repeat; background-position: center; background-size: contain;
}

/* --- Succès (form.sent) --- */
.wpcf7 form.sent .wpcf7-response-output {
  background: var(--go-sage) !important;
  border-color: var(--go-green) !important;
  color: var(--go-green-d);
}
.wpcf7 form.sent .wpcf7-response-output::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359954b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M8 12.5l2.5 2.5 5-5.5'/%3E%3C/svg%3E");
}

/* --- Avertissement (champs invalides / consentement) --- */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  background: var(--go-amber-bg) !important;
  border-color: #e3b778 !important;
  color: #8a5410;
}
.wpcf7 form.invalid .wpcf7-response-output::before,
.wpcf7 form.unaccepted .wpcf7-response-output::before,
.wpcf7 form.payment-required .wpcf7-response-output::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b4690e' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5L2.5 20h19L12 3.5z'/%3E%3Cline x1='12' y1='9.5' x2='12' y2='14'/%3E%3Ccircle cx='12' cy='17' r='1' fill='%23b4690e' stroke='none'/%3E%3C/svg%3E");
}

/* --- Erreur (échec / spam / annulé) --- */
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output {
  background: var(--go-red-bg) !important;
  border-color: #e8a9a2 !important;
  color: #962b20;
}
.wpcf7 form.failed .wpcf7-response-output::before,
.wpcf7 form.aborted .wpcf7-response-output::before,
.wpcf7 form.spam .wpcf7-response-output::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c0392b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='9' y1='9' x2='15' y2='15'/%3E%3Cline x1='15' y1='9' x2='9' y2='15'/%3E%3C/svg%3E");
}

/* --- Messages d'erreur sous chaque champ --- */
.go-form .wpcf7-not-valid-tip {
  display: flex; align-items: center; gap: .35rem;
  color: var(--go-red); font-size: .8rem; font-weight: 500; margin-top: .4rem;
}
.go-form .wpcf7-not-valid-tip::before {
  content: ""; flex: 0 0 auto; width: .95rem; height: .95rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c0392b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='7.5' x2='12' y2='13'/%3E%3Ccircle cx='12' cy='16.5' r='1' fill='%23c0392b' stroke='none'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Champ invalide : halo doux au lieu d'une bordure brute */
.go-form .wpcf7-not-valid {
  border-color: var(--go-red) !important;
  box-shadow: 0 0 0 3px rgba(192,57,43,.12) !important;
}

/* --- Spinner d'envoi --- */
.wpcf7-spinner { background-color: var(--go-green); }

/* --- Animation d'apparition --- */
@keyframes goFeedback {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .wpcf7 form .wpcf7-response-output { animation: none; }
}

/* --- Optionnel : masquer le formulaire une fois envoyé --- */
.wpcf7 form.sent .go-form { display: none; }
.wpcf7 form.sent .wpcf7-response-output { margin-top: 0 !important; }
/* ===== Mobile Menu (Garonne) ===== */

/* Hamburger */
.mobile-menu-toggle {
  display: block;
  position: relative;
  z-index: 1001;
  width: 44px;
  height: 44px;
  padding: 0;
  background: transparent;
  border: 0;
  cursor: pointer;
}
.mobile-menu-toggle__line {
  position: absolute;
  left: 10px;
  right: 10px;
  height: 2px;
  background: #fff; /* ← passer en #fff si header sombre */
  border-radius: 2px;
  transition: transform 0.3s ease, opacity 0.2s ease, top 0.3s ease, background 0.2s ease;
}
.mobile-menu-toggle__line:nth-child(1) { top: 14px; }
.mobile-menu-toggle__line:nth-child(2) { top: 21px; }
.mobile-menu-toggle__line:nth-child(3) { top: 28px; }

body.mobile-menu-open .mobile-menu-toggle__line {
  background: #111; /* à inverser aussi si besoin */
}
body.mobile-menu-open .mobile-menu-toggle__line:nth-child(1) { top: 21px; transform: rotate(45deg); }
body.mobile-menu-open .mobile-menu-toggle__line:nth-child(2) { opacity: 0; }
body.mobile-menu-open .mobile-menu-toggle__line:nth-child(3) { top: 21px; transform: rotate(-45deg); }

/* Drawer */
.mobile-drawer {
  position: fixed;
  top: 0; right: 0;
  width: min(85vw, 420px);
  height: 100vh;   /* fallback navigateurs anciens */
  height: 100dvh;  /* dynamic viewport — iOS 15.4+, Android moderne */
  background: #fff;
  z-index: 1000;
  transform: translateX(100%);
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  overflow-y: auto;
  padding: 80px 40px max(40px, env(safe-area-inset-bottom)) 40px;
  box-shadow: -10px 0 40px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
}
body.mobile-menu-open .mobile-drawer { transform: translateX(0); }

/* Overlay */
.mobile-drawer__overlay {
  display: none;
  position: fixed; inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 999;
  opacity: 0;
  transition: opacity 0.3s ease;
}
body.mobile-menu-open .mobile-drawer__overlay { display: block; opacity: 1; }

/* Menus */
.mobile-drawer__menu {
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
  position: relative;
  z-index: 1;
}
.mobile-drawer__menu .menu-item {
  margin: 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
.mobile-drawer__menu .menu-item > a {
  display: block;
  padding: 12px 0;
  color: #111 !important;
  font-size: 20px;
  font-weight: 700;
  text-decoration: none;
  transition: padding-left 0.2s ease, color 0.2s ease;
}
.mobile-drawer__menu .menu-item > a:hover,
.mobile-drawer__menu .menu-item.current-menu-item > a,
.mobile-drawer__menu .menu-item.current_page_item > a {
  padding-left: 8px;
}

.mobile-drawer__menu .menu-item:last-child {
  border-bottom: none;
}

/* Footer + GO filigrane */
.mobile-drawer__footer {
  position: relative;
  margin-top: auto;
  padding-top: 24px;
  border-top: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
  color: rgba(0, 0, 0, 0.75);
  font-size: 14px;
  line-height: 1.5;
  z-index: 1;
}
.mobile-drawer__footer::before {
  content: '';
  position: absolute;
  right: -40px;
  bottom: -40px;
  width: 110%;
  height: 110%;
  background: url('https://garonne-ouvrage.fr/wp-content/uploads/2026/06/go-filigrane.png') no-repeat right bottom / contain;
  opacity: 1; /* PNG déjà en filigrane — sinon descendre à 0.15 */
  pointer-events: none;
  z-index: -1;
}
.mobile-drawer__address { font-size: 14px; line-height: 1.55; }
.mobile-drawer__phone,
.mobile-drawer__email {
  display: inline-flex;
  align-items: center;
  color: #111;
  text-decoration: none;
  font-weight: 600;
  font-size: 15px;
}
.mobile-drawer__phone::before { content: "📞 "; margin-right: 8px; opacity: 0.7; }
.mobile-drawer__email::before { content: "✉ "; margin-right: 8px; opacity: 0.7; }

body.mobile-menu-open { overflow: hidden; }


/* ==========================================================================
   service-template.css — Garonne Ouvrage
   Template Single Service (CPT `service`).
   À charger via Oxygen → Manage → Stylesheets → "service-template".

   Palette extraite du CSS Oxygen réellement compilé sur la home :
   - vert #59954b, cream #f8f1e9, brown #331b08, tan #f2dfac
   - cards engagements en #e6f7d6 (pâle vert)
   - font-weights 200 / 700 (à la home)
   ========================================================================== */

/* =========================== TOKENS =========================== */
:root {
    --go-green:        #59954b;
    --go-green-deep:   #17280e;
    --go-green-lime:   #b2ec76;
    --go-cream:        #f8f1e9;
    --go-cream-card:   #e6f7d6;
    --go-cream-soft:   #f0fae6;
    --go-brown:        #331b08;
    --go-tan:          #f2dfac;
    --go-ink:          #1a1617;
    --go-ink-deep:     #090e05;
    --go-ink-soft:     rgba(26, 22, 23, 0.7);
    --go-line:         rgba(26, 22, 23, 0.12);
    --go-line-strong:  rgba(26, 22, 23, 0.28);

    --font-display: 'Archivo', system-ui, sans-serif;
    --font-mono:    'JetBrains Mono', ui-monospace, monospace;
}

/* =========================== CENTRAGE FORCÉ =========================== */
body.single-service .ct-section.service-body,
body.single-service .ct-section.service-points,
body.single-service .ct-section.service-faq {
    padding-block: clamp(50px, 6vw, 90px);
    width: 100%;
    position: relative;
}
body.single-service .service-body > .ct-section-inner-wrap,
body.single-service .service-points > .ct-section-inner-wrap,
body.single-service .service-faq > .ct-section-inner-wrap {
    max-width: 1350px !important;
    width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-inline: clamp(16px, 4vw, 56px);
    box-sizing: border-box;
    position: relative;
    display: block;
}

/* =========================== SURTITRES (vrai style home) =========================== */
.service-points__surtitre,
.service-faq__surtitre {
    font-family: var(--font-mono);
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: 12px;
    font-weight: 500;
    color: var(--go-green);
    margin-bottom: 14px;
    display: inline-block;
}

/* H2 commun — style home (700, line-height 1.1) */
.service-section__title,
.service-points__title,
.service-faq__title {
    font-family: var(--font-display);
    font-size: clamp(28px, calc(3vw + 6px), 44px);
    line-height: 1.1;
    font-weight: 700;
    color: var(--go-ink);
    letter-spacing: -0.01em;
    margin: 0 0 24px;
}

/* =========================== 1. CORPS — Flexible (cream avec grid SVG) =========================== */
.service-body {
    background-color: var(--go-cream);
    overflow: hidden;
}
.service-body::before {
    content: '';
    position: absolute; inset: 0;
    background-image:
        linear-gradient(rgba(26, 22, 23, 0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(26, 22, 23, 0.025) 1px, transparent 1px);
    background-size: 64px 64px;
    pointer-events: none;
    z-index: 0;
}
.service-body > .ct-section-inner-wrap { z-index: 1; }

.service-body__inner {
    max-width: 820px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: clamp(48px, 6vw, 80px);
}

.service-section { position: relative; }
.service-section__contenu,
.service-section__intro,
.service-section__outro {
    font-family: var(--font-display);
    font-size: 17px;
    line-height: 1.65;
    color: var(--go-ink);
    font-weight: 400;
}
.service-section__contenu p,
.service-section__intro p,
.service-section__outro p { margin: 0 0 18px; }
.service-section__contenu p:last-child,
.service-section__intro p:last-child,
.service-section__outro p:last-child { margin-bottom: 0; }
.service-section__intro { margin-bottom: 24px; }
.service-section__outro { margin-top: 24px; }
.service-section__contenu strong,
.service-section__intro strong,
.service-section__outro strong { font-weight: 700; }

/* Liste — accent vert */
.service-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
    border-top: 1px solid var(--go-line);
    padding-top: 24px;
}
.service-list__item {
    position: relative;
    padding-left: 28px;
    font-family: var(--font-display);
    font-size: 17px;
    line-height: 1.6;
    color: var(--go-ink);
}
.service-list__item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.7em;
    width: 14px;
    height: 2px;
    background: var(--go-green);
}

/* =========================== SCHÉMAS — intégrés au contenu, alternés =========================== */
.service-section--schema {
    margin-block: clamp(12px, 2vw, 24px);
}
.service-schema {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin: 0;
}
.service-schema--contenue { max-width: 820px; }
.service-schema--pleine_largeur {
    margin-inline: calc(50% - 50vw);
    max-width: 100vw;
    padding-inline: clamp(20px, 4vw, 56px);
}
.service-schema img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(26, 22, 23, 0.08);
}
.service-schema__caption {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-inline: 4px;
}
.service-schema__title {
    font-family: var(--font-display);
    font-size: clamp(18px, 1.2vw + 12px, 22px);
    font-weight: 700;
    color: var(--go-ink);
    letter-spacing: -0.01em;
    line-height: 1.3;
    margin: 0;
}
.service-schema__legende {
    font-family: var(--font-mono);
    font-size: 12px;
    line-height: 1.5;
    color: var(--go-ink-soft);
    letter-spacing: 0.04em;
}

/* Quinconce : schémas contenus s'alternent latéralement pour rythmer */
.service-body__inner .service-section--schema:nth-of-type(odd) .service-schema--contenue {
    margin-left: 0;
    margin-right: auto;
    transform: translateX(-16px);
}
.service-body__inner .service-section--schema:nth-of-type(even) .service-schema--contenue {
    margin-left: auto;
    margin-right: 0;
    transform: translateX(16px);
}

@media (max-width: 768px) {
    .service-body__inner .service-section--schema:nth-of-type(odd) .service-schema--contenue,
    .service-body__inner .service-section--schema:nth-of-type(even) .service-schema--contenue {
        transform: none;
        margin-inline: 0;
    }
    .service-schema img { border-radius: 10px; }
}

/* =========================== 2. POINTS CLÉS — engagements-grid style =========================== */
.service-points {
    background-color: var(--go-cream);
    position: relative;
}

/* Grille engagements : asymétrique, header intégré */
.service-points__layout {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px;
    text-align: left;
}

/* Card header (surtitle + H2) — pâle vert sage, comme div_block-240-9 */
.service-points__header {
    background-color: var(--go-cream-soft);
    border-radius: 20px;
    padding: 30px 26px 20px;
    display: flex;
    flex-direction: column;
    grid-column: span 1;
}
.service-points__surtitre { margin-bottom: 12px; }
.service-points__title { margin-bottom: 0; }

/* Cards items — pâle vert engagement, comme div_block-255 */
.service-points__grid {
    list-style: none;
    padding: 0;
    margin: 0;
    display: contents;
}
.service-points__card {
    background-color: var(--go-cream-card);
    border-radius: 20px;
    padding: 30px 26px 24px;
    color: var(--go-ink-deep);
    font-family: var(--font-display);
    font-size: 16px;
    line-height: 1.5;
    font-weight: 200;
    display: flex;
    align-items: flex-start;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.service-points__card:hover {
    transform: translateY(-3px);
}
/* Une card sur N en accent dark green (comme div_block-279-9) */
.service-points__card:nth-child(5n+3) {
    background-color: var(--go-green-deep);
    color: #fff;
}

/* =========================== 3. FAQ — clean accordion =========================== */
.service-faq {
    background-color: var(--go-cream);
    position: relative;
}
.service-faq__header {
    max-width: 880px;
    margin: 0 auto clamp(36px, 4vw, 56px);
}
.service-faq__list {
    max-width: 880px;
    margin: 0 auto;
    border-top: 1px solid var(--go-line-strong);
}
.service-faq__item {
    border-bottom: 1px solid var(--go-line);
    transition: background 0.3s ease;
}
.service-faq__item.is-open {
    background: rgba(89, 149, 75, 0.06);
}

.service-faq__trigger {
    width: 100%;
    background: transparent;
    border: 0;
    padding: 26px 4px;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 24px;
    cursor: pointer;
    text-align: left;
    color: var(--go-ink);
    font-family: inherit;
    transition: padding 0.25s ease;
}
.service-faq__trigger:hover { padding-inline: 14px; }
.service-faq__trigger:focus-visible {
    outline: 2px solid var(--go-green);
    outline-offset: 4px;
}
.service-faq__question {
    font-family: var(--font-display);
    font-size: clamp(18px, 1vw + 14px, 21px);
    font-weight: 700;
    line-height: 1.3;
    color: var(--go-ink);
    flex: 1;
    transition: color 0.3s ease;
}
.service-faq__item.is-open .service-faq__question {
    color: var(--go-green-deep);
}

/* + → × */
.service-faq__icon {
    width: 22px;
    height: 22px;
    position: relative;
    flex-shrink: 0;
    align-self: start;
    margin-top: 0.5em;
}
.service-faq__icon::before,
.service-faq__icon::after {
    content: '';
    position: absolute;
    background: var(--go-green);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 1px;
}
.service-faq__icon::before { top: 50%; left: 0; right: 0; height: 2px; transform: translateY(-50%); }
.service-faq__icon::after  { left: 50%; top: 0; bottom: 0; width: 2px; transform: translateX(-50%); }
.service-faq__item.is-open .service-faq__icon::before { transform: translateY(-50%) rotate(45deg); }
.service-faq__item.is-open .service-faq__icon::after  { transform: translateX(-50%) rotate(45deg); }

.service-faq__answer {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}
.service-faq__item.is-open .service-faq__answer { max-height: 2400px; }
.service-faq__answer-inner {
    padding: 4px 4px 28px;
    font-family: var(--font-display);
    font-size: 16px;
    line-height: 1.65;
    color: var(--go-ink);
    font-weight: 400;
    max-width: 720px;
}
.service-faq__answer-inner p { margin: 0 0 14px; }
.service-faq__answer-inner p:last-child { margin-bottom: 0; }
.service-faq__answer-inner a {
    color: var(--go-green);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    font-weight: 500;
}
.service-faq__answer-inner a:hover { color: var(--go-green-deep); }

/* Images insérées dans le wysiwyg (schémas SVG inline) — pleine largeur du contenu */
.service-section__contenu img,
.service-section__intro img,
.service-section__outro img {
    width: 100%;
    height: auto;
    max-width: none;
    display: block;
    border-radius: 14px;
    margin-block: 20px;
}
.service-section__contenu a:has(> img),
.service-section__intro a:has(> img),
.service-section__outro a:has(> img) {
    display: block;
}
/* wpautop wrap <p> autour des images — vire la marge double */
.service-section__contenu p > img,
.service-section__contenu p > a > img {
    margin: 0;
}
.service-section__contenu p:has(> img),
.service-section__contenu p:has(> a > img) {
    margin: 20px 0;
}

/* =========================== RESPONSIVE =========================== */
@media (max-width: 991px) {
    .service-points__layout {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 600px) {
    .service-points__layout {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .service-points__card {
        padding: 24px 22px 20px;
        font-size: 15px;
    }
    .service-faq__trigger { gap: 16px; padding: 22px 0; }
}
