/*
Theme Name:  ATTPS
Theme URI:   https://attps.fr/
Version:     2.0
Description: Theme Enfant Divi
Author:      ATTPS
Author URI:  https://attps.fr/
Template:    Divi
*/

/*- Add any CSS custom code for this child theme below this line -*/
.et_pb_code_inner:has(.acf_image),
.et_pb_code_inner:has(.acf_image) *,
.et_pb_text_inner:has(.acf_image) *,
.et_pb_text_inner:has(.acf_image) {
    height: inherit;
    max-height: inherit;
}

*:has(>.acf_image) {
    height: inherit;
    max-height: inherit;
}

/*=== Css Générale ===*/
body,
html {
    overflow-x: hidden;
}

.hidden {
    display: none;
}

h1 {
    font-size: 50px;
}

h2 {
    font-size: 35px;
}

h3 {
    font-size: 25px;
}

h4 {
    font-size: 18px;
}

h5 {
    font-size: 18px;
    text-transform: uppercase;
}

img[src=""],
img:not([src]) {
    display: none;
}

.light h1,
.light h2,
.light h3,
.light h4,
.light h5 {
    color: #FFF;
}

/* classes personnalisées qui désigneront l'ordre
   des colonnes dans la ligne de la flexbox */
.first-on-mobile {
    -webkit-order: 1;
    order: 1;
}

.second-on-mobile {
    -webkit-order: 2;
    order: 2;
}

.third-on-mobile {
    -webkit-order: 3;
    order: 3;
}

.fourth-on-mobile {
    -webkit-order: 4;
    order: 4;
}

/* ajoute une marge à la dernière colonne */
.custom_row:last-child .et_pb_column:last-child {
    margin-bottom: 30px;
}

/* COOKIE NOTICE */
.cn-button.bootstrap {
    color: #fff;
    background: #666;
}

/* COMPTE */
body:not(.logged-in) .hide-for-logged-out {
    display: none !important;
}

body.logged-in .hide-for-logged-in {
    display: none !important;
}


/* WOOCOMMERCE */
.woocommerce ul.products li.product a img {}

/* PANIER DYNAMIQUE */

.xoo-wsc-basket {
    z-index: 499 !important;
}

.xoo-wsc-shipping,
.xoo-wsc-total-sales {
    display: none !important;
}

/*=== Slider 2 ===*/

#slider-2 .img_slider {
    -webkit-box-shadow: 10px 10px 30px 5px rgba(0, 0, 0, 0.30);
    box-shadow: 10px 10px 30px 5px rgba(0, 0, 0, 0.30);
    height: 650px !important;
}

#slider-2 .slider_col1 {
    height: 550px !important;
    display: flex;
    flex-flow: column nowrap;
    align-items: flex-start;
    justify-content: center;
    padding: 0 0 0 5vw !important;
}

#slider-2 .macaron_produitslaitier {
    margin-top: -180px !important;
}

#slider-2 a.slide_btn {
    color: #f0efef !important;
    text-decoration: none !important;
}

#slider-2 a.slide_btn:last-child {
    display: none;
}

#slider-2 a.slide_btn.active {
    color: #1B2C4F !important;
}

#slider-2 a.slide_btn.active:last-child {
    display: none;
}

#slider-2 .slide_buttons {
    bottom: 52px !important;
}

/*=== Slider Répéteur Snippet Accueil ===*/

#slider-repeteur .slider {
    min-height: 500px;
    background-size: cover;
    background-repeat: no-repeat;
}

#slider-repeteur .slide_viewer {
    min-height: 500px;
    overflow: hidden;
    position: relative;
}

#slider-repeteur .slide_group {
    height: 100%;
    position: relative;
    width: 100%;
}

#slider-repeteur .slide {
    display: none;
    height: 100%;
    position: absolute;
    width: 100%;
}

#slider-repeteur .slide:first-child {
    display: block;
}

#slider-repeteur .titre h1,
#slider-repeteur .surtitre p,
#slider-repeteur .texte p {
    text-align: center;
    line-height: 1;
    margin: .5em 0;
}

.slide_buttons {
    left: 0;
    position: absolute;
    right: 0;
    text-align: center;
    bottom: 0;
}

a.slide_btn {
    color: rgba(255, 255, 255, 0.5);
    font-size: 42px;
    margin: 0 0.175em;
    -webkit-transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -ms-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
}

.slide_btn.active,
.slide_btn:hover {
    color: #ffffff;
    cursor: pointer;
}



/*=== MEDIA QUERIES ===*/
/* iPad Pro/Air 11" */
@media only screen and (min-width: 1024px) and (max-height: 1366px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 1.5) {

    h1 {
        font-size: 40px;
    }

    h2 {
        font-size: 30px;
    }

    h3 {
        font-size: 25px;
    }

    h4 {
        font-size: 18px;
    }

    h5 {
        font-size: 18px;
    }

}

/* iPhone 6 & > */
@media all and (max-width: 940px) {

    h1 {
        font-size: 35px;
    }

    h2 {
        font-size: 25px;
    }

    h3 {
        font-size: 20px;
    }

    h4 {
        font-size: 20px;
    }

    h5 {
        font-size: 20px;
    }
}



#g-section:nth-child(1n) .column-one {
    order: 1;
}

