@import url("https://use.typekit.net/jtj2wwo.css");

:root {
    --body-font: "cofo-sans-variable", -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;
    --heading-font: var(--body-font);

    --container-width: var(--wp--style--global--content-size);
    --container-padding: var(--wp--style--block-gap);

    --wp--preset--spacing--20: .5rem;
    --wp--preset--spacing--30: 1.5rem;
    --wp--preset--spacing--40: 2.5rem;
    --wp--preset--spacing--50: 5rem;
    --wp--preset--spacing--60: 7.5rem;
    --wp--preset--spacing--70: 10rem;
    --wp--preset--spacing--80: 15rem;
}

html { font-size:20px; }
@media screen and (max-width: 768px) {
    html { font-size:16px; }
}

.editor-styles-wrapper { font-family: var(--body-font); overflow-x: clip; }

/* Support des alignements WordPress */
.alignwide {
    max-width: var(--container-width);
    margin-left: auto;
    margin-right: auto;
}

.alignfull {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
}

.entry-content ul {
    margin: 0.75em 0;
    padding: 0 1em;
    list-style: none;
}
.entry-content ul li {
    position: relative;
}
.entry-content ul li::before {
    content: "";
    border-color: transparent #0082ff;
    border-style: solid;
    border-width: 0.35em 0 0.35em 0.45em;
    display: block;
    height: 0;
    width: 0;
    left: -1em;
    top: .425em;
    position: absolute;
}
.entry-content ul ul li::before {
    border-color: #0082ff;
    border-width: 0.25em;
    border-radius: 100%;
    top:.5em;
}
/* Base Typography */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--heading-font);
    margin-top: 0;
    margin-bottom: 1rem;
    font-weight: 400;
    line-height: 1.375;
}

h1 {
    font-size: 3rem;    /* 40px */
    line-height: 1.2;
    word-break: keep-all;
    white-space: nowrap;
}

h2, details summary {
    font-size: 2rem;      /* 32px */
    line-height: 1.2;
}

h3 {
    font-size: 1.25rem;   /* 20px */
}

h4, details details summary {
    font-size: 1.125rem;    /* 18px */
}

h5 {
    font-size: 1.25rem;   /* 20px */
}

h6 {
    font-size: 1rem;      /* 16px */
}

/* Responsive Typography */
@media screen and (max-width: 768px) {
    h1 {
        font-size: 2rem;      /* 32px */
    }
    
    h2 {
        font-size: 1.75rem;   /* 28px */
    }
    
    h3 {
        font-size: 1.5rem;    /* 24px */
    }
    
    h4 {
        font-size: 1.25rem;   /* 20px */
    }
    
    h5 {
        font-size: 1.1rem;    /* 17.6px */
    }
    
    h6 {
        font-size: 1rem;      /* 16px */
    }
}

strong, b {
    font-weight: 700;
}
/* Heading Spacing in Content */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
    margin-top: 2rem;
}

.entry-content h1:first-child,
.entry-content h2:first-child,
.entry-content h3:first-child,
.entry-content h4:first-child,
.entry-content h5:first-child,
.entry-content h6:first-child {
    margin-top: 0;
}

/* Extra styles for better readability */
.entry-content h1 + p,
.entry-content h2 + p,
.entry-content h3 + p,
.entry-content h4 + p,
.entry-content h5 + p,
.entry-content h6 + p {
    margin-top: 0.5rem;
}

/*
.alignwide {
    margin-left: calc(25% - 25vw);
    margin-right: calc(25% - 25vw);
    width: auto;
    max-width: 1000%;
}

.alignfull {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    width: 100vw;
    max-width: 100vw;
}

@media (max-width: 1240px) {
    .alignwide {
        margin-left: calc(var(--container-padding) * -1);
        margin-right: calc(var(--container-padding) * -1);
    }
}*/


/* .wp-block-image img,
.wp-block-image.alignfull img,
.wp-block-image.alignwide img {
    width: 100%;
    height: auto;
}


.wp-block-group.alignfull,
.wp-block-cover.alignfull,
.wp-block-columns.alignfull {
    padding-left: var(--container-padding);
    padding-right: var(--container-padding);
}

.wp-block-group.alignfull > :not(.alignfull):not(.alignwide),
.wp-block-cover.alignfull > :not(.alignfull):not(.alignwide) {
    max-width: var(--container-width);
    margin-left: auto;
    margin-right: auto;
} */