#g-section:nth-child(1n) .column-two {
    order: 2;
}

#g-section:nth-child(2n) .column-one {
    order: 2;
    margin-right: 0%;
}

#g-section:nth-child(2n) .column-two {
    order: 1;
    margin-right: 5.5% !important;
}

#g-section {
    width: 100%;
    padding: 5em 0;
    min-height: 400px;
}

#g-section:nth-child(1n) .illustration-section {
    position: absolute;
    right: 75%;
    top: -4.8em;
}

#g-section:nth-child(2n) .illustration-section {
    position: absolute;
    right: 8%;
    top: -4.8em;
}

#g-section .texte p {
    line-height: 1.6em;
}

#g-section .bg-titre {
    background-position: right;
    background-repeat: no-repeat;
    background-size: contain;
    padding-right: 7em;
    display: inline-block;
    margin-bottom: 0.8em;
}

#g-section .s_titre {
    color: #b8d561;
    font-size: 1.3em;
    text-transform: uppercase;
    margin-bottom: 0em;
    display: inline-flex;
}

#g-section .titre {
    color: #263d56;
    font-size: 3em;
    font-family: 'Montserrat', Helvetica, Arial, Lucida, sans-serif !important;
    font-weight: 800;
    display: inline-flex;
}

#g-section .titre p {
    margin: 0;
    line-height: 1;
}

#g-section .column-one {
    border-radius: 30px;
}

#g-section .bouton {
    color: #263d56;
    border-radius: 30px;
    border: 2px solid #b8d561;
    font-weight: bold;
    padding: 0.3em 1em;
    font-size: 1.3em;
    margin-top: 1em;
    display: table;
}

#g-section ul br {
    display: none;
}

#g-section ul li {
    list-style: none;
    line-height: 1.8em;
}

#g-section ul li::before {
    content: '•';
    color: #b8d561;
    font-size: 35px;
    display: inline-block;
    width: 0.5em;
    margin-left: -0.5em;
    margin-top: -0.1em;
    position: absolute;
}

/* G-section sur 1 colonne */
#g-section.one-col {
    flex-direction: column;
    border-radius: 30px;
    padding: 2em 0;
    margin: 2em 0;
}

#g-section.one-col .column-one {
    width: 100%;
    background-image: none;
}

#g-section.one-col .column-two {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

#g-section.one-col .titre {
    margin-top: 1em;
    width: 100%;
}

#g-section.one-col .titre p {
    width: 100%;
    text-align: center;
}

#g-section.one-col .bg-titre {
    padding-left: 7em;
    background-position: center;
    width: 100%;
}

#g-section.one-col .bg-titre .titre {
    width: 55%;
    display: flex;
    margin: 1em auto 0em auto;
}

#g-section.one-col .texte {
    padding: 0 4em 2em 4em;
    width: 100%;
    text-align: center;
}

#g-section.one-col .s_titre {
    width: 100%;
    margin-bottom: 1em;
}

#g-section.one-col .s_titre p {
    width: 100%;
    text-align: center;
}

#g-section .image-one-col {
    display: none;
}

#g-section.one-col .image-one-col {
    display: flex;
    border-radius: 30px;
    width: 100%;
    max-height: 350px;
    object-fit: cover;
}

/* Icon de raccourcis de page */
#raccourci .et_pb_text_inner {
    display: inline-flex;
    justify-content: center;
    width: 100%;
}

#raccourci .raccourcis-list {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 3em 0.5em 1em 0.5em;
    flex: 1;
    max-width: 150px;
}

#raccourci .raccourcis-list .titre {
    margin-top: 10px;
    color: #263d56;
    text-align: center;
    font-weight: bold;
    font-size: 18px;
    min-height: 45px;
}

.page-id-8913 .gform_wrapper.gravity-theme .gform_footer {
    justify-content: flex-end;
}

#gform_submit_button_5 {
    color: #FFFFFF !important;
    border: none !important;
    font-size: 16px;
    padding: 8px 15px;
    background-color: #034890;
}

#gform_fields_9 *,
#gform_submit_button_9 {
    font-family: "Roboto Slab", Georgia, "Times New Roman", serif !important;
}

#field_9_6 {
    display: flex;
    flex-flow: row nowrap;
    gap: 3%;
    justify-content: flex-end;
}

#field_9_6 .gform-field-label,
#field_9_6 .ginput_container_radio {
    display: flex;
    flex-flow: row nowrap;
    width: 49%;
}

.gfield_radio {
    width: 100%;
    display: inline-flex;
    justify-content: space-around;
    margin-top: -36px;
}

.gchoice_9_6_0 input,
.gchoice_9_6_1 input {
    display: none !important;
}

#field_9_6 label {
    background-color: #F4F4F4;
    max-width: 100%;
    padding: 10px 45px;
}

#field_9_6 input[type="radio"]:checked+label {
    font-weight: bold;
    background-color: #1B2C4F;
}

.gchoice_9_6_0,
.gchoice_9_6_1 {
    min-width: 35%;
    padding: 10px 20px;
}

.label_9_6_1 {
    width: 20%;
}

.gchoice_9_9_1 {
    display: inline-flex;
}

.gchoice.gchoice_9_9_1 input {
    margin-top: 5px !important;
}

@media (max-width:980px) {
    #field_9_6 {
        display: initial;
    }

    #field_9_6 .gform-field-label,
    #field_9_6 .ginput_container_radio {
        width: 100%;
    }

    .gfield_radio {
        margin-top: 0;
    }
}

.news-infinite {
    display: flex;
    flex-wrap: wrap;
}


/*--------------------------------------
Landing page Salon de l'agriculture
---------------------------------------*/

.important-paragraph {
    font-family: system-ui;
    font-size: 18px;
    color: #2d446a;
    line-height: 1.5;
}

.yellow-block {

    font-size: 18px;
    color: #e8c580;
    border-top: 1px solid #fde9c2;
    border-bottom: 1px solid #fde9c2;
    padding: 15px 0;
}

strong.blue {
    color: #03529E;

}

.salon-form {
    color: #fff !important;
}

.salon-form .gform_required_legend {
    display: none !important;
}

.salon-form :where(label, .gfield_description, .gform_required_legend, .salon-required-custom) {
    font-size: 14px !important;
}

.salon-form .gform_wrapper.gravity-theme .gfield :where([type=text], [type=email]) {
    color: #fff !important;
    background-color: #307fbf !important;
    font-family: system-ui !important;
    border: none !important;
    padding: 12px !important;
}

.salon-form :where([type=text], [type=email])::placeholder {
    color: #fff !important;
}

.salon-form #field_submit {
    justify-content: flex-end;
}

.salon-form [type=submit] {
    border: none;
    padding: 8px 28px;
    font-family: system-ui !important;
    background: #dca734;
    color: #fff;
}

.salon-form [type=checkbox] {
    opacity: 0;
    cursor: pointer;
}

.gfield_required.gfield_required_asterisk {
    /* display: none !important; */
}

.salon-form [type=checkbox]+label {
    position: relative;
    cursor: pointer;
}

.salon-form [type=checkbox]+label {
    height: 23px;
    display: inline-block;
}

.salon-form [type=checkbox]+label::before {
    content: '';
    position: absolute;
    top: 50%;
    margin-top: -6.5px;
    left: -24px;
    display: block;
    height: 13px;
    width: 13px;
    border-radius: 3px;
    border: 1px solid #fff;
}

.salon-form [type=checkbox]:checked+label::after {
    content: '';
    position: absolute;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg) scale(1);
    transform: rotate(45deg);
    opacity: 1;
    left: -20px;
    top: 6px;
    width: 4px;
    height: 7px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    background-color: transparent;
    border-radius: 0;
}

/*--------------------------------------
Landing page consommons coop
---------------------------------------*/

.swiper-footer {
    height: 250px;
    margin-bottom: 15px;
}

.swiper-footer .swiper-wrapper {
    transition-timing-function: linear;
}

.swiper-footer .swiper-slide {
    width: fit-content;
}

.swiper-footer .swiper-slide.large {
    aspect-ratio: 16/9;
}

.swiper-footer .swiper-slide.small {
    aspect-ratio: 4/3;
}

.swiper-footer .swiper-slide img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

/*----- brown bloc */

.swiper-brown-bloc .swiper-slide {
    width: 244px;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 15px;
}

.swiper-brown-bloc .swiper-slide a {
    position: absolute;
    display: block;
    height: 100%;
    width: 100%;
    z-index: 3;
}

.swiper-brown-bloc .swiper-slide .img-wrapper {
    position: relative;
    width: 100%;
    height: 337px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.swiper-brown-bloc .swiper-slide .img-wrapper i {
    z-index: 2;
    color: #fff;
    font-size: 45px;
    transition: color 300ms ease-in-out;
}

.swiper-brown-bloc .swiper-slide a:hover~.img-wrapper i {
    color: #0693e3;

}

.swiper-brown-bloc .swiper-slide .img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    filter: contrast(0.5);
    transition: filter 300ms ease-in-out;
}

.swiper-brown-bloc .swiper-slide a:hover~.img-wrapper img {
    filter: contrast(1);
}


.swiper-brown-bloc .swiper-slide>strong {
    text-align: center;
}

/*----- blue bloc */

.swiper-blue-bloc {
    height: 222px;
}

.swiper-blue-bloc::after {
    height: 120%;
    width: 100%;
    content: "";
    position: absolute;
    z-index: 2;
    background-color: #018bcf;
    top: -10%;
    right: -100%;
}

@media (max-width:980px) {
    .swiper-blue-bloc::after {
        height: 120%;
        width: 0%;
        content: "";
        position: absolute;
        z-index: 2;
        background-color: #018bcf;
        top: -10%;
        right: -100%;
    }
}

.swiper-blue-bloc .swiper-slide {
    width: fit-content;
}


.swiper-blue-bloc .swiper-slide img {
    height: 100%;
}