details {
    position: relative;
    padding-left: 0 !important;
    padding-right:0 !important;
}
/* details.ae-section { background: #232323; border-top:1px solid #0082ff; }
details.ae-section[open], details.ae-section:hover { background: #0082ff; } */
details.ae-section { font-size:.8rem; }
details.ae-section::before {
    content:'';
    position: absolute;
    left: 0;
    right: 0; 
    top:0;
    bottom:0;
    width:100vw;
    margin-left: calc(-50vw + 50%);
    /*margin-right: calc(-50vw + 50%);*/
    border-top:1px solid #0082ff;
    background: #232323;
    /* z-index: -1; */
    pointer-events: none;
}
details.ae-section > summary {
    color: #0082ff;
    font-size:2rem;
    line-height: 1.2;
}
details.ae-section:hover::before,
details.ae-section[open]::before {
    background: #0082ff;
}
details.ae-section:hover > summary,
details.ae-section[open] > summary {
    color: #fff;
}
details.ae-section > div {
    position: relative;
    padding: 2rem 1rem;
    background: #fff;
}
details.ae-section > div > * { position: relative; }
details.ae-section > div::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    background: #fff;
    /* z-index: -1; */
}
details.ae-section .testimonials {
    margin-block-start: 0;
}
details.ae-section .testimonials::before {
    background-color:#d7e6ff
}
details.ae-section .testimonials .wp-block-pullquote p { color:#0082ff; }
details.ae-section .testimonials .wp-block-pullquote cite { color:#232323; }
details.ae-section .testimonials::after {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 24px solid transparent;
    border-right: 24px solid transparent;
    border-top: 16px solid white;
}
details.ae-section .testimonials .glide__bullet { border-color: #0082ff; }
details.ae-section .testimonials .glide__bullet.glide__bullet--active::after { background-color: #0082ff; }

.testimonials { background-position:center center; background-repeat:no-repeat; }
.testimonials .wp-block-pullquote p { font-size:1.25rem; }
.testimonials .wp-block-pullquote cite { font-size:1rem; }

summary {
    padding: .625em 1.25em .625em 0;
    display: block;
    position: relative;
    font-size: 1.33em;
    cursor: pointer;
    user-select: none;
}
summary::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    height: 1em;
    aspect-ratio: 1;
    border-radius: 50%;
    border: .0725em solid currentColor;
    background: conic-gradient(currentColor 0 0) 50%/60% .0725em no-repeat;
    transform: translateY(-50%);
}
summary::after {
    width: 0.5em;
    height: .0725em;
    position: absolute;
    top: 50%;
    right: .25em;
    content: "";
    background-color: currentColor;
    text-align: right;
    transform: translateY(-50%);
    transition: transform 0.2s ease-in-out;
}

summary::after {
    transform: translateY(-50%) rotate(90deg);
}

[open] > summary::after {
    transform: translateY(-50%) rotate(180deg);
}
::marker,
summary::-webkit-details-marker {
    display: none;
}


.wp-block-column details { }
.wp-block-column details > summary {
    color:#0082ff;
    border-top:1px solid #0082ff;
    border-bottom:1px solid #0082ff;
    font-size: 1.125rem;
    line-height: 1.5rem;
}
.wp-block-column details > :not(summary) {
    margin:0 0 1px 0;
    padding:.625rem;
    background-color:#d7e6ff;
}
.wp-block-column details.reversed-color > summary {
    color:#fff; border-color:#d7e6ff
}
.wp-block-column details.reversed-color > :not(summary) {
    color:#232323;
    background-color:#fff;
}
details + details {
    position:relative;
    margin-block-start:-1px !important;
    
}
summary + * {
    margin-block-start:0 !important;
}


.wp-block-column details ul li {
    margin-left:1em; padding-left:1em;
}
.wp-block-column details ul ul li {
    margin-left:.25em;
}
.wp-block-column details figure {
    padding:0;
}

.esg b, .esg strong, .esg i, .esg em {
    display:inline-block;
    width:48px;
    height:48px;
    margin-right:6px;
    text-align:center;
    line-height:48px;
    font-size:32px;
    font-style: normal;
    font-weight: 400;
    color: #fff;
    background: #0082ff;
    border-radius: 50%;
}
.esg i, .esg em {
    color:#0082ff;
    background:#d7e6ff;
}


.info-box {
    padding:0 !important;
    background: #0082ff;
    color: #fff;

    /* angles personnalisés */
  clip-path: polygon(
    .5rem 0%,    /* coin supérieur gauche coupé */
    100% 0%, 
    100% calc(100% - 1rem), 
    calc(100% - .5rem) 100%, /* coin inférieur droit coupé */
    0% 100%, 
    0% 1rem
  );
}
.info-box > * {
    /*--container-padding: 1.25rem;*/
    margin:0;
    padding: var(--container-padding);
    border-bottom:1px solid #91d4ff;
}
.info-box h3, .info-box h4, .info-box h5, .info-box h6 {
    padding-bottom: 0;
    margin-bottom: -1.325em;
    border-bottom: none;
    color: #fff !important;
}
.info-box > *:last-child {
    border-bottom: none;
}
.info-box a { color:currentColor}

p.phone, p.email {
    display:flex;
    align-items:center;
}
p.phone svg, p.email svg {
    margin-right:12px;
}

.grid-6 {
    --cols: 6;
    --gap: var(--wp--style--block-gap);
    --total-gap: calc((var(--cols) - 1) * var(--gap));
    --col-base: calc((100% - var(--total-gap)) / var(--cols));
}

.wp-block-columns > .wp-block-column.col-span-1 { flex-basis: var(--col-base); }
.wp-block-columns > .wp-block-column.col-span-2 { flex-basis: calc(var(--col-base) * 2 + var(--gap) * 1); }
.wp-block-columns > .wp-block-column.col-span-3 { flex-basis: calc(var(--col-base) * 3 + var(--gap) * 2); }
.wp-block-columns > .wp-block-column.col-span-4 { flex-basis: calc(var(--col-base) * 4 + var(--gap) * 3); }
.wp-block-columns > .wp-block-column.col-span-5 { flex-basis: calc(var(--col-base) * 5 + var(--gap) * 4); }



@media (min-width: 1024px) {
    .lg-pr-2 { padding-right: 2rem; }
}
@media screen and (min-width: 782px) {
    /* .wp-block-group.is-layout-constrained { --container-padding: 0; } */
    .push-1 { margin-left: calc((var(--container-width) / 6)) !important; }
    .push-2 { margin-left: calc((var(--container-width) / 3) + 1.5rem); }
    .push-3 { margin-left: calc((var(--container-width) / 2) + 3rem); }
    .push-4 { margin-left: calc((var(--container-width) / 1.5) + 4.5rem); }
}

.ae-cover.span-1-3 { --gradient-percent: .43; }
.ae-cover.span-1-2 { --gradient-percent: .6; }
.ae-cover.span-2-3 { --gradient-percent: .76; }
.ae-cover .wp-block-cover__image-background::before,
.ae-cover .wp-block-cover__image-background::after {
    --gradient-start: calc(((100% - var(--container-width))/2) + (var(--container-width) * var(--gradient-percent)));

    content:'';
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    right:0;
}
.ae-cover.text-right .wp-block-cover__image-background::before,
.ae-cover.text-right .wp-block-cover__image-background::after {
    background-image:linear-gradient(119deg,rgba(0,130,255,0) 0%,rgba(0,130,255,0) var(--gradient-start),rgb(0,130,255) var(--gradient-start),rgb(0,130,255) 100%)
}
.ae-cover.text-left .wp-block-cover__image-background::before,
.ae-cover.text-left .wp-block-cover__image-background::after {
    background-image:linear-gradient(119deg,rgba(0,130,255) 0%,rgba(0,130,255) var(--gradient-start),rgb(0,130,255,0) var(--gradient-start),rgb(0,130,255,0) 100%)
}
.ae-cover.multiply .wp-block-cover__image-background::before { 
    mix-blend-mode: multiply;
}
.ae-cover.multiply .wp-block-cover__image-background::after { 
    opacity:.5;
}
/*.ae-cover .wp-block-column { position:relative; }
.ae-cover .wp-block-column::before {
    content:'';
    background:#0082ffcc;
    position:absolute;
    top:0;
    bottom:0;
    width:100%;
    
}
/* .ae-cover .wp-block-column::before { background-blend-mode: multiply; } */

.ae-cover.text-right .wp-block-column:last-child::before {

}

.bg-contain { background-size:contain !important; }
.bg-no-repeat { background-repeat:no-repeat !important; }
.bg-right { background-position:100% 50%; }

.remove-padding { padding:0 !important; }
@media (max-width: 782px) {
    .mobile-is-horizontal { flex-direction: row !important; }
    .mobile-center { text-align: center; }
    .mobile-show-separator > *:not(:last-child):not(.mobile-hide-separator) { padding-bottom:var(--container-padding);border-bottom:1px solid #232323; }
}



.ae-hero.span-1-3 { --gradient-percent: .43; }
.ae-hero.span-1-2 { --gradient-percent: .6; }
.ae-hero.span-2-3 { --gradient-percent: .76; }
.ae-hero .wp-block-columns { height:100%; align-items: stretch; row-gap: 0; }
.ae-hero .wp-block-column { position:relative; }
.ae-hero .wp-block-column > * {position:relative; z-index:1; }
.ae-hero.text-right .wp-block-column:last-child::before,
.ae-hero.text-right .wp-block-column:last-child::after {
    content:'';
    position:absolute;
    top:0;
    bottom:0;
    left:-1.5rem;
    right:-1.5rem;
    margin-right: min(0px, calc((var(--container-width) - 100vw) / 2));
}
.ae-hero.text-left .wp-block-column:first-child::before,
.ae-hero.text-left .wp-block-column:first-child::after {
    content:'';
    position:absolute;
    top:0;
    bottom:0;
    left:-1.5rem;
    right:-1.5rem;
    margin-left: min(0px, calc((var(--container-width) - 100vw) / 2));
}
.ae-hero .wp-block-column::before,
.ae-hero .wp-block-column::after {
    background-color: #0082ff;
}
.ae-hero.text-right.multiply .wp-block-column:last-child::before,
.ae-hero.text-left.multiply .wp-block-column:first-child::before { 
    mix-blend-mode: multiply;
}
.ae-hero.text-right.multiply .wp-block-column:last-child::after,
.ae-hero.text-left.multiply .wp-block-column:first-child::after { 
    opacity:.5;
}

.ae-hero.text-right .wp-block-column:first-child::before,
.ae-hero.text-right .wp-block-column:first-child::after{
    content:'';
    position:absolute;
    top:0;
    bottom:0;
    right:0;
    aspect-ratio: 1;
}
.ae-hero.text-left .wp-block-column:last-child::before,
.ae-hero.text-left .wp-block-column:last-child::after {
    content:'';
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    aspect-ratio: 1;
}
.ae-hero.text-right .wp-block-column:first-child::before,
.ae-hero.text-right .wp-block-column:first-child::after {
    clip-path: polygon(
        100% 0,     /* haut droit */
        100% 100%,  /* bas droit */
        39% 100%    /* point sur le bas (61° à gauche) */
    );
}
.ae-hero.text-left .wp-block-column:last-child::before,
.ae-hero.text-left .wp-block-column:last-child::after {
    clip-path: polygon(
        0 100%,        /* coin bas gauche */
        0 0,           /* coin haut gauche */
        61% 0        /* point sur le haut (angle 61° en haut à droite) */
    );
}
.ae-hero.text-right.multiply .wp-block-column:first-child::before,
.ae-hero.text-left.multiply .wp-block-column:last-child::before { 
    mix-blend-mode: multiply;
}
.ae-hero.text-right.multiply .wp-block-column:first-child::after,
.ae-hero.text-left.multiply .wp-block-column:last-child::after { 
    opacity:.5;
}

.ae-hero.overlay-dark .wp-block-column::before,
.ae-hero.overlay-dark .wp-block-column::after { 
    background-color: #232323;
}


@media (max-width: 782px) {
    /*.ae-hero.text-left .wp-block-columns { flex-direction: column-reverse; }*/
    .ae-hero.text-right .wp-block-column:first-child::before,
    .ae-hero.text-right .wp-block-column:first-child::after {
        margin-right:-1.5rem;
    }
    .ae-hero.text-left .wp-block-column:last-child::before,
    .ae-hero.text-left .wp-block-column:last-child::after {
        margin-left:-1.5rem;
    }
    .ae-hero {
        --wp--preset--spacing--70:5rem;
    }
    .ae-hero:first-child { padding-top:90px; }
}


/* Header & Navigation */
.site-header {
    position:fixed;
    top:0;
    left:0;
    width:100%;
    padding: 1rem 0;
    background: #232323;
    color:#fff;
    transition: transform 0.5s ease;
    z-index:1000;
}
.site-header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.site-branding {
    display: flex;
    align-items: center;
}
.site-branding svg {
    height:2rem;
    width:auto;
}
.main-navigation {
}

.main-navigation ul {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
}

.main-navigation li {
    margin-right: 1.5rem;
}

.main-navigation a {
    color: currentColor;
    text-decoration: none;
    font-weight: 400;
    font-size:1rem;
}

.main-navigation a:hover, .main-navigation .current-menu-item {
    color: #0082ff;
}

/* Mobile Navigation */
.menu-toggle {
    display: none;
    color: #fff;
    background:transparent;
    border: none;
    padding: 0.25rem 0;
    cursor: pointer;
}

@media (min-width: 769px) {
    .site-header .container {
        /*flex-direction: row-reverse;*/
    }
    .site-branding svg {
        height:3.5rem;
    }
}
.main-navigation .decoration {
    display: none;
}
@media (max-width: 768px) {
    .menu-toggle {
        display: block;
    }
    .main-navigation a {
        font-size:1.525rem;
    }
    .main-navigation ul {
        display: none;
    }
    .main-navigation.toggled ul {
        display: block;
    }
    .main-navigation.toggled {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background: #232323;
        padding: 1.5rem;
        z-index: 1001;
    }

    .main-navigation.toggled li {
        margin: 0.5rem 0;
    }
    .main-navigation.toggled .decoration {
        display: block;
        position:absolute;
        bottom:24px;
        right:0;
        width:30%;
        color:#0082ff
    }
    .site-header .container {
        position: relative;
    }
}

/* Main Content */
.site-main {}

.entry-header {
    margin-bottom: 1.5rem;
}

.entry-title {
    color: #333;
}

.entry-title a {
    color: inherit;
}

.post-thumbnail {
    margin-bottom: 1.5rem;
}

.entry-content {
    position: relative;
}

.entry-meta {
    font-size: 0.9rem;
    color: #666;
    margin-top: 1rem;
}

.cat-links, .tags-links {
    margin-right: 1rem;
}

.read-more {
    display: inline-block;
    margin-top: 1rem;
    padding: 0.5rem 1rem;
    background: #0073aa;
    color: #fff;
    text-decoration: none;
    border-radius: 3px;
}

.read-more:hover {
    background: #005177;
    color: #fff;
}

/* Footer */
@media (min-width: 769px) {
    .pre-footer .wp-block-columns { flex-wrap: wrap !important; gap: 1rem; }
    .pre-footer .wp-block-column { flex: 1 1 300px !important; border-right: 1px solid #333; }
    .pre-footer .wp-block-column:last-child { border-right: none; }
}
.site-footer {
    color: #232323;
    background-color: #fff;
    padding: 3rem 0;
}
.site-footer h5 {
    color: #0082ff;
    font-size: 1rem;
    font-weight: 400;
}
.site-footer .site-logo {
    display:block;
    max-width:16rem;
    margin-bottom: 1rem;
}

.footer-navigation {
    margin-bottom: 2rem;
}

.footer-navigation ul {

    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-navigation a {
    color: currentColor;
    text-decoration: none;
}

.footer-navigation a:hover {
    color: #0082ff;
}

#footer-menu li { padding:.5rem 0 0; line-height:1.2; }
#footer-menu li a { color:#0082ff; font-size:.8em; font-weight:700; }
#footer-menu li li a { color:#232323; font-weight:400; }
#footer-menu > li:nth-child(n+3) li a { color:#0082ff; font-weight:700; }
@media (min-width: 769px) {
    #footer-menu {
        display: grid;
        grid-template-columns: 2fr 1fr 1fr;
        column-gap: var(--container-padding);
        row-gap: 0;
        align-items: start;
        position: relative;
    }
    #footer-menu .services .sub-menu { 
        column-count: 2;
        column-gap: var(--container-padding);
        list-style: none;
        padding: 0;
        margin: 0;
    }
}

.site-info {
    text-align: center;
    font-size: 0.9rem;
}

/* Single Post Navigation */
.post-navigation {
    margin: 2rem 0;
    padding: 1rem 0;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}

.nav-links {
    display: flex;
    justify-content: space-between;
}

.nav-previous, .nav-next {
    max-width: 48%;
}

.nav-subtitle {
    display: block;
    font-size: 0.8rem;
    color: #666;
    margin-bottom: 0.5rem;
}

.nav-title {
    font-weight: 500;
}

/* Archive Styles */
.archive-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 2rem;
    margin: 2rem 0;
}

.page-header {
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid #0073aa;
}

.page-title {
    color: #333;
    font-size: 2rem;
    margin-bottom: 0.5rem;
}

.archive-description {
    color: #666;
    font-size: 1rem;
    line-height: 1.6;
}

/* Pagination */
.pagination {
    margin: 2rem 0;
    text-align: center;
}

.page-numbers {
    display: inline-block;
    padding: 0.5rem 1rem;
    margin: 0 0.2rem;
    border: 1px solid #ddd;
    border-radius: 3px;
    color: #333;
}

.page-numbers.current {
    background: #0073aa;
    color: #fff;
    border-color: #0073aa;
}

/* 404 Page */
.error-404 {
    text-align: center;
    padding: 4rem 0;
}

.error-404 .page-title {
    font-size: 3rem;
    margin-bottom: 1rem;
    color: #333;
}

.error-404 .page-content {
    max-width: 600px;
    margin: 0 auto;
}

.error-404-widgets {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
    text-align: left;
}

.search-form {
    margin: 2rem auto;
    max-width: 500px;
    display: flex;
    gap: 1rem;
}

.search-field {
    flex: 1;
    padding: 0.5rem 1rem;
    border: 1px solid #ddd;
    border-radius: 3px;
}

.search-submit {
    padding: 0.5rem 1.5rem;
    background: #0073aa;
    color: #fff;
    border: none;
    border-radius: 3px;
    cursor: pointer;
}

.search-submit:hover {
    background: #005177;
}

/* Responsive Design */
@media (max-width: 768px) {
    .main-navigation ul {
        flex-direction: column;
    }
    
    .main-navigation li {
        margin-right: 0;
        margin-bottom: 0.5rem;
    }
    
    .footer-navigation ul {
        flex-direction: column;
    }
    
    .footer-navigation li {
        margin-right: 0;
    }

    .nav-links {
        flex-direction: column;
    }

    .nav-previous, .nav-next {
        max-width: 100%;
        margin: 0.5rem 0;
    }

    .site-footer .wp-block-columns > :first-child {
        order: 4;
    }
    .site-footer .site-logo {
        margin: 0 auto;
        max-width: 200px;
    }
}

/* Screen Reader Text */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    clip-path: none;
    color: #0082ff;
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

.hamburger {
    position:absolute;
    top: 0px;
    right: 28px;
}
.hamburger .line{
    width: 24px;
    height: 4px;
    background-color: #fff;
    display: block;
    margin: 6px auto;
    transition: all 0.3s ease-in-out;
} 
.hamburger:hover {
    cursor: pointer;
}
.toggled .hamburger {
    top: 16px;
}
.toggled .line:nth-child(1),
.toggled .line:nth-child(3) {
    width: 20px;
}
.toggled .line:nth-child(1) {
    transform: translateX(-6px) translateY(4px) rotate(-45deg);
}
.toggled .line:nth-child(3) {
    transform: translateX(-6px) translateY(-4px) rotate(45deg);
}

[data-parallax] {
    background-attachment: scroll !important;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

#contact { 
    position:fixed; 
    top:0;
    left:-100%; 
    bottom:0;
    width: 100%;
    max-width: 560px; 
    padding: calc(var(--container-padding) * 2); 
    overflow-y: auto; 
    overflow-x: hidden; 
    background: #0082ff; 
    z-index: 2000;
    transition: left 0.3s ease-in-out;
}
#contact.open {
    left: 0;
}
#contact h3 {
    font-size: 2.5rem;
    margin-top: 0;
    color:#fff;
}
#contact p, #contact .content {
    color:#fff;
}
#contact .close {
    background: none;
    border: none;
    color: white;
    font-size: 1.5rem;
    cursor: pointer;
    position: absolute;
    top: 20px;
    right: 20px;
}
@media (max-width: 768px) {
    #contact {
        padding: var(--container-padding);
    }
    #contact h3 {
        font-size: 2rem;
    }
    #contact .close {
        top: 10px;
        right: 10px;
    }
}
.wpcf7-form p {
    margin-bottom:6px;
}
  