/*--------------------------------------
Page Emploi Agricole
---------------------------------------*/
.ea-paroles-title-bloc>.et_pb_text_inner {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.ea-nowrap>.et_pb_text_inner {
    display: flex;
    align-items: center;
    gap: 15px;
}

@media only screen and (max-width: 980px) {
    .ea-nowrap.tablet-flex-center>.et_pb_text_inner {
        justify-content: center;
    }
}

@media only screen and (max-width: 560px) {

    .ea-nowrap.tablet-flex-center>.et_pb_text_inner,
    .ea-nowrap.mobile-flex-center>.et_pb_text_inner {
        flex-wrap: wrap;
        text-align: center;
        justify-content: center;
    }
}


.ea-nowrap .ea-border-bottom {
    border-bottom: 1px solid #C4C4C4;
    padding: 20px 0 !important;
    flex: 1;
}

@media only screen and (max-width: 560px) {
    .ea-nowrap .ea-border-bottom {
        padding: 0 0 20px !important;
        max-width: 100%;
        min-width: 325px;
    }
}

.ea-tab-link {
    font-size: 25px;
    font-family: 'Marianina XWd FY W03 Black';
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: color 300ms ease-in-out;
    -webkit-transition: color 300ms ease-in-out;
    -moz-transition: color 300ms ease-in-out;
    -ms-transition: color 300ms ease-in-out;
    -o-transition: color 300ms ease-in-out;
    cursor: pointer;
}

.ea-tab-link.active {
    color: #fff;
}

.ea-tab-link>i {
    font-size: 20px;
    transition: color 300ms ease-in-out;
    -webkit-transition: color 300ms ease-in-out;
    -moz-transition: color 300ms ease-in-out;
    -ms-transition: color 300ms ease-in-out;
    -o-transition: color 300ms ease-in-out;
}

.ea-tab-link.active>i {
    color: #008bce !important;
}

@media only screen and (max-width: 980px) {
    .ea-tab-link>i {
        transform: rotate(90deg);
        -webkit-transform: rotate(90deg);
        -moz-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        -o-transform: rotate(90deg);
    }
}

.ea-tab.hidden {
    display: none;
}

.ea-paroles-title-bloc {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
}

.ea-paroles-title-bloc hr {
    align-self: start;
    height: 5px;
    width: 60%;
    background: #c7cd00;
    border: none;
    margin: 0;
    margin-top: 10px;
}

.ea-paroles-title-bloc__image-right img {
    object-fit: cover;
    object-position: center;
}

.ea-swiper .swiper-slide {
    display: flex;
    justify-content: space-evenly;
    height: auto;
    flex-wrap: wrap;
    padding: 0 40px;
}

.ea-swiper .swiper-slide>div {
    width: 60%;
    color: #1B2C4F;
}


@media only screen and (max-width: 980px) {
    .ea-swiper .swiper-slide>div {
        width: 100%;
    }
}

/*--------------------------------------
Page contact
---------------------------------------*/

.contact-three-column {
    display: none;
}

.contact-three-column.active {
    display: block;
}

.show-contact-three-columns,
.contact-three-column a {
    color: #1B2C4F;
    font-weight: bold;
    cursor: pointer;
}

.contact-form__container {
    display: none;
}

.contact-form__container.active {
    display: block;
}


.contact-blue-bloc strong {
    color: #1B2C4F;

}

.contact-cooperators-form .gform_wrapper input,
.contact-cooperators-form :where(input[type=text], input[type=tel], input[type=email], textarea, select) {
    background: #F0EFEF !important;
    border: none !important;
    font-size: 16px !important;
    font-family: system-ui !important;
    padding: 15px !important;
    color: #657483 !important;

}

.contact-cooperators-form .gfield--type-checkbox,
.contact-cooperators-form .gfield--type-radio {
    background: #F0EFEF !important;
    border: none !important;
    font-size: 16px !important;
    font-family: system-ui !important;
    padding: 15px !important;
    color: #657483 !important;
    display: flex !important;

}


.contact-cooperators-form .gfield--type-checkbox legend,
.contact-cooperators-form .gfield--type-radio legend {
    display: contents !important;
    white-space: nowrap;
    font-size: 20px !important;
    font-weight: 400 !important;
    font-family: system-ui;

}

.contact-cooperators-form span.gfield_required {
    display: none !important;

}

.contact-cooperators-form .gfield--type-checkbox .gfield_checkbox,
.contact-cooperators-form .gfield--type-radio .gfield_radio {
    display: flex !important;
    flex-wrap: wrap;
    gap: 10px;
    word-wrap: normal;
    margin: 0 !important;

}

.contact-cooperators-form .gform_wrapper input::placeholder,
.contact-cooperators-form :where(input[type=text], input[type=tel], input[type=email], textarea)::placeholder {
    color: #657483;

}

.contact-cooperators-form .gform_wrapper.gravity-theme #field_submit {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    height: fit-content;
    grid-column: span 3;

}

.contact-cooperators-form #field_11_8 {
    grid-column: span 9;

}

.contact-cooperators-form #field_11_8 label {
    font-size: 12px !important;
    line-height: 0;

}

.contact-logo-site {
    width: 90px;
    height: 90px;
    background: #fff;
    border-radius: 50%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact-address-phone .et_pb_text_inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

.contact-address-phone .et_pb_text_inner>div {
    display: flex;
    gap: 5px;
}

.contact-address-phone .et_pb_text_inner>div i {
    color: #008BCE;
    font-size: 24px;
}

.contact-list-team select#contacterequipe {
    background: #E8CCAB;
    border: 0px;
    color: #FFF;
    width: 100%;
    font-size: 16px;
    font-weight: bold;
    font-family: system-ui !important;
    padding: 10px;
    min-width: 220px;
}

.societies-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    gap: 30px;
}

society-card {
    width: 325px;
    display: flex;
    padding: 10px;
    gap: 15px;
}

society-card aside img {
    background: #fff;
    height: 66px;
    width: 66px !important;
    min-width: 66px;
    border-radius: 50%;
    object-fit: scale-down;
    object-position: center;
}

society-card article h5 {
    color: #008BCE;
    font-size: 16px;
    font-weight: bold;
    text-transform: none;
    padding-bottom: 5px;
    padding-top: 24px;
}

society-card article p {
    font-size: 14px;
}

society-card article a {
    color: #fff;
    text-decoration: none;
    cursor: pointer;
    font-size: 16px;
    white-space: nowrap;
}

/* PRESSE */

.com {
    &.hidden {
        display: none;
    }
}

.coms-more {
    background: #E8CCAB;
    font-size: 16px;
    color: #FFF;
    padding: 10px 16px;
    margin: auto;
    cursor: pointer;
    transition: background 300ms ease-in-out;

    &:hover {
        background: #e4bf95;

    }
}

/*--------------------------------------
Page Sodiaal réponds à vos questions
---------------------------------------*/

.questions_container {
    .et_pb_toggle {
        background-color: #FFFFFF;
        border-width: 0px 0px 1px 0px;
        border-bottom-color: rgba(101, 116, 131, 0.25);

        .fluid-width-video-wrapper {
            padding-top: 56.25% !important;
        }

        .et_pb_toggle_title {
            font-family: 'Marianina XWd FY W03 Black', Helvetica, Arial, Lucida, sans-serif;
            font-size: 22px;
            line-height: 1em;
            color: #000;

            &:before {
                font-size: 40px;
                right: -12px;
                color: #008BCE;
                font-family: ETmodules !important;
                font-weight: 400 !important;
                content: "\35" !important;
                transition: rotate 100ms ease-in-out;
            }
        }

        &.et_pb_toggle_open {
            .et_pb_toggle_title:before {
                rotate: 90deg;
            }

        }
    }

}

/*--------------------------------------
Page Permis Entrées
---------------------------------------*/
.permis-entrees-steps-wrapper {
    container: permis-entrees-container / inline-size;

    &>.step-list {
        list-style: none !important;
        display: grid;
        grid-template-columns: repeat(4, minmax(200px, 1fr));
        gap: 20px;
        padding: 0;

        @container permis-entrees-container (max-width: 860px) {
            grid-template-columns: repeat(2, minmax(200px, 1fr));
        }

        @container permis-entrees-container (max-width: 450px) {
            grid-template-columns: repeat(1, 1fr);
        }

        .step-item {
            display: grid;
            grid-template-rows: subgrid;
            grid-row: span 2;
            gap: 35px;

            @container permis-entrees-container (max-width: 450px) {
                text-align: center;
            }

            &:not(:last-child) {
                .step-item_counter-wrapper::after {
                    content: "";
                    position: absolute;
                    background: #fff;
                    height: 2px;
                    width: 60%;
                    top: 50%;
                    left: 100%;
                    translate: -40% -50%;

                    @container permis-entrees-container (max-width: 860px) {
                        content: unset;
                    }

                }
            }




            .step-item_counter-wrapper {
                display: flex;
                justify-content: center;
                position: relative;


                .step-item_counter {
                    font-size: clamp(1rem, 1rem + 2cqi, 2.7rem);
                    aspect-ratio: 1 / 1;
                    font-family: 'Roboto Slab';
                    font-weight: bold;
                    width: 100%;
                    max-width: 70px;
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    box-sizing: border-box;
                    padding: 5px;
                    border-radius: 50%;

                    span {
                        line-height: 0;
                    }
                }
            }

            .step-item_content {
                width: fit-content;
                margin: 0 auto;

                h3 {
                    font-size: 25px;
                }

                .text {
                    white-space: pre;
                }
            }


        }
    }
}

/*--------------------------------------
Page Oui au lait coop
---------------------------------------*/



/* ===== IMPORT DE LA GOOGLE FONT : INTER ===== */
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