/* Label comme placeholder */
.wpcf7-form label {}

/* Inputs et textareas */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
    padding:6px 12px;
    border:none;
    width:100%;
}
.wpcf7 form .wpcf7-not-valid {
    border:2px solid red;
}
/* État focus ou rempli */
.wpcf7-form input[type="submit"] {
    width:100%;
    background-color: #232323;
    color:#fff;
    border:none;
    padding:6px 12px;
    cursor:pointer;
    text-align:left;
    text-transform: uppercase;
}
.wpcf7 form .wpcf7-not-valid-tip {
    padding:6px 0;
    color:rgba(255,255,255,.4);
    font-size:.8rem;
}
.wpcf7 form .wpcf7-response-output {
    margin:0;
    border:0px;
    background-color:gold;
    color:sienna;
    padding:6px 12px;
}

/* .wp-block-cover-image.has-parallax, .wp-block-cover.has-parallax, 
.wp-block-cover__image-background.has-parallax, video.wp-block-cover__video-background.has-parallax {
    background-attachment: scroll !important;
    background-position: center center;
    background-size: cover;
} */

.otgs-development-site-front-end {
    display: none !important;
}

.glide {
    position: relative;
    width: 100%;
    box-sizing: border-box;
  }
  .glide * {
    box-sizing: inherit;
  }
  .glide__track {
    overflow: hidden;
  }
  .glide__slides {
    position: relative;
    width: 100%;
    list-style: none;
    backface-visibility: hidden;
    transform-style: preserve-3d;
    touch-action: pan-Y;
    overflow: hidden;
    margin: 0;
    padding: 0;
    white-space: nowrap;
    display: flex;
    flex-wrap: nowrap;
    will-change: transform;
  }
  .glide__slides--dragging {
    user-select: none;
  }
  .glide__slide {
    width: 100%;
    height: 100%;
    flex-shrink: 0;
    white-space: normal;
    user-select: none;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
  }
  .glide__slide a {
    user-select: none;
    -webkit-user-drag: none;
    -moz-user-select: none;
    -ms-user-select: none;
  }
  .glide__arrows {
    -webkit-touch-callout: none;
    user-select: none;
  }
  .glide__bullets {
    -webkit-touch-callout: none;
    user-select: none;
  }
  .glide--rtl {
    direction: rtl;
  }
  .glide__bullets {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 1rem;
  }
  
  .glide__bullet {
    width: 16px;
    height: 16px;
    background-color: transparent;
    border: 1px solid #fff;
    border-radius: 50%;
    position: relative;
    padding: 0;
    cursor: pointer;
    transition: all 0.3s ease;
  }
  .glide__bullet.glide__bullet--active::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 10px;
    height: 10px;
    background-color: #fff;
    border-radius: 50%;
  }

  .services-questions {
    position: relative;
    margin-block-start: -2rem !important;
    margin-top: -2rem;
    z-index: 1; /* au-dessus du pseudo-élément */
  }
   .services-questions::before {
    content: "";
    position: absolute;
    margin-left: calc(-50vw + 50%);
    width: 100vw;
    top: 0;
    left: 0; /* étend à gauche */
    right: 0; /* étend à droite */
    bottom: 0;
    background: inherit; /* ton background */

    background-size: auto 100%;         /* prend toute la hauteur */
    z-index: -1; /* derrière le contenu */
  }
  .services-questions {
    list-style: none; /* on enlève le style par défaut */
    counter-reset: li; /* initialise un compteur */
    padding-left: 0;   /* pas de padding par défaut */
    padding: 1em 0;
  }

  .services-questions li {
    counter-increment: li; /* incrémente le compteur */
    position: relative;
    padding-left: 3em; /* espace pour le numéro */
    font-size: 1.35rem;
    line-height: 1.2;
    margin: 1rem;
  }

  .services-questions li::before {
    content: counter(li, decimal-leading-zero); /* numéros avec zéro */
    position: absolute;
    left: 0;               /* colle le compteur à gauche */
    width: 2rem;           /* largeur réservée */
    text-align: right;     /* aligne les chiffres à droite */
    font-weight: bold;
  }
  @media (min-width: 780px) {
    .services-questions {
        padding: 2em;
    }
    .services-questions li{
        margin-left: 33%;
        left: -3em;
    }
    .services-questions::before {
        background-image: url("../bg-logo-blanc.png");
        background-repeat: no-repeat;
        background-position: right center;  /* aligne à droite au centre vertical */
    }
  }

  .max-w-700 {
    max-width: 700px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .fake-summary-border-top {
    border-top:1px solid #0082ff;
    margin-top:1px;
  }
  .fake-summary-border-bottom {
    border-bottom:1px solid #0082ff;
    margin-bottom:1px;
  }
  .hidden { display:none !important; }