/* ===== HEADER HERO ===== */
.olc-hero {
    --hero-h: 500px;
    /* hauteur mini desktop */
    --logo-overlap: -15%;
    /* dépassement vertical du logo */
    --prod-w: clamp(120px, 22vw, 400px);
    /* largeur du bloc produits (pseudo) */
    --prod-h: clamp(70px, 15vw, 260px);
    /* hauteur du bloc produits (pseudo) */
    position: relative;
    overflow: visible;
    /* pour laisser le logo déborder en bas */
    margin: 0 auto;

    @media (max-width: 980px) {
        --hero-h: 300px;
        /* hauteur mini desktop */
        --logo-overlap: -35%;
    }

    /* Image "personnes" : bas gauche + marge 5% */
    .olc-hero-people {
        position: absolute;
        left: 5%;
        bottom: 0;
        width: clamp(220px, 34vw, 640px);
        height: auto;
        object-fit: contain;
        display: block;
        pointer-events: none;
        user-select: none;

        @media (max-width: 980px) {
            left: 2.5%;
            width: clamp(200px, 60vw, 520px);
        }
    }

    .olc-hero-bg {
        position: relative;
        min-height: var(--hero-h);
        border-radius: 0;

        .olc-hero-logo-wrap {
            position: absolute;
            left: 50%;
            transform: translateX(-50%);
            bottom: var(--logo-overlap);
            /* valeur négative => dépasse sous le fond */
            display: inline-block;
            z-index: 3;

            /* au-dessus du fond et des personnes */
            .olc-hero-logo {
                display: block;
                width: clamp(200px, 26vw, 520px);
                height: auto;
                object-fit: contain;

                @media (max-width: 980px) {
                    width: clamp(200px, 48vw, 520px);
                }
            }

            &.has-products::after {
                content: "";
                position: absolute;
                bottom: 0;
                left: calc(94% + -40px);
                width: var(--prod-w);
                height: var(--prod-h);
                background-image: url('/wp-content/uploads/2025/09/ProduitsHeader.avif');
                background-repeat: no-repeat;
                background-size: contain;
                background-position: center;
                pointer-events: none;

                @media (max-width: 980px) {
                    display: none;
                }
            }
        }
    }
}


/* ===== Section 1 — Témoignages (3 colonnes) ===== */
.olc-s1t {
    --frame: url('https://sodiaal.coop/wp-content/uploads/2025/09/BlocITW.svg');
    --arrow-bg: #114287;
    --arrow-color: #fff;
    max-width: 1200px;
    margin: clamp(16px, 5vw, 64px) auto;
    padding: 0 16px;
    overflow-x: clip;

    .olc-s1t-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: clamp(5px, 2.3vw, 10px);
        align-items: stretch;
        overflow-x: clip;


        @media (max-width: 980px) {
            grid-template-columns: 1fr;

        }

        &>* {
            min-width: 0;
        }

        /* Carte commune */
        .olc-s1t-card {
            position: relative;
            min-height: 350px;
            padding: 35px 30px 0px 60px;
            /* place pour la photo en bas */
            background-image: var(--frame);
            background-repeat: no-repeat;
            background-size: contain;
            background-position: center;
            overflow: visible;

            /* la photo peut dépasser */
            @media (max-width: 980px) {
                margin-bottom: 25px;
            }

            .olc-s1t-text {
                width: 80%;
                font-family: 'Roboto Slab', Georgia, "Times New Roman", serif !important;
                font-weight: 400;
                font-size: 14px;
                line-height: 1.5;
                color: #fff;
                margin: 0 0 16px 0;
                text-align: left;

                &::before {
                    content: "« ";
                }

                &::after {
                    content: " »";
                }
            }



            .olc-s1t-meta {
                position: absolute;
                bottom: 25px;
                font-family: 'Roboto Slab', Georgia, "Times New Roman", serif !important;
                font-size: 11px;
                line-height: 1.3;
                color: #fff;
                margin: 0;

                strong {
                    font-weight: 700;
                }

                span {
                    display: block;
                }
            }

            .olc-s1t-photo {
                position: absolute;
                right: 5px;
                bottom: -10px;
                width: clamp(120px, 35%, 180px);
                height: auto;
                object-fit: contain;
                pointer-events: none;
                user-select: none;
            }
        }
    }

    /* === Carrousel (colonne 3) — SWIPER === */
    .olc-s1t-swiper {
        position: relative;
        min-width: 0;
        overflow: hidden;

        .s1t-prev,
        .s1t-next {
            position: absolute;
            top: 20%;
            transform: translateY(-50%);
            width: 25px;
            height: 25px;
            border-radius: 999px;
            border: none;
            background: #114287;
            color: #fff;
            display: grid;
            place-items: center;
            cursor: pointer;
            z-index: 5;

            i {
                font-size: 12px;
                line-height: 1;
            }

        }

        .s1t-prev {
            left: 0px;

            @media (max-width: 980px) {
                left: 6px;
                top: 25%;
            }
        }

        .s1t-next {
            right: 0px;

            @media (max-width: 980px) {
                right: 6px;
                top: 25%;
            }
        }

        .swiper {
            overflow: hidden;
            width: 100%;
            min-width: 0;

            .swiper-wrapper {
                min-width: 0;
                align-items: stretch;

                .swiper-slide {
                    height: auto;

                    .s1t-slide-card {
                        /* pas le même style que colonnes 1/2 (pas de frame SVG) */
                        padding: 24px 22px;
                        border-radius: 18px;
                        background: transparent;
                        /* tu gères la couleur de fond via Divi */
                        display: flex;
                        flex-direction: column;
                        justify-content: flex-start;

                        /* Témoignage */
                        .s1t-quote {
                            font-family: 'Roboto Slab', Georgia, "Times New Roman", serif !important;
                            font-weight: 400;
                            font-size: 14px;
                            line-height: 1.5;
                            color: #fff;
                            text-align: left;
                            margin: 0 0 14px 0;
                            padding-inline: 25px;

                            &::before {
                                content: "« ";
                            }

                            &::after {
                                content: " »";
                            }
                        }


                        /* Séparateur */
                        .s1t-sep {
                            height: 1px;
                            background: #114287;
                            margin: 10px 0 12px 0;
                            width: 100%;
                            border: 0;
                            opacity: 1;
                        }

                        /* Meta: nom + rôle */
                        .olc-s1t-meta2 {
                            font-family: 'Roboto Slab', Georgia, "Times New Roman", serif !important;
                            font-size: 11px;
                            line-height: 1.3;
                            color: #fff;
                            margin: 0;
                            margin-inline: 25px;
                            margin-top: 25px;
                            text-align: left;

                            strong {
                                font-weight: 700;
                            }

                            span {
                                display: block;
                            }
                        }

                    }
                }
            }

        }

    }
}

.olc-section1-logos-cliquables-wrapper {
    .olc-section1-logos-cliquables {
        display: flex;
        gap: 15px;
        list-style: none;
        padding: 0;

        .olc-section1-logos-cliquables-item {
            transition: all 150ms ease-in-out;

            &:hover {
                scale: 1.05;
            }
        }
    }
}



/* ===== Section 2 — Galerie 2 colonnes desk / 1 colonne mobile ===== */
.olc-s2gal {
    --h: 300px;
    max-width: 1160px;
    margin: clamp(16px, 5vw, 56px) auto;
    padding: 0 16px;

    @media (max-width: 860px) {
        --h: calc(300px * 0.8);

    }

    /* Grille : 2 colonnes centrées (les items ont une largeur max pour rester harmonieux) */
    .olc-s2gal-inner {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: clamp(50px, 9vw, 100px);
        width: 80%;
        max-width: 1240px;
        margin-inline: auto;

        @media (max-width: 860px) {
            flex-direction: column;
            gap: 25px;

        }

        /* Item : boîte à hauteur fixe, contenu centré, pas de rognage (logos propres) */
        .olc-s2gal-item {
            width: 100%;

            @media (max-width: 860px) {
                max-width: 640px;
                width: 100%;

            }

            .olc-s2gal-box {
                height: var(--h);
                display: flex;
                align-items: center;
                justify-content: center;
                background: transparent;
                /* option : #f7f7fb pour un fond si tu veux */
                border-radius: 10px;
                /* option visuelle douce */
                overflow: hidden;

                /* sécurité (marges d’images) */
                img {
                    max-height: 100%;
                    max-width: 100%;
                    width: auto;
                    height: auto;
                    object-fit: contain;
                    /* pas de crop pour respecter les logos */
                    display: block;
                }
            }
        }
    }
}

/* ===== Section 2 — Texte + Image ===== */
.olc-s2ti {
    /* marge négative pour rapprocher l’image en desktop */
    --flag: url('https://sodiaal.coop/wp-content/uploads/2025/09/FrenchFlag.svg');
    padding: 0 30px;

    .olc-s2ti-inner {
        display: grid;
        grid-template-columns: 1.7fr 1fr;
        align-items: center;
        margin-left: calc(var(--pull)/2);

        @media (max-width: 980px) {
            grid-template-columns: 1fr;
            margin-left: 0px;
        }

        /* Bloc textes avec le "before" drapeau au-dessus */
        .olc-s2ti-text {
            position: relative;
            text-align: left;
            margin-left: 35%;

            @media (max-width: 980px) {
                text-align: center;
                margin-left: 0;

                &::before {
                    margin-left: auto;
                    /* centrer le drapeau */
                    margin-right: auto;
                    background-position: center;
                }
            }

            @media (max-width: 1175px) {
                margin-left: 15%;
            }

            .olc2-portrait {
                width: 75%;
                position: absolute;
                left: 0;
                bottom: 0;
                translate: -55% 31%;

                @media (max-width: 980px) {
                    display: none;
                }
            }

            .olc-s2ti-blue,
            .olc-s2ti-red {
                padding-bottom: 0;
                font-family: 'Roboto Slab', Georgia, "Times New Roman", serif !important;
                font-weight: 400;
                font-size: clamp(20px, 2.3vw, 25px);
                line-height: 1.3;
                margin: 0;
            }

            .olc-s2ti-blue {
                color: #0449A6;
            }

            .olc-s2ti-red {
                color: #FF3E43;
                font-weight: bold;
            }
        }

        /* Illustration à droite avec rapprochement par marge négative */
        .olc-s2ti-figure {
            margin: 0;
            justify-self: start;
            margin-left: var(--pull);

            .olc-s2ti-img {
                display: block;
                width: 120%;
                max-width: none;
                height: auto;
                translate: -20%;
                object-fit: contain;
            }

            @media (max-width: 980px) {

                margin-left: 0;
                /* annule le pull */
                justify-self: center;
                /* image centrée */

                .olc-s2ti-img {
                    max-width: 640px;
                    translate: none;
                }
            }
        }
    }
}

/* ===== Section 5 — Texte / Photo / Liste ===== */
.olc-s5 {
    --s5-blue: #072C5A;
    --s5-red: #FF3E43;
    --s5-list-pin: url('https://sodiaal.coop/wp-content/uploads/2025/09/PinBlue.svg');
    --s5-list-bg: url('/wp-content/uploads/2025/09/ocl_bg_blue_large.svg');
    --pin: 22px;
    width: 80%;
    max-width: 1240px;
    margin: clamp(16px, 5vw, 56px) auto 30px;
    padding: 0 16px;
    position: relative;

    .olc-s5-inner {
        position: relative;

        /* Trait sous les 2 premières colonnes (incluant le gap entre elles) */
        &::after {
            content: "";
            position: absolute;
            left: 0;
            bottom: 0;
            height: var(--line);
            background: var(--line-color);
            width: calc((100% - 2*var(--gap)) * 0.675 + var(--gap));
        }

        @media (max-width: 980px) {
            grid-template-columns: 1fr;
        }

        @media (max-width: 768px) {

            &::after {
                display: none;
            }
        }



        /* Colonne droite : liste + grand décor en arrière-plan */
        .olc-s5-list {
            display: flex;
            flex-direction: column;
            z-index: 1;
            position: relative;

            @media (max-width: 980px) {
                padding: 28px 22px;
                z-index: 2;
                padding-bottom: 0px;
            }

            &::before {
                /* Décor fond SVG derrière la liste */
                content: unset;
                position: absolute;
                width: 100%;
                height: 100%;
                background-image: var(--s5-list-bg);
                background-repeat: no-repeat;
                background-size: contain;
                background-position: bottom;
                z-index: -1;

                /* Responsive : pile (texte centré -> photo -> liste) */
                @media (max-width: 980px) {
                    inset: 0% 0% -10% -10%;
                }



                @media (min-width: 981px) and (max-width: 1280px) {
                    inset: -10% -30% -3% -40%;
                }

            }

            .border-img {
                width: 100%;
                vertical-align: middle;
            }


            .olc-s5-ul-wrapper {
                background: #072C5A;
                width: 99.7%;
                margin: auto;
                padding: 15px 25px 15px 15%;
                /* z-index: 2; */
                margin-top: -30px;
                margin-bottom: -30px;

                @media (max-width: 1175px) {
                    margin-top: 0px;
                    margin-bottom: 0px;
                }

                .olc-s5-ul {
                    list-style-type: none !important;
                    list-style: none;
                    margin: 0;
                    padding: 0 !important;
                    display: grid;
                    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
                    gap: 20px;

                    /* Responsive : pile (texte centré -> photo -> liste) */
                    @media (max-width: 980px) {
                        gap: 14px;

                    }



                    /* Chaque li crée une zone de gauche pour l'icône */
                    .olc-s5-li {
                        position: relative;
                        padding-left: calc(var(--pin, 22px) + 12px);
                        font-family: 'Inter', Georgia, "Times New Roman", serif !important;
                        font-size: clamp(13px, 2vw, 22px);
                        line-height: 1.3;
                        min-height: var(--pin, 17px);
                        color: #fff;
                        text-align: left;

                        @media (max-width: 980px) {
                            justify-content: flex-start;
                        }



                        /* Icône “pin” en absolute */
                        &::before {
                            content: '';
                            position: absolute;
                            left: 0;
                            top: 0.1em;
                            width: var(--pin, 22px);
                            height: var(--pin, 22px);
                            background-image: var(--s5-list-pin);
                            background-repeat: no-repeat;
                            background-position: center;
                            background-size: contain;
                            display: block;
                            pointer-events: none;
                        }
                    }
                }
            }

            .ocl_portrait {
                position: absolute;
                left: 0;
                bottom: 30%;
                width: 45%;
                transform: translate(-40%, 50%);

                @media (max-width: 1175px) {
                    bottom: 20%;
                }

                @media (max-width: 980px) {
                    transform: translate(-30%, 50%);
                }


                @media (max-width: 480px) {
                    display: none;

                }
            }



        }
    }

    .olc-s5-text {
        font-family: 'Roboto Slab', Georgia, "Times New Roman", serif !important;
        font-weight: 400;
        font-size: 18px;
        line-height: 1.35;
        color: #114287;
        text-align: left;
        width: 50%;
        margin-top: 45px;
        margin-left: auto;

        @media (max-width: 980px) {
            width: 100%;
            font-size: 15px;
            margin-left: 0;
            text-align: center;
            padding-bottom: 0px;
        }

        em {
            color: var(--s5-red) !important;
            font-style: normal;
        }
    }
}


/* olc section 7 */
#olc-section7 {
    container: olc-section7-container / inline-size;

    .olc-section7-items {
        .olc-section7-item {

            .item-header {
                text-align: center;
                margin-bottom: 40px;
            }

            .item-content-wrapper {

                display: flex;
                gap: 6%;
                margin-bottom: 60px;

                @container olc-section7-container (max-width: 768px) {
                    flex-direction: column-reverse !important;
                    gap: 35px;

                }

                .content {
                    padding: 0 4%;
                }

                &:not(.has-img) {
                    .content {
                        width: 100%;
                    }
                }

                &.has-img {
                    &>* {
                        width: 47%;

                        @container olc-section7-container (max-width: 768px) {
                            width: 100%;
                        }
                    }

                    &.left {
                        flex-direction: row-reverse;
                    }

                    .img-wrapper {
                        height: 300px;

                        @container olc-section7-container (max-width: 768px) {}

                        img {
                            width: 100%;
                            border-radius: 10px;
                            vertical-align: middle;
                            object-fit: contain;
                            height: 100%;
                        }
                    }
                }
            }

        }
    }
}

#page-container {
    overflow-y: unset !important;
}