/*
Theme Name: Aigeco Child
Template: twentytwentyfive
*/

/* ============================================================
   BASE
   ============================================================ */

html,
body,
* {
    font-family: 'Figtree', sans-serif !important;
    font-weight: 400;
}

* a {
    text-decoration: none;
}

strong,
b {
    font-weight: 700 !important;
}

iframe {
    border-radius: 10px;
}


/* ============================================================
   TYPOGRAPHIE GLOBALE
   H1 / H2 partagent les mêmes règles (règle permanente)
   H3 indépendant
   ============================================================ */


h1,
.wp-block-heading h1,
*h1 {
    font-size: 45px !important;


}

h1,
.wp-block-heading h1,
*h1,
h2,
h2.ged-carousel-title,
*h2 {
    font-family: 'Figtree', sans-serif !important;
    font-size: 45px !important;
    font-weight: 700 !important;
    line-height: 60px !important;
    letter-spacing: 0 !important;
    color: #0F664A !important;
}

h3 {
    font-family: 'Figtree', sans-serif !important;
    font-size: 30px;
    font-weight: 700 !important;
    line-height: 30px !important;
    letter-spacing: 0 !important;
}

/* Override H2/H3 sur les pages intérieures (hors homepage) */
body:not(.home) h2 {
    font-size: 30px;
    font-weight: 700 !important;
    color: #0F664A;
}

body:not(.home) h3 {
    font-size: 23px;
    font-weight: 600 !important;
    color: #111;
}

h2 strong {
    font-weight: 600;
}

body:not(.home) p {
    font-size: 18px !important;
}

/* ============================================================
   HEADER — Barre supérieure (first-range)
   ============================================================ */

.first-range-header,
.inner-first-range-header {
    gap: 3rem;
    color: white;
    font-weight: 500;
}

.nav-custom {
    z-index: 99;
    position: relative;
}

/* Limite la hauteur de la barre de nav */
.wp-block-group.alignfull.nav-custom.has-background.is-content-justification-space-between.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-cb46ffcb.wp-block-group-is-layout-flex {
    max-height: 60px;
}


/* ============================================================
   HEADER — Logo (pages intérieures uniquement)
   Remplace l'image originale par un background-image bicolore
   ============================================================ */

/* Barre secondaire */
body:not(.home) .header-second-row-custom .wp-block-site-logo img {
    display: none;
}

body:not(.home) .header-second-row-custom .wp-block-site-logo a {
    display: block;
    width: 288px;
    height: 106px;
    background-image: url("/wp-content/uploads/2026/01/Logo_A-IGEco_bicolore.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* Footer (hors homepage) */
body:not(.home) .footer-first-row .groupe-banner .wp-block-site-logo a {
    display: block;
    width: 288px;
    height: 106px;
    background-image: url("/wp-content/uploads/2026/01/Logo_A-IGEco_bicolore.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}


/* ============================================================
   HEADER — Trait décoratif animé (premier niveau de nav, 2e ligne)
   ============================================================ */

.header-second-row-custom .wp-block-navigation-item__content {
    position: relative;
}

/* Trait vertical au-dessus des items du menu principal */
.header-second-row-custom .wp-block-navigation-item__content::before {
    content: "";
    position: absolute;
    top: -51px;
    left: 50%;
    width: 50px;
    height: 2px;
    background-color: currentColor;
    transform: translateX(-50%) rotate(90deg) scaleX(0.5);
    transform-origin: center top;
    transition: transform 0.3s ease;
    z-index: 0;
}

/* Annule le trait dans les sous-menus */
.header-second-row-custom .wp-block-navigation__submenu-container .wp-block-navigation-item__content::before {
    display: none;
}

.header-second-row-custom .wp-block-navigation-item__content:hover::before {
    transform: translateX(-50%) rotate(90deg) scaleX(1.8);
}


/* ============================================================
   NAVIGATION — Sous-menus dropdown
   ============================================================ */

/*bien cacher ce qui deboerde */

.wp-block-group.alignfull.nav-custom.has-background.is-content-justification-space-between.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-cb46ffcb.wp-block-group-is-layout-flex {
    overflow: hidden;
}

/* Chevron › sur les items du sous-menu */
.wp-block-navigation__submenu-container>li>a.wp-block-navigation-item__content {
    position: relative;
    padding-right: 22px;
}

.wp-block-navigation__submenu-container>li>a.wp-block-navigation-item__content::after {
    content: " ›";
    position: absolute;
    right: 10%;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    opacity: 0.7;
}

/* Flèche → sur l'item actif */
.wp-block-navigation__submenu-container>li.current-menu-item>a.wp-block-navigation-item__content::after,
.wp-block-navigation__submenu-container>li>a.wp-block-navigation-item__content[aria-current="page"]::after {
    content: " →";
    font-size: 16px;
    opacity: 1;
}

/* Couleur de fond du sous-menu */
.wp-block-navigation__submenu-container.wp-block-navigation-submenu {
    background-color: white !important;
}

/* Item actif dans le sous-menu */
.wp-block-navigation__submenu-container .current-menu-item>a {
    color: #90D145 !important;
}

/* Styles nav globaux */
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
    font-weight: 600;
}

.wp-block-navigation .wp-block-navigation-item {
    border-radius: 10px;
}

.wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded="true"]~.wp-block-navigation__submenu-container,
.wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container,
.wp-block-navigation .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within>.wp-block-navigation__submenu-container {
    border-radius: 10px;
}

.wp-block-navigation-item__content span {
    font-weight: 600;
}


/* ============================================================
   NAVIGATION — Homepage (liens blancs sur hero)
   ============================================================ */

.home .wp-block-navigation-item__content {
    color: white !important;
}

/* Sous-menus homepage : couleur verte */
.home .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    color: #0F664A !important;
}

.home .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
    color: #90D145 !important;
}


/* ============================================================
   RECHERCHE (barre de recherche dans le header)
   ============================================================ */

.wp-block-search__inside-wrapper {
    border: none;
    background-color: #337d65;
}

#wp-block-search__input-2,
.search-icon {
    color: white;
}


/* ============================================================
   HERO — Banner / groupe-banner
   ============================================================ */

/* Homepage : fond avec image + overlay sombre */
.home .groupe-banner {
    min-height: 500px;
    background-image:
        linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)),
        url('/wp-content/uploads/2025/12/banner-accueil-aigeco.jpg');
    background-size: cover;
}

/* Pages intérieures : bandeau blanc minimaliste */
body:not(.home) .groupe-banner {
    min-height: 125px !important;
    height: 100px;
    background-color: white !important;
    background-image: none;
    color: black;
}

body:not(.home) .groupe-banner .wp-block-navigation-item.wp-block-navigation-link {
    color: #0f664a;
}

body:not(.home) .first-range-header .wp-block-navigation-item.wp-block-navigation-link {
    color: white;
}

/* Bloc hero (contenu centré dans la banner) — masqué par défaut */
.groupe-banner .wp-block-group.alignfull.has-global-padding.is-content-justification-center.is-layout-constrained.wp-block-group-is-layout-constrained.has-background {
    display: none;
}

/* Visible uniquement sur la homepage */
.home .groupe-banner .wp-block-group.alignfull.has-global-padding.is-content-justification-center.is-layout-constrained.wp-block-group-is-layout-constrained.has-background {
    display: block;
    min-height: 515px !important;
}

.groupe-banner .wp-block-group.alignfull.has-global-padding.is-content-justification-center.is-layout-constrained.wp-block-group-is-layout-constrained.has-background {
    top: 2px;
}

/* Titre hero homepage */
.home-title {
    position: absolute;
    top: 17.5rem;
    max-width: 700px;
    left: 50rem;
    text-align: right;
    margin-right: 8rem;
    color: white;
}

@media (max-width: 1450px) {
    .home-title {
        left: 30rem;
    }
}


/* ============================================================
   BOUTONS CTA
   Règle principale dans main, avec hover unique
   ============================================================ */

main a.wp-block-button__link,
main .wp-block-button__link,
main .wp-element-button {
    font-family: 'Figtree', sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 22px !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    color: #FFFFFF !important;
    background-color: #90D145 !important;
}

main a.wp-block-button__link:hover,
main .wp-block-button__link:hover,
main .wp-element-button:hover,
.wp-block-button__link.has-background.has-custom-font-size.wp-element-button:hover {
    background-color: #053425 !important;
}

/* Boutons newsletter dans le header / footer */
.wp-block-button.newsletter-btn-inner-header.is-style-fill .wp-block-button__link.has-background.wp-element-button,
.newsletter-btn-inner-footer {
    border-radius: 10px;
}

.newsletter-btn-inner-footer .wp-block-button__link {
    border-radius: 10px;
}

/* Suppression hover sur les boutons du footer */
.footer-first-row .wp-block-button__link.has-base-color.has-text-color.has-link-color.has-medium-font-size.has-custom-font-size.wp-element-button:hover {
    background: none;
}

/* Bouton générique */
.wp-block-button__link.wp-element-button {
    background-color: #90d145;
    font-size: 18px;
    font-weight: bolder;
    line-height: 22px;
}


/* ============================================================
   LIENS DANS LE CONTENU ÉDITORIAL
   Animation underline au hover
   ============================================================ */

.entry-content p.has-text-color a {
    color: inherit;
    background-image: none;
}

.wp-block-post-content p a:not(.wp-element-button):not(.zpc-card-link):not(.zjc-card-link),
.wp-block-post-content li a:not(.wp-element-button):not(.zpc-card-link):not(.zjc-card-link),
.wp-block-post-content blockquote a:not(.wp-element-button):not(.zpc-card-link):not(.zjc-card-link),
.wp-block-post-content h1 a:not(.wp-element-button):not(.zpc-card-link):not(.zjc-card-link),
.wp-block-post-content h2 a:not(.wp-element-button):not(.zpc-card-link):not(.zjc-card-link),
.wp-block-post-content h3 a:not(.wp-element-button):not(.zpc-card-link):not(.zjc-card-link),
.wp-block-post-content h4 a:not(.wp-element-button):not(.zpc-card-link):not(.zjc-card-link) {
    color: #0F664A;
    text-decoration: none;
    background-image: linear-gradient(rgba(15, 102, 74, 0.18), rgba(15, 102, 74, 0.18));
    background-repeat: no-repeat;
    background-size: 0% 45%;
    background-position: 0 90%;
    transition: background-size 0.35s ease;
}

.wp-block-post-content p a:not(.wp-element-button):not(.zpc-card-link):not(.zjc-card-link):not(.evcal_list_a):hover,
.wp-block-post-content li a:not(.wp-element-button):not(.zpc-card-link):not(.zjc-card-link):not(.evcal_list_a):hover,
.wp-block-post-content blockquote a:not(.wp-element-button):not(.zpc-card-link):not(.zjc-card-link):not(.desc_trig):hover,
.wp-block-post-content h1 a:not(.wp-element-button):not(.zpc-card-link):not(.zjc-card-link):not(.evcal_list_a):hover,
.wp-block-post-content h2 a:not(.wp-element-button):not(.zpc-card-link):not(.zjc-card-link):not(.evcal_list_a):hover,
.wp-block-post-content h3 a:not(.wp-element-button):not(.zpc-card-link):not(.zjc-card-link):not(.evcal_list_a):hover,
.wp-block-post-content h4 a:not(.wp-element-button):not(.zpc-card-link):not(.zjc-card-link):not(.evcal_list_a):hover {
    background-size: 100% 45%;
}

/* ============================================================
   NEWSLETTER — Bloc bannière
   ============================================================ */

.newsletter-form h3 {
    color: #fff;
    margin-bottom: 10px;
}

.banner-newsletter h3 {
    color: white;
    font-size: 30px;
}

.banner-newsletter #wpcf7-f339-o1 {
    position: relative;
    right: 15rem;
}

.newsletter-row {
    display: flex;
    gap: 8px;
}

.wp-block-group.banner-newsletter.has-global-padding.is-layout-constrained.wp-block-group-is-layout-constrained {
    align-content: end;
    border: none;
}

.newsletter-row .wpcf7-form-control.wpcf7-email.wpcf7-validates-as-required.wpcf7-text.wpcf7-validates-as-email {
    background-color: #ffffff7a;
}

.newsletter-row input[type="email"] {
    flex: 1;
    padding: 10px;
    border-radius: 4px;
    border: none;
}

.newsletter-row input::placeholder {
    color: #999;
}

.newsletter-row input[type="submit"] {
    background: #fff;
    border: none;
    padding: 10px 16px;
    border-radius: 4px;
    color: #0f664a;
}

.newsletter-row p {
    display: flex;
    gap: 5px;
}

.banner-newsletter {
    background-size: auto !important;
    background-image: linear-gradient(to right, #0F664A 0%, transparent 100%), url('https://ai.zedd.pro/wp-content/uploads/2025/12/1200-800-max.webp');
}

.vague-bottom-newsletter {
    transform: scaleX(-1);
    position: relative;
    top: 5px;
}


/* ============================================================
   AGENDA — Bloc événements homepage
   ============================================================ */

.agenda-span {
    width: 550px;
}

.groupe-agenda {
    max-width: 1400px;
    margin: 2rem auto;
}

/* Masque le séparateur HR après le dernier événement */
.home-events .agenda-span:last-of-type hr {
    display: none;
}


/* ============================================================
   ENCART GÉNIE — Vagues décoratives
   ============================================================ */

.vague-top-genie {
    transform: scaleX(1) scaleY(-1);
}

.vague-top-genie img {
    margin-bottom: -5px;
}

.genie-first-column {
    align-content: center;
}


/* ============================================================
   CAROUSEL (Newspack Blocks)
   ============================================================ */

.swiper-pagination-bullets.swiper-pagination-clickable.swiper-pagination-horizontal {
    display: none;
}

.wp-block-newspack-blocks-carousel .swiper-slide {
    max-width: 399px;
}

.wp-block-newspack-blocks-carousel .swiper-button {
    background-color: #90D145;
    border-radius: 20px;
}

.wp-block-newspack-blocks-carousel .swiper-button-prev {
    right: auto;
    margin-top: 0px;
    left: -1rem;
    height: 80px;
    top: 12rem;
}

.wp-block-newspack-blocks-carousel .swiper-button.swiper-button-next {
    height: 80px;
    top: 12rem;
    right: -1rem;
}

.swiper-horizontal .post-has-image .entry-wrapper {
    position: inherit;
    background: #f5f5f5;
    padding: 25px 24px 24px;
}

.swiper-horizontal .post-thumbnail {
    position: relative;
    overflow: hidden;
}

.swiper-horizontal .entry-meta {
    position: absolute;
    bottom: 4.5rem;
    right: 20px;
    background: #1f6b4d;
    color: #fff;
    padding: 8px 16px;
    border-radius: 999px;
}

.swiper-horizontal .swiper-wrapper .post-has-image.swiper-slide.category-portraits-jury.type-post.post.swiper-slide-duplicate {
    height: 450px !important;
}

.swiper-slide figure {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

.swiper-slide .entry-wrapper {
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

.entry-title a {
    color: black !important;
    font-size: 30px;
    font-weight: bold;
    font-family: Figtree;
}

.zpc-card-title {
    font-size: 20px !important;
}

.ged-carousel-header {
    max-width: 90%;
    margin: 0 auto;
}

.ged-carousel-wrapper {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 5rem !important;
}

.ged-carousel-title {
    font-family: 'Figtree', sans-serif !important;
    font-size: 60px !important;
    font-weight: 700 !important;
    line-height: 55px !important;
    letter-spacing: 0 !important;
    color: #0F664A !important;
    max-width: 850px;
}


.ged-carousel-header .ged-carousel-btn-link {
    display: flex !important;
}

.ged-carousel-track {
    max-width: 1275px;
    margin: 0 auto;
}

.title-derniere-actus {
    margin: 0 3rem;
}


.ged-carousel-slide {
    max-width: 300px;
}

/* ============================================================
   GALERIE MASONRY (page Ingénierie)
   ============================================================ */

.wp-block-gallery.has-nested-images figure.wp-block-image img {
    display: block;
    height: auto;
    max-width: 100% !important;
    width: auto;
    max-height: 300px;
    object-fit: cover;
}

.masonry-group {
    padding: 20px;
    max-width: 1400px;
    margin: 0 auto;
}

.masonry-gallery {
    display: flex !important;
    width: 100%;
    flex-wrap: wrap;
    justify-content: center;
}



.masonry-gallery::after {
    content: '';
    display: block;
    clear: both;
}

.masonry-gallery p {
    position: relative;
    z-index: 1;
    color: white !important;
    bottom: 14rem;
}

/* Colonnes 50% par défaut */
.masonry-gallery .grid-sizer {
    width: calc(50% - 10px);
}

.masonry-gallery>.wp-block-group {
    float: left;
    width: calc(50% - 10px) !important;
    margin: 0 0 20px 0 !important;
    box-sizing: border-box;
    max-height: 350px;
}

.masonry-gallery>.wp-block-group:nth-child(odd) {
    margin-right: 20px !important;
}

/* Items plus petits (classes spécifiques) */
.masonry-gallery>.wp-block-group:has(.little-masonry-1),
.masonry-gallery>.wp-block-group:has(.little-masonry-4) {
    width: calc(30% - 10px) !important;
}

.masonry-gallery .wp-block-group figure {
    margin: 0 0 10px 0 !important;
    position: relative;
}

.masonry-gallery figure {
    position: relative;
    overflow: hidden;
}

/* Overlay vert au hover */
.masonry-gallery figure::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(76, 175, 80, 0);
    transition: background-color 0.3s ease;
    z-index: 1;
    pointer-events: none;
}

.masonry-gallery .wp-block-group:hover figure::before {
    background-color: rgb(15, 102, 74);
    border-radius: 10px;
}

/* Trait blanc animé en haut */
.masonry-gallery figure::after {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    width: 50px;
    height: 3px;
    background-color: white;
    z-index: 2;
    transition: width 0.3s ease;
    transform: translateX(-50%) rotate(90deg);
}

.masonry-gallery .wp-block-group:hover figure::after {
    width: 150px;
}

.masonry-gallery .wp-block-group figure img {
    display: block;
    width: 100%;
    height: 350px;
    object-fit: cover;
    border-radius: 12px;
}

.masonry-gallery .wp-block-group p {
    margin: 10px 0 0 0;
    text-align: center;
}

/* Liens blancs dans la galerie */
.masonry-gallery p>a,
.masonry-gallery .entry-content a,
.masonry-gallery .wp-block-post-content a {
    color: white !important;
}


/* ============================================================
   FOOTER
   ============================================================ */

footer .wp-block-button__link.wp-element-button {
    background-color: unset;
}

footer.wp-block-template-part .wp-block-group.alignfull.is-layout-flex {
    display: flex;
}

footer.wp-block-template-part .wp-block-group.alignfull.is-layout-flex>.wp-block-group {
    position: relative;
    padding-right: 2rem;
    margin-right: 2rem;
}

footer.wp-block-template-part .wp-block-group.alignfull.is-layout-flex>.wp-block-group:last-child::after {
    display: none;
}

.branche-footer {
    max-width: 500px;
    position: absolute;
    padding-top: 0.75rem;
    transform: rotate(4deg);
}

.footer-first-row {
    display: flex;
    gap: 0rem;
    margin-right: 7.50rem;
    padding-top: 1rem;
}

.footer-first-row>.wp-block-group {
    position: relative;
}

.footer-global-row {
    justify-content: space-between;
}

.wp-block-group.alignfull.is-layout-flex.wp-container-core-group-is-layout-40274c8f.wp-block-group-is-layout-flex {
    justify-content: space-between;
}


/* ============================================================
   CONNEXION / DÉCONNEXION — Icônes Font Awesome
   ============================================================ */

.wp-block-loginout a {
    font-size: 0;
}

.wp-block-loginout a::before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 20px;
}

.wp-block-loginout.logged-in a::before {
    content: "\f2f5";
    /* icône logout */
}

.wp-block-loginout.logged-out a::before {
    content: "\f007";
    /* icône login */
}


/* ============================================================
   ANNUAIRE — Cards acteurs
   ============================================================ */

.top-annuaire {
    text-align: center;
    background-color: #0f664a;
    color: white;
    padding: 1rem 0 3rem 0;
}

.acteur-card {
    position: relative;
    background: linear-gradient(145deg, #ffffff, #f7f9f8);
    border-radius: 18px;
    border: 1px solid rgba(0, 0, 0, 0.06);
    overflow: hidden;
    transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
    margin-top: 2rem;
}

/* Glow radial au hover */
.acteur-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at top left, rgba(15, 102, 74, 0.15), transparent 60%);
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: 0;
}

/* Barre décorative en haut de la card */
.acteur-card::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 3px;
    width: 100%;
    background: linear-gradient(90deg, #0f664a, #1c8f6a, #0f664a);
    opacity: 0.8;
}

.acteur-card:hover {
    transform: translateY(-8px) scale(1.01);
    box-shadow:
        0 20px 40px rgba(0, 0, 0, 0.08),
        0 8px 20px rgba(15, 102, 74, 0.12);
    border-color: rgba(15, 102, 74, 0.2);
}

.acteur-card:hover::before {
    opacity: 1;
}

.acteur-card-inner {
    position: relative;
    z-index: 1;
    padding: 22px;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.acteur-card-header {
    margin-bottom: 14px;
}

.acteur-card-title {
    font-size: 20px !important;
    font-weight: 600;
    line-height: 1.45;
    margin: 0 0 8px;
}

.acteur-card-title a {
    color: #111;
    text-decoration: none;
    background-image: linear-gradient(#0f664a, #0f664a);
    background-size: 0% 2px;
    background-position: 0% 100%;
    background-repeat: no-repeat;
    transition: all 0.3s ease;
}

.acteurs-images {
    max-width: 280px;
}

.acteur-card-title a:hover {
    color: #0f664a;
    background-size: 100% 2px;
}

/* Badge type d'acteur */
.acteur-type {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    padding: 5px 12px;
    border-radius: 999px;
    background: rgba(15, 102, 74, 0.08);
    color: #0f664a;
    border: 1px solid rgba(15, 102, 74, 0.15);
    backdrop-filter: blur(4px);
}
/* Lien "Voir la fiche" avec underline animée */
.btn-voir-fiche {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.9rem;
    font-weight: 500;
    color: #0f664a;
    text-decoration: none;
    padding: 6px 0;
    position: relative;
    transition: all 0.25s ease;
}

.btn-voir-fiche::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0%;
    height: 2px;
    background: #0f664a;
    transition: width 0.3s ease;
}

.btn-voir-fiche:hover::before {
    width: 100%;
}

.btn-voir-fiche:hover::after {
    transform: translateX(5px);
}

.acteur-card:hover .acteur-type {
    background: rgba(15, 102, 74, 0.12);
    border-color: rgba(15, 102, 74, 0.25);
}

.acteur-card-link p:first-child {
    display: none;
}

.acteurs-results {
    margin-left: 3rem;
    margin-right: 3rem;
}

.acteurs-pagination {
    margin-top: 3rem;
    text-align: center;
    display: flex;
    justify-content: center;
}

.btn-all-acteurs br {
    display: none;
}


/* ============================================================
   PAGE — Modèle "No Title"
   ============================================================ */

.page-template-page-no-title .groupe-banner .has-background {
    display: none;
}

.title-model-no-title {
    position: absolute;
    left: 5rem;
    top: 4rem;
}

.wp-image-441 {
    position: relative;
    top: 5px;
}


/* ============================================================
   PAGE — Modèle Zedd (entête avec image)
   ============================================================ */

.page-template-mod-le-zedd-page .wp-block-image.alignfull.size-large {
    position: relative;
    top: 5px;
}

.page-template-mod-le-zedd-page iframe {
    max-width: 500px;
}

.titre-entete-compo {
    padding-bottom: 3rem;
}

.titre-entete-compo>p {
    padding-bottom: 2rem;
}

.entete-parent-bis,
.entete-parent {
    background: linear-gradient(to bottom, #0000008c 0%, transparent 100%);
}

.titre-entete-bis {
    font-size: 60px !important;
    position: relative;
    top: 4rem;
    left: -15rem;
    font-weight: 700 !important;
}

.entete-parent .wp-block-image.size-full.is-style-default img {
    min-height: 400px !important;
    margin-right: 0;
}

.entete-parent .wp-block-heading {
    position: relative;
    bottom: 2rem;
    margin-right: 4rem;
}

.entete-parent p {
    margin-bottom: 2.5rem;
    margin-right: 4rem;
    font-size: 20px !important;
}

.entete-parent .wp-block-group.is-content-justification-space-between.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-c6ad3756.wp-block-group-is-layout-flex {
    min-height: 375px;
}

.entete-parent>div:first-of-type {
    min-height: 400px !important;
}

.wp-block-group.entete-parent.has-background.is-layout-flow.wp-block-group-is-layout-flow div>div {
    min-width: unset;
}

.entete-parent-bis .wp-block-image img {
    height: 100%;
    max-height: 180px;
}

.wp-block-group.entete-parent-bis.has-background {
    max-height: 380px !important;
}


/* ============================================================
   PAGE — Prix National Écologique (id-1076)
   ============================================================ */

.page-id-1076 .wp-block-button a>strong {
    color: white;
}



/* ============================================================
   SINGLE POST
   ============================================================ */

.titre-single-post.wp-block-post-title {
    max-width: 800px;
    color: white;
    left: 5rem;
    position: relative;
    top: 2.5rem;
    font-size: 54px;
    font-weight: 600;
}

.single-post .wp-image-441 {
    top: 1px;
}



/* ============================================================
   DIVERS
   ============================================================ */

.wp-block-image.size-large.has-custom-border.wp-container-content-f22b2ade {
    padding-right: 3rem;
}

.event-tag {
    background-color: black;
    color: white;
    border-radius: 10px;
    font-size: 15px;
    padding: 5px;
}

.bloc-iframe p {
    display: flex;
    justify-content: center;
}

#metaslider-id-956 .flexslider .flex-pauseplay {
    display: none !important;
}

:where(.wp-site-blocks :focus) {
    outline-style: unset !important;
    outline-width: 2px;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 768px) {

    /* Galerie masonry : une colonne */
    .masonry-gallery .grid-sizer,
    .masonry-gallery>.wp-block-group,
    .masonry-gallery>.wp-block-group:has(.little-masonry-1),
    .masonry-gallery>.wp-block-group:has(.little-masonry-4) {
        width: 100% !important;
        margin-right: 0 !important;
    }

    /* Header first-range : réorganisation en row-reverse sur mobile */
    .wp-block-group.first-range-header.has-background.is-content-justification-left.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-b4296fb3.wp-block-group-is-layout-flex {
        display: flex !important;
        flex-flow: row-reverse !important;
        text-align: center !important;
    }
}


/* ============================================
   FORMULAIRE DE RECHERCHE ANNUAIRE - GRID
   ============================================ */

.annuaire-search-form {
    background: #ffffff !important;
    padding: 2.5rem !important;
    border-radius: 12px !important;
    margin: 2rem 0 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
}

.annuaire-search-form .search-filters {
    display: block !important;
}

/* Barre de recherche */
.annuaire-search-form .search-row {
    margin-bottom: 0 !important;
}

.annuaire-search-form .search-keywords {
    margin-bottom: 2rem !important;
}

.annuaire-search-form .search-keywords label {
    font-weight: 600 !important;
    color: #0f664a !important;
    margin-bottom: 0.75rem !important;
    display: block !important;
    font-size: 1.1rem !important;
}

.annuaire-search-form .search-keywords input[type="text"] {
    width: 100% !important;
    padding: 1rem 1.25rem !important;
    border: 2px solid #e0e0e0 !important;
    border-radius: 8px !important;
    font-size: 1rem !important;
    transition: all 0.3s !important;
    box-sizing: border-box !important;
}

.annuaire-search-form .search-keywords input[type="text"]:focus {
    outline: none !important;
    border-color: #0f664a !important;
    box-shadow: 0 0 0 3px rgba(15, 102, 74, 0.1) !important;
}

/* Grid pour les filtres */
.annuaire-search-form .filters-row {
    display: flex !important;
    margin-bottom: 2rem !important;
}

.annuaire-search-form .filters-row .search-field {
    display: flex !important;
    flex-direction: column !important;
}

.annuaire-search-form .filters-row .search-field label {
    font-weight: 600 !important;
    color: #333 !important;
    margin-bottom: 0.625rem !important;
    display: block !important;
    font-size: 0.95rem !important;
}

.annuaire-search-form .filters-row .search-field select {
    width: 100% !important;
    padding: 0.875rem 1rem !important;
    border: 2px solid #e0e0e0 !important;
    border-radius: 8px !important;
    font-size: 0.95rem !important;
    background-color: white !important;
    cursor: pointer !important;
    transition: all 0.3s !important;
    box-sizing: border-box !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 1rem center !important;
    padding-right: 3rem !important;
}

.annuaire-search-form .filters-row .search-field select:focus {
    outline: none !important;
    border-color: #0f664a !important;
    box-shadow: 0 0 0 3px rgba(15, 102, 74, 0.1) !important;
}

/* Boutons */
.annuaire-search-form .search-actions {
    display: flex !important;
    gap: 1rem !important;
    align-items: center !important;
    flex-wrap: wrap !important;
}

.annuaire-search-form .btn-search {
    background: #0f664a !important;
    color: white !important;
    padding: 1rem 2.5rem !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s !important;
    box-shadow: 0 2px 4px rgba(15, 102, 74, 0.2) !important;
}

.annuaire-search-form .btn-search:hover {
    background: #0d5439 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 8px rgba(15, 102, 74, 0.3) !important;
}

.annuaire-search-form .btn-reset {
    color: #666 !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    padding: 1rem 1.5rem !important;
    transition: color 0.3s !important;
    background: #f5f5f5 !important;
    border-radius: 8px !important;
}

.annuaire-search-form .btn-reset:hover {
    color: #0f664a !important;
    background: #e8f5f1 !important;
}

/* Responsive */
@media (max-width: 768px) {
    .annuaire-search-form .filters-row {
        grid-template-columns: 1fr !important;
    }

    .annuaire-search-form .search-actions {
        flex-direction: column !important;
        width: 100% !important;
    }

    .annuaire-search-form .btn-search,
    .annuaire-search-form .btn-reset {
        width: 100% !important;
        text-align: center !important;
        justify-content: center !important;
    }
}

@media (min-width: 1200px) {
    .annuaire-search-form .filters-row {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

.ged-popup-actions {
    text-align: center;
}




/* Portraits jury */
.groupe-portraits-main {
    display: flex;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto;
    align-items: flex-start;
    gap: 1.15rem;
    justify-content: center;
}

.groupe-portraits {
    background-color: gray;
    flex: 0 0 calc(33.333% - 1.15rem);
    max-width: calc(33.333% - 1.15rem);
    box-sizing: border-box;
    border-radius: 80% 80% 0 0 / 80% 80% 0 0;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    box-shadow: 0 6px 25px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.groupe-portraits:hover {
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15), 0 5px 15px rgba(0, 0, 0, 0.1);
    transform: translateY(-6px);
}

.groupe-portraits-image img {
    width: 100%;
    max-width: 100%;
    border-radius: 80% 80% 0 0 / 80% 80% 0 0;
    height: 300px;
    object-fit: cover;
}

.groupe-texte-portrait {
    padding: 1rem;
    text-align: center;
}

.groupe-portraits-main.is-layout-constrained>*,
.groupe-portraits-main.is-layout-constrained> :first-child {
    margin-block-start: 0 !important;
}

@media (max-width: 900px) {
    .groupe-portraits {
        flex: 0 0 calc(50% - 1.15rem);
        max-width: calc(50% - 1.15rem);
    }
}

@media (max-width: 580px) {
    .groupe-portraits {
        flex: 0 0 100%;
        max-width: 100%;
    }
}


.ged-carousel-slide .acteur-card {
    height: 500px;
}


#wp-block-newspack-carousel__1 {
    max-width: 1200px;
    margin: 0 auto;
}



.wp-block-newspack-blocks-carousel .swiper-slide {

    max-width: 399px;

    padding-left: 0rem !important;

    padding-right: 0rem !important;
}

/*gap menu navabr */

.wp-block-navigation__container.is-responsive.items-justified-space-between.items-menu-navbar.wp-block-navigation {
    gap: 20px;
}

.page-id-16 .wp-block-group.has-base-color.has-text-color.has-link-color.has-figtree-font-family.has-small-font-size.wp-elements-64f1fff22f7aadb213fe2b7e60ca5799.is-layout-flow.wp-container-core-group-is-layout-be395c68.wp-block-group-is-layout-flow {
    margin-left: 7rem;
}

.zfc-card-desc {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.acteur-card-excerpt {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.acteur-card {
    max-height: 590px;
}


.ged-citation-block {
    position: relative;
}

.ged-citation-block .wp-block-column:first-child {

    top: 0;
    left: 0;
    z-index: 1;
    width: 15% !important;
    flex-basis: unset !important;
    pointer-events: none;
}

.ged-citation-block .wp-block-column:last-child {
    width: 100% !important;
    flex-basis: 100% !important;
    padding-left: 0px;
    padding-top: 0;
    position: relative;
    z-index: 2;
}


.page-id-1007 .ged-citation-block .wp-block-column:first-child {
    left: 3rem;
}


/******/
/* 

.bloc-vert {
    position: relative;
    overflow: hidden;
}

/* voile noir */
/* .bloc-vert::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    z-index: 1;
} */

/* le texte passe au-dessus */
/* .bloc-vert p {
    position: relative;
    z-index: 2;
    color: #fff !important;
}  */
iframe {
    width: 100%;
    min-height: 400px;
}

#ez-toc-container {
    display: none;
}

.ez-toc-sidebar {
    max-height: 600px;
    left: 1.5rem;
    bottom: -20rem;
    opacity: 0.75;
    max-width: 280px;
    height: auto !important;
}

.ez-toc-sticky-fixed.show.ez-toc-sticky-grey {
    position: fixed !important;
    top: 0 !important;
    left: 1rem !important;
    z-index: 999999 !important;
    width: 325px !important;
    max-width: 100% !important;
}

#ez-toc-sticky-container {
    font-size: 15px;
}

.ged-milieux .ged-list {
    list-style: none;
    padding-left: 0;
}

.ged-field-nom-structure #ged-post-title {
    width: 96.5%;
}

.ged-field-nom-structure {
    padding: 1.5rem 3rem !important;
}

.page-id-1880 .acf-checkbox-list.acf-bl {
    overflow: auto;
    max-height: 200px;
}

.post-new-php .acf-checkbox-list.acf-bl {
    max-height: 400px;
    overflow: auto;
}

li {
    font-size: 18px;
}

.wp-block-search__input::placeholder {
    color: #fff;
    opacity: 1;
}

.wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container {
    min-width: 225px;
}




/*TYEST STICKY */

/* ============================================
   STICKY HEADER
   ============================================ */
.header-second-row-custom {
    transition: all 0.3s ease;
}

.header-sticky {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background-color: #0f4a2e !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
    opacity: 0.90;
    border-radius: 20px;
}

.header-sticky nav {
    margin-right: 3rem;
}


.header-sticky .wp-block-navigation-item__content {
    color: white !important;
}

.header-sticky .wp-block-navigation__submenu-container .wp-block-navigation-item__label {
    color: #0F664A !important;
}

.header-sticky .wp-block-navigation__submenu-container .wp-block-navigation-item__label:hover {
    color: #90D145 !important;
}


.header-sticky .wp-block-navigation-submenu .wp-block-navigation__submenu-icon svg {
    stroke: white;
}


body:not(.home) .header-second-row-custom.header-sticky .wp-block-site-logo a {
    height: 65px;
    background-image: url("/wp-content/uploads/2025/12/Logo_A-IGEco_blanc.png");

}





body.has-sticky-header {
    padding-top: 80px;
}



/* ============================================
   BACK TO TOP
   ============================================ */
#back-to-top {
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    z-index: 9999;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #0f4a2e;
    color: white;
    border: none;
    font-size: 1.25rem;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
}

#back-to-top.visible {
    opacity: 1;
    visibility: visible;
}

#back-to-top:hover {
    background: #1a6b42;
}

.header-sticky .wp-block-site-logo img {
    max-width: 60%;
}

.header-sticky .wp-block-site-logo {
    text-align: center;
}


/*Coloriser les boutons interne extener asssociés avec du JS */
.btn-interne {
    background-color: #90d145 !important;
    border-color: #90d145 !important;
}

.btn-externe {
    background-color: #0f4a2e !important;
    border-color: #0f4a2e !important;
}

/* Submenu niveau 3 : pop à gauche quand overflow */
/* Niveau 3 : forcer ouverture à gauche */
.wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
    left: auto !important;
    right: 100% !important;
}


/*H3 newsletter */

.page-id-17038 h3 {
    color: white !important;
}

/* Recentrer l'iframe Calameo quand élargi */
iframe[src*="calameo.com"] {
    display: block;
    margin: 0 auto;
    max-width: 100%;
}

.wp-block-html:has(iframe[src*="calameo.com"]),
.wp-block-embed__wrapper:has(iframe[src*="calameo.com"]) {
    display: flex;
    justify-content: center;
}

.newsletter-rgpd a {
    color: white !important;
}

.wp-social-link-linkedin a {
    width: 25px !important;
    height: 25px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.wp-social-link-linkedin svg {
    width: 25px !important;
    height: 25px !important;
    transform: scale(1.4);
}

.wp-social-link-youtube .wp-block-social-link-anchor svg {
    width: 35px;
    height: 35px;
}




/**REMPLACEMENT DU CSS MODULE GED POUR LE PLACER ICI - GRID FICHE SINGEL ACTEUR **/

/* ── Neutralise le titre FSE natif ── */
.single-acteur h1.wp-block-post-title,
.single-acteur .wp-block-post-title {
    display: none !important;
}

/* ── alignfull exclut le div du :where FSE, on recentre manuellement ── */
.ged-layout {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    align-items: start !important;
    max-width: 1100px !important;
    width: 100% !important;
    margin: 2rem auto !important;
    padding: 0 1rem !important;
    box-sizing: border-box !important;
}

/* ── Enfants de la grid : reset total des marges FSE ── */
.ged-layout>.ged-col-left,
.ged-layout>.ged-col-right {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

/* ── Colonne gauche ── */
.ged-col-left {
    position: sticky !important;
    top: 4rem !important;
}

.ged-titre {
    margin: 0 0 1rem 0 !important;
    font-size: 1.75rem !important;
    line-height: 1.3 !important;
    color: inherit !important;
}

.ged-featured-image {
    margin-top: 1rem !important;
}

.ged-featured-image img {
    width: 80% !important;
    height: auto !important;
    border-radius: 8px !important;
    display: block !important;
}

/* ── Colonne droite ── */
.ged-acteur-infos {
    width: 100% !important;
}

/* ── Sections ── */
.ged-section {
    margin: 0 0 1.5rem 0 !important;
    padding: 1.5rem !important;
    background: #f9f9f9 !important;
    border-left: 4px solid #0f664a !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
}

.ged-section:last-child {
    margin-bottom: 0 !important;
}

.ged-section h3 {
    margin: 0 0 0.75rem 0 !important;
    color: #0f664a !important;
    font-size: 1.25rem !important;
}

/* ── Badges & Tags ── */
.ged-badges,
.ged-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
    margin-top: 0.5rem !important;
}

.ged-badge {
    display: inline-block !important;
    background: #0f664a !important;
    color: white !important;
    padding: 0.375rem 0.875rem !important;
    border-radius: 4px !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
}

.ged-tag {
    display: inline-block !important;
    background: white !important;
    border: 1px solid #0f664a !important;
    color: #0f664a !important;
    padding: 0.25rem 0.75rem !important;
    border-radius: 20px !important;
    font-size: 0.875rem !important;
}

/* ── Listes ── */
.ged-list {
    list-style: disc !important;
    margin: 0.5rem 0 0 1.5rem !important;
    padding: 0 !important;
    line-height: 1.8 !important;
}

/* ── Texte ── */
.ged-text {
    line-height: 1.8 !important;
    margin: 0 !important;
}

/* ── Coordonnées ── */
.ged-coordonnees p {
    margin: 0.5rem 0 !important;
}

.ged-coordonnees a {
    color: #0f664a !important;
    text-decoration: none !important;
}

.ged-coordonnees a:hover {
    text-decoration: underline !important;
}

.ged-descriptif-full {
    max-width: 1100px;
    margin: 1.5rem auto 0;
    padding: 0 1rem;
    box-sizing: border-box;
}

.ged-descriptif-full .ged-section {
    margin-bottom: 0;
}

/* ── Responsive ── */
@media (max-width: 768px) {
    .ged-layout {
        grid-template-columns: 1fr !important;
    }

    .ged-col-left {
        position: static !important;
    }
}

.ged-acteur-infos h3 {
    color: #0f664a !important;
}

.acteurs-pagination .page-numbers {

    color: #0f664a;
}

.acteurs-pagination .page-numbers:hover,
.acteurs-pagination .page-numbers.current {
    background: #0f664a;
    color: white;
    border-color: #0f664a;
}

.acf-field.acf-field-text.is-required {
    background: #f9f9f9;
    padding: 1.5rem 2rem;
    margin-bottom: 0;
}

.top-adhesion-annuaire .wp-block-paragraph {
    max-width: 1200px;
    margin: 0 auto;
    padding-bottom: 2rem;
}

.masonry-gallery strong {
    font-size: 30px;
    font-weight: 700;
    line-height: 30px;
    color: white;
}













/*TEST RESPONSIVE FOOTER */


/* ============================================
   FOOTER RESPONSIVE - MAX-WIDTH: 768px
   ============================================ */

@media (max-width: 768px) {

    /* ---------- STRUCTURE GLOBALE DU FOOTER ---------- */
    .footer-global-row {
        flex-direction: column !important;
        align-items: center !important;
        gap: 30px !important;
        padding: 0 20px !important;
        margin-top: 20px !important;
    }

    /* Première ligne du footer (logo, contact, réseaux) */
    .footer-first-row {
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0px !important;
        width: 100%;

    }

    /* Logo */
    .footer-first-row .wp-block-site-logo {
        text-align: center;
        margin-left: 0 !important;
    }

    .footer-first-row .wp-block-site-logo img {
        max-width: 200px;
        height: auto;
        margin: 0 auto;
    }

    /* Bloc Contact et Accès administrateur */
    .footer-first-row .wp-block-group.is-style-default {
        text-align: center;
        padding: 0 !important;
        width: 100%;
    }

    .footer-first-row .wp-block-buttons {
        justify-content: center;
        align-content: center;
    }

    footer.wp-block-template-part .wp-block-group.alignfull.is-layout-flex>.wp-block-group {
        padding-right: 0rem !important;
        margin-right: 0rem !important;
    }

    .footer-first-row .wp-block-button {
        width: auto;
    }

    .footer-first-row .wp-block-button__link {
        font-size: 16px !important;
        padding: 8px 0 !important;
        display: inline-block;
    }

    /* Bloc réseaux sociaux et newsletter */
    .footer-first-row .wp-block-group:last-child {
        text-align: center;
        padding: 0 !important;
        width: 100%;
    }

    .wp-block-social-links {
        justify-content: center !important;
        margin-bottom: 15px;
    }

    .wp-block-social-links li {
        transform: scale(1.1);
    }

    .newsletter-btn-inner-footer {
        text-align: center;
    }

    .newsletter-btn-inner-footer .wp-block-button__link {
        display: inline-block;
        padding: 8px 20px !important;
        font-size: 14px !important;
    }

    /* ============================================ */
    /* SECTION DES LIENS (Plan du site, etc.) */
    /* ============================================ */



    /* Navigation verticale des liens */
    nav.wp-block-navigation.is-vertical {
        width: 100%;
        text-align: center;
    }

    nav.wp-block-navigation.is-vertical .wp-block-navigation__container {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 15px !important;
        width: 100%;
        padding: 0;
        margin: 0;
    }

    /* Chaque élément de lien */
    nav.wp-block-navigation.is-vertical .wp-block-navigation-item {
        width: 100%;
        text-align: center;
        justify-content: center;
    }

    /* Style des liens */
    nav.wp-block-navigation.is-vertical .wp-block-navigation-item__content {
        display: inline-block;
        padding: 8px 0 !important;
        font-size: 14px !important;
        color: #ffffff !important;
        text-decoration: none;
        transition: opacity 0.3s ease;
    }

    nav.wp-block-navigation.is-vertical .wp-block-navigation-item__content:hover {
        opacity: 0.8;
        text-decoration: underline;
    }

    /* Ajout d'un séparateur visuel entre les sections */
    .wp-block-group.is-content-justification-center {
        border-top: 1px solid rgba(255, 255, 255, 0.2);
    }

    /* Image branche footer */
    .branche-footer {
        display: none;
    }

    /* Vague décorative du footer */
    .wp-block-group[style*="background-image:url"] {
        background-size: cover;
        background-position: center top;
        padding-top: 40px !important;
    }

    /* Espaceur */
    .wp-block-spacer {
        height: 20px !important;
    }
}

/* ============================================
   AMÉLIORATIONS POUR TRÈS PETITS ÉCRANS (480px)
   ============================================ */
@media (max-width: 480px) {

    .footer-first-row .wp-block-site-logo img {
        max-width: 160px;
    }

    .footer-first-row .wp-block-button__link {
        font-size: 14px !important;
    }

    nav.wp-block-navigation.is-vertical .wp-block-navigation-item__content {
        font-size: 12px !important;
        padding: 6px 0 !important;
    }

    .newsletter-btn-inner-footer .wp-block-button__link {
        padding: 6px 16px !important;
        font-size: 12px !important;
    }

    .branche-footer {
        display: none;
    }
}

/* ============================================
   OPTIONNEL : Amélioration du mode "bureau"
   pour le footer en général (hors mobile)
   ============================================ */

/* Pour que les liens soient mieux espacés même en desktop */
@media (min-width: 769px) {
    nav.wp-block-navigation.is-vertical .wp-block-navigation__container {
        gap: 12px;
    }

    .footer-first-row {
        gap: 40px;
    }
}



/* ============================================
   HEADER / NAVBAR RESPONSIVE - MAX-WIDTH: 768px
   ============================================ */

@media (max-width: 768px) {

    .home .groupe-banner {
        background-color: #0f664a !important;
    }

    /* ---------- MASQUER L'IMAGE DE BACKGROUND SUR MOBILE ---------- */
    .groupe-banner .wp-block-group.alignfull.has-background[style*="background-image"] {
        display: none !important;
    }

    .first-range-header .wp-block-navigation {
        display: none !important;
    }

    /* ---------- MASQUER L'IMAGE DE BACKGROUND SUR MOBILE ---------- */
    .groupe-banner .wp-block-group.alignfull.has-background[style*="background-image"] {
        display: none !important;
    }

    .groupe-banner {
        min-height: auto !important;
        padding-bottom: 20px !important;
    }

    /* ---------- PREMIÈRE LIGNE (fond vert) : MENU BURGER + RÉSEAUX + NEWSLETTER ---------- */
    .nav-custom {
        flex-direction: column !important;
        align-items: center !important;
        max-height: 120px;
    }

    /* Conteneur de la première rangée (menu burger, réseaux, newsletter) */
    .first-range-header {
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        width: 100%;
        gap: 15px !important;
        padding: unset;
    }


    .nav-custom .wp-block-group.is-content-justification-right.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-a9488276.wp-block-group-is-layout-flex {
        height: 35px;
    }

    .nav-custom .logged-out.wp-block-loginout {
        height: 70px;
        width: 160px;
    }

    /* Menu burger (Actualités / Agenda) */
    .inner-first-range-header {
        order: 1;
    }

    .wp-block-navigation__responsive-container-open {
        background: transparent;
        border: none;
        cursor: pointer;
        padding: 8px;
    }

    .wp-block-navigation__responsive-container-open svg {
        fill: white;
        width: 28px;
        height: 28px;
    }

    /* Menu déroulant responsive */
    .wp-block-navigation__responsive-container:not(.is-menu-open) {
        display: none;
    }

    .wp-block-navigation__responsive-container.is-menu-open {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: #0f664a;
        z-index: 1000;
        padding: 20px;
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
        padding-top: 60px;
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
        flex-direction: column !important;
        gap: 20px !important;
        align-items: center !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
        color: white !important;
        font-size: 18px !important;
        padding: 10px !important;
    }

    .wp-block-navigation__responsive-container-close {
        position: absolute;
        top: 15px;
        right: 15px;
        background: transparent;
        border: none;
        cursor: pointer;
    }

    .wp-block-navigation__responsive-container-close svg {
        fill: white;
        width: 28px;
        height: 28px;
    }

    /* Réseaux sociaux */
    .social-media {
        order: 2;
        gap: 15px !important;
    }

    .social-media .wp-social-link {
        transform: scale(0.9);
    }

    .social-media svg {
        width: 35px !important;
        height: 35px !important;
    }

    /* Bouton Newsletter */
    .newsletter-btn-header {
        order: 3;
        padding: 0 !important;
    }

    .newsletter-btn-inner-header .wp-block-button__link {
        padding: 5px 15px !important;
        font-size: 13px !important;
        background-color: #90d145 !important;
        color: white !important;
        border-radius: 5px;
    }

    /* ---------- SECONDE LIGNE : LOGO + BARRE DE RECHERCHE + CONNEXION ---------- */
    .wp-block-group.is-content-justification-right.is-nowrap {
        align-items: center !important;
        justify-content: center !important;
        min-height: auto !important;
        width: 100%;
        gap: 15px !important;
        padding: 10px 0 !important;
        margin-bottom: 0 !important;
    }

    /* Lien Connexion / Déconnexion */
    .wp-block-loginout {
        text-align: center;
        width: 100%;
    }

    .wp-block-loginout a {
        color: white !important;
        text-decoration: none;
        font-size: 14px;
        background: rgba(255, 255, 255, 0.15);
        padding: 6px 30px;
        border-radius: 25px;
        display: inline-block;
    }

    /* Barre de recherche */
    .wp-block-search {
        width: 100% !important;
        max-width: 280px;
        margin: 0 auto !important;
    }

    .wp-block-search__inside-wrapper {
        background: white;
        border-radius: 30px;
        padding: 2px 5px;
    }

    .wp-block-search__input {
        border: none !important;
        background: transparent !important;
        padding: 8px 12px !important;
        font-size: 14px !important;
    }

    .wp-block-search__button {
        background: transparent !important;
        padding: 5px 10px !important;
    }

    .wp-block-search__button svg {
        fill: #0f664a;
        width: 20px;
        height: 20px;
    }

    /* ---------- TROISIÈME LIGNE : LOGO SITE + MENU PRINCIPAL ---------- */
    /* Logo du site */
    .wp-block-site-logo {
        text-align: center;
        width: 100%;
    }

    .wp-block-site-logo img {
        max-width: 200px !important;
        height: auto !important;
    }

    /* Menu principal (items-menu-navbar) */
    .items-menu-navbar {
        width: 100%;
    }

    .items-menu-navbar .wp-block-navigation__container {
        flex-direction: column !important;
        align-items: center !important;
        gap: 12px !important;
        width: 100%;
    }

    .items-menu-navbar .wp-block-navigation-item {
        width: 100%;
        text-align: center;
    }

    .items-menu-navbar .wp-block-navigation-item__content {
        color: white !important;
        font-size: 16px !important;
        padding: 8px 15px !important;
        display: inline-block;
        text-decoration: none;
        border-radius: 25px;
        transition: background 0.3s ease;
    }

    .items-menu-navbar .wp-block-navigation-item__content:hover {
        background: rgba(255, 255, 255, 0.1);
    }

    /* Sous-menus */
    .wp-block-navigation-submenu {
        position: relative;
        width: 100%;
    }

    .wp-block-navigation-submenu__toggle {
        position: absolute;
        right: 10px;
        top: 50%;
        transform: translateY(-50%);
        background: transparent;
        border: none;
        cursor: pointer;
    }

    .wp-block-navigation-submenu__toggle svg {
        fill: white;
        stroke: white;
    }

    .wp-block-navigation__submenu-container {
        position: static !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        background: rgba(255, 255, 255, 0.1) !important;
        border-radius: 12px;
        margin-top: 8px;
        margin-bottom: 8px;
        padding: 10px 0;
        width: 100%;
    }

    .wp-block-navigation__submenu-container .wp-block-navigation-item {
        text-align: center;
    }

    .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
        font-size: 14px !important;
        padding: 6px 12px !important;
        color: rgba(255, 255, 255, 0.9) !important;
    }

    /* Pour gérer l'ouverture/fermeture des sous-menus */
    .wp-block-navigation-submenu[aria-expanded="false"] .wp-block-navigation__submenu-container {
        display: none;
    }

    .wp-block-navigation-submenu[aria-expanded="true"] .wp-block-navigation__submenu-container {
        display: block;
    }

    .groupe-banner .wp-block-group.alignwide.is-style-default.header-second-row-custom.is-content-justification-space-between.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-d6504933.wp-block-group-is-layout-flex {
        flex-direction: row-reverse;
    }



    /* ========== CORRECTION DU MENU BURGER (FOND VERT, TEXTE BLANC) ========== */

    /* Bouton burger du menu principal */
    .items-menu-navbar .wp-block-navigation__responsive-container-open {
        background: rgba(255, 255, 255, 0.2);
        border: none;
        border-radius: 30px;
        cursor: pointer;
        padding: 10px 20px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: white;
        font-size: 14px;
        font-weight: 500;
    }

    /*decale a gauche */
    .groupe-banner .is-responsive.items-justified-space-between.items-menu-navbar.wp-block-navigation.is-content-justification-space-between.is-layout-flex.wp-block-navigation-is-layout-flex {
        left: 1rem;
    }


    body:not(.home):not(.front-page) .items-menu-navbar .wp-block-navigation__responsive-container-open {
        background: rgba(8, 56, 40, 0.74);
    }

    .header-second-row-custom .wp-block-navigation-item__content::before {
        display: none;
    }
    .wp-block-navigation-item.has-child>a:first-child {

        background-color: #0b4b36;

        border-radius: 10px;

    }

    .items-menu-navbar .wp-block-navigation__responsive-container-open::before {
        content: "☰";
        font-size: 18px;
    }

    .items-menu-navbar .wp-block-navigation__responsive-container-open span {
        display: none;
    }

    .items-menu-navbar .wp-block-navigation__responsive-container-open svg {
        display: none;
    }

    .items-menu-navbar .wp-block-navigation__responsive-container-open:hover {
        background: rgba(255, 255, 255, 0.3);
    }

    /* Conteneur du menu déroulant - FOND VERT */
    .items-menu-navbar .wp-block-navigation__responsive-container:not(.is-menu-open) {
        display: none;
    }

    .items-menu-navbar .wp-block-navigation__responsive-container.is-menu-open {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: #0f664a !important;
        /* Fond vert */
        z-index: 9999;
        padding: 20px;
        overflow-y: auto;
    }

    .items-menu-navbar .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
        padding-top: 60px;
    }

    /* Container du menu déroulant */
    .items-menu-navbar .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
        flex-direction: column !important;
        gap: 5px !important;
        align-items: stretch !important;
        margin: 0;
        padding: 0;
        list-style: none;
    }







    /* ============================================
   NEWSLETTER BANNER RESPONSIVE - MAX-WIDTH: 768px
   ============================================ */

    @media (max-width: 768px) {

        /* ---------- CONTENEUR PRINCIPAL ---------- */
        .banner-newsletter {
            min-height: auto !important;
            padding: 30px 20px 0 !important;
            margin: 0 !important;
            text-align: center;
        }

        /* ---------- ESPACEUR ---------- */
        .banner-newsletter .wp-block-spacer {
            height: 10px !important;
        }

        /* ---------- TITRE NEWSLETTER ---------- */
        .banner-newsletter h3 {
            font-size: 24px !important;
            line-height: 1.3;
            margin-bottom: 20px;
            color: white;
            text-align: center;
        }

        .banner-newsletter h3 br {
            display: none;
        }

        /* ---------- FORMULAIRE NEWSLETTER ---------- */
        .wpcf7-form {
            max-width: 100%;
            margin: 0 auto;
        }

        /* Ligne du formulaire (email + bouton) */
        .newsletter-row {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            margin-bottom: 20px;
        }

        .newsletter-row p {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 12px;
            width: 100%;
            margin: 0;
        }

        /* Champ email */
        .newsletter-row .wpcf7-form-control-wrap {
            width: 100%;
            max-width: 320px;
        }

        .newsletter-row input[type="email"] {
            width: 80%;
            padding: 14px 18px !important;
            font-size: 16px !important;
            border: none;
            border-radius: 50px !important;
            background: white !important;
            color: #333 !important;
            text-align: center;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        }

        .newsletter-row input[type="email"]::placeholder {
            color: #999;
            font-size: 14px;
        }

        .newsletter-row input[type="email"]:focus {
            outline: none;
            box-shadow: 0 0 0 2px #90d145;
        }

        /* Bouton OK */
        .newsletter-row input[type="submit"] {
            background-color: #90d145 !important;
            color: white !important;
            border: none;
            border-radius: 50px !important;
            padding: 12px 35px !important;
            font-size: 16px !important;
            font-weight: bold;
            cursor: pointer;
            transition: all 0.3s ease;
            width: auto;
            min-width: 100px;
        }
        .header-sticky nav {
            margin-right:0px;
        }
        .newsletter-row input[type="submit"]:hover {
            background-color: #7bbf35 !important;
            transform: scale(1.02);
        }

        .newsletter-row input[type="submit"]:disabled {
            opacity: 0.6;
            cursor: not-allowed;
        }

        /* Spinner de chargement */
        .newsletter-row .wpcf7-spinner {
            display: inline-block;
            margin-left: 10px;
        }

        /* ---------- CHECKBOX RGPD ---------- */
        .newsletter-rgpd {
            display: flex !important;
            align-items: center;
            justify-content: center;
            gap: 10px;
            font-size: 12px !important;
            line-height: 1.4;
            color: rgba(255, 255, 255, 0.85);
            max-width: 90%;
            margin: 15px auto 0;
            text-align: left;
        }

        .newsletter-rgpd br {
            display: none;
        }

        /* Conteneur de la checkbox */
        .wpcf7-acceptance {
            display: inline-block;
            flex-shrink: 0;
        }

        .wpcf7-list-item {
            margin: 0;
        }

        .newsletter-rgpd input[type="checkbox"] {
            width: 18px;
            height: 18px;
            margin: 0;
            cursor: pointer;
            accent-color: #90d145;
            transform: scale(1);
        }

        .newsletter-rgpd a {
            color: #90d145 !important;
            text-decoration: underline;
        }

        .newsletter-rgpd a:hover {
            color: #c8e6a0 !important;
        }

        /* ---------- IMAGE VAGUE (bas du bloc) ---------- */
        .vague-bottom-newsletter {
            display: none;
        }

        .vague-bottom-newsletter img {
            width: 100% !important;
            height: auto !important;
            min-height: 30px;
            object-fit: cover;
            display: block;
        }

        /* ---------- MESSAGES D'ERREUR / SUCCÈS ---------- */
        .wpcf7-response-output {
            margin: 20px auto 0 !important;
            padding: 12px 20px !important;
            font-size: 13px;
            text-align: center;
            border-radius: 10px;
            max-width: 90%;
        }

        .wpcf7-not-valid-tip {
            font-size: 11px;
            margin-top: 5px;
            text-align: center;
        }
    }

    /* ============================================
   AMÉLIORATIONS POUR TRÈS PETITS ÉCRANS (480px)
   ============================================ */
    @media (max-width: 480px) {

        .banner-newsletter {
            padding: 20px 15px 0 !important;
        }

        .banner-newsletter h3 {
            font-size: 20px !important;
            margin-bottom: 15px;
        }

        .newsletter-row input[type="email"] {
            padding: 12px 15px !important;
            font-size: 14px !important;
        }

        .newsletter-row input[type="submit"] {
            padding: 10px 30px !important;
            font-size: 14px !important;
        }

        .newsletter-rgpd {
            font-size: 10px !important;
            gap: 8px;
        }

        .newsletter-rgpd input[type="checkbox"] {
            width: 16px;
            height: 16px;
        }

        .vague-bottom-newsletter {
            margin-top: 20px !important;
        }

        .vague-bottom-newsletter img {
            min-height: 20px;
        }
    }

    /* ============================================
   OPTIONNEL : Améliorations pour les tablettes
   ============================================ */
    @media (min-width: 481px) and (max-width: 768px) {

        .newsletter-row p {
            flex-direction: row !important;
            justify-content: center;
            gap: 15px;
        }

        .newsletter-row .wpcf7-form-control-wrap {
            max-width: 280px;
        }

        .newsletter-row input[type="email"] {
            text-align: left;
        }

        .newsletter-rgpd {
            max-width: 80%;
        }
    }

    /* ============================================
   CORRECTIONS DES STYLES EXISTANTS
   ============================================ */

    /* S'assurer que le background est visible */
    .banner-newsletter {
        background-color: #1a1a1a !important;
        /* fallback si la classe contrast-background ne fonctionne pas */
    }

    .banner-newsletter #wpcf7-f339-o1 {
        position: initial !important;

    }

    /* Améliorer la lisibilité du texte RGPD */
    .newsletter-rgpd,
    .newsletter-rgpd a {
        transition: opacity 0.2s ease;
    }

    /* Animation douce pour le formulaire */
    .wpcf7-form .newsletter-row input,
    .wpcf7-form .newsletter-row button {
        transition: all 0.3s ease;
    }

    /* Responsive pour la vague décorative */
    @supports (object-fit: cover) {
        display: none;
    }
}


/* ============================================
   AMÉLIORATIONS POUR TRÈS PETITS ÉCRANS (480px)
   ============================================ */
@media (max-width: 480px) {
    .wp-block-site-logo img {
        max-width: 160px !important;
    }

    .items-menu-navbar .wp-block-navigation-item__content {
        font-size: 14px !important;
        padding: 6px 12px !important;
    }

    .wp-block-loginout a {
        font-size: 12px;
        padding: 6px 16px;
    }

    .wp-block-search {
        max-width: 240px;
    }

    .newsletter-btn-inner-header .wp-block-button__link {
        padding: 4px 12px !important;
        font-size: 11px !important;
    }

    .social-media {
        gap: 10px !important;
    }

    .social-media .wp-social-link {
        transform: scale(0.8);
    }
}

.wp-container-content-e1ca4baf {
    flex-basis: 0px;
}



@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateX(100%);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}




/* ============================================
   CAROUSEL ACTUALITÉS — RESPONSIVE
   ============================================ */
@media (max-width: 768px) {





/* ============================================
   CORRECTION POUR LE BOUTON DE MENU BURGER
   ============================================ */
.wp-block-navigation__responsive-container-open:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(144, 209, 69, 0.5);
    border-radius: 5px;
}

/* Animation douce pour l'ouverture du menu mobile */
.wp-block-navigation__responsive-container.is-menu-open {
    animation: fadeIn 0.3s ease;
}

.logged-in.wp-block-loginout {
    height: 75px;
}

.wp-block-search__inside-wrapper {
    height: 40px;
    max-width: 90%;
}

.wp-block-search__button-inside.wp-block-search__icon-button.wp-block-search {
    height: 70px;
}


.nav-custom .wp-block-group.first-range-header.has-background.is-content-justification-left.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-a21139c0.wp-block-group-is-layout-flex {
    padding-top: 0;
    padding-right: 0px !important;
    padding-bottom: 0;
    padding-left: 0px !important;
}








.acteurs-images {
  max-width: 90%;
}

.btn-tte-actus {
  width: 120px;
  padding-top: 5px;
  padding-right: 10px;
  padding-bottom: 10px;
  padding-left: 10px;
}

/* h2 "Prix du Génie écologique" — le second, sans has-text-align-left */
.wp-block-group.is-nowrap > .wp-block-group.is-vertical > h2.wp-block-heading:not(.has-text-align-left) {
    font-size: 24px !important;
    margin-right: 2rem;
}
.wp-block-group.is-nowrap > figure.wp-block-image.size-large.has-custom-border {
    padding: 0px;
    margin-left: 0.4rem !important;
}

.titre-2026 strong {
  font-size: 24px;
}
	.ged-carousel-title {
		font-size:40px !important;
	}

    /* Forcer 1 slide visible */
    .wp-block-newspack-blocks-carousel .swiper-slide {
    width: 90vw !important;
    max-width: 90vw !important;
    padding: 1.25rem !important;
  }
    /* Conteneur ne déborde pas */
    .wp-block-newspack-blocks-carousel .wpnbpc {
        overflow: hidden;
    }

    /* Réafficher les flèches */
    .wp-block-newspack-blocks-carousel .swiper-button-prev,
    .wp-block-newspack-blocks-carousel .swiper-button-next {
        display: flex !important;
    }

    /* Header titre + bouton en colonne */
    .title-derniere-actus {
        flex-direction: inherit !important;
        align-items: flex-start !important;
    }

    .title-derniere-actus .wp-block-buttons {
        align-self: center;
    }
main.wp-block-group > div:first-child {
    padding-top: 0px !important;
}

.swiper-wrapper {
padding-top: 1rem;
}

.bloc-prix-genie-home > div:first-child {
	max-height: 175px;
}




}





/* ============================================
   ENTETE PAGEs PRINCIPALEs  — RESPONSIVE
   ============================================ */
@media (max-width: 768px) {



 .acteur-card-inner {

	padding:15px;

 }

.acteur-card-title {
  font-size: 15px !important;
	margin-top: 5px !important;
}
.ged-carousel-slide .acteur-card {
height: 350px;
}

.acteur-card-footer {

padding-top:0px;
}

.acteur-card-meta {
	margin-top: 15px;
}

    .entete-parent-bis figure.wp-block-image {
        display: none;
    }

    .entete-parent-bis {
        padding-bottom: 2rem !important;
    }

    .entete-parent .wp-block-group.is-layout-flow>figure.wp-block-image.size-full {
        display: none;
    }

    .page-template .entete-parent>div:first-of-type {
        min-height: 320px !important;
    }
    .page-template-mod-le-zedd-page h1.wp-block-heading {
        padding-right: unset !important;
        padding-left: unset !important;
    }
    .bloc-vert .ged-citation-block .wp-block-list {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    .titre-entete-bis {
        font-size: 40px !important;
        position: relative;
        top: 1rem;
        left: unset;
    }

    .masonry-gallery>.wp-block-group:nth-child(2n+1) {
        margin-right: 0px !important;
    }

    .bloc-vert .ged-citation-block .wp-block-column:last-of-type>p.wp-block-paragraph:first-of-type {
        margin-left: 10px !important;
    }

    .entete-parent p {
        margin-bottom: 3.5rem;
        margin-right: 2rem;
        font-size: 17px !important;
    }

    .entete-parent .wp-block-heading {
        bottom: 1rem;
        margin-right: 0px;
    }
    .titre-entete-compo>p {
    padding-bottom: 0px;
    }

    .wp-block-group.alignwide.is-style-default.header-second-row-custom.is-content-justification-space-between.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-d6504933.wp-block-group-is-layout-flex.header-sticky {
        padding-top: 5px !important;
    }



    /* Recentrer l'iframe Calameo quand élargi */
    iframe[src*="calameo.com"] {
        display: block;
        margin: 0 unset;
        max-width: unset;
    }

    .wp-block-html:has(iframe[src*="calameo.com"]),
    .wp-block-embed__wrapper:has(iframe[src*="calameo.com"]) {
        display: block;
    }

.titre-single-post.wp-block-post-title {
  max-width: 300px;
  top: 1.5rem;
  font-size: 30px;
  padding-bottom: 1rem;
}


    /* Le wrapper div inline a width:880px — on le contraint */
    iframe[src*="calameo.com"] {
        width: 100% !important;
        height: 280px !important;
        min-width: 0 !important;
    }

    /* Le div wrapper parent a lui aussi width:880px inline */
    iframe[src*="calameo.com"],
    iframe[src*="calameo.com"] + div,
    iframe[src*="v.calameo.com"] {
        max-width: 100% !important;
    }

    /* Le div conteneur le plus haut avec width:880px inline */
    div:has(> iframe[src*="calameo.com"]) {
        width: 100% !important;
        max-width: 100% !important;
    }
	.header-sticky .wp-block-navigation__submenu-container .wp-block-navigation-item__label {
	  color: #FEFEFE !important;
	}
}
/* ============================================================
   RESPONSIVE CAROUSELS — max 768px
   ============================================================ */

@media (max-width: 768px) {

/* ============================================================
   RESPONSIVE YOUTUBE EMBED — wp-block-embed
   ============================================================ */

.wp-block-embed.wp-has-aspect-ratio .wp-block-embed__wrapper {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;
    overflow: hidden;
}

.wp-block-embed.wp-has-aspect-ratio .wp-block-embed__wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}

iframe {
  width: 100%;
  min-height: unset;
}

    /* ── Projets carousel (zpc) ── */
    .zpc-track-wrapper {
        overflow: hidden;
    }

    .zpc-track {
        display: flex;
        gap: 16px;
    }

    .zpc-card {
        flex: 0 0 85vw !important;
        width: 85vw !important;
        min-width: 85vw !important;
    }
    /* ── Jury carousel (zjc) ── */
    .zjc-track-wrapper {
        overflow: hidden;
    }
    .zjc-card {
        flex: 0 0 85vw !important;
        width: 85vw !important;
        min-width: 85vw !important;
    }
    /* ── Filtered carousel (zfc) ── */
    .zfc-track-wrapper {
        overflow: hidden;
    }
    .zfc-track {
        display: flex;
        gap: 16px;
    }
    .zfc-card {
        flex: 0 0 85vw !important;
        width: 85vw !important;
        min-width: 85vw !important;
    }
    /* ── Nav commune ── */
    .zpc-nav,
    .zjc-nav,
    .zfc-nav {
        margin-top: 12px;
        justify-content: center;
    }
}
/* ============================================================
   RESPONSIVE CAROUSELS — max 768px
   À ajouter à la fin de style.css (thème aigeco)
   Gère : zpc-wrapper, zjc-wrapper
   (zfc-style.css a son propre media query corrigé)
   ============================================================ */
 
@media (max-width: 768px) {
 
    /* ── Projets carousel (zpc) ── */
    .zpc-track-wrapper {
        overflow: hidden;
    }
    .zpc-card {
        flex: 0 0 85vw !important;
        width: 85vw !important;
        min-width: 85vw !important;
    }
 
    /* ── Jury carousel (zjc) ── */
    .zjc-track-wrapper {
        overflow: hidden;
    }
    /* Le JS patché recalcule la largeur, ces règles servent de filet de sécurité */
    .zjc-card {
        flex: 0 0 85vw !important;
        width: 85vw !important;
        min-width: 85vw !important;
    }
 
    /* ── Nav communes ── */
    .zpc-nav,
    .zjc-nav {
        margin-top: 12px;
        justify-content: center;
    }
}
 
.home .wp-block-post-title {
    color: white;
    position: absolute;
    right: 3rem;
    top: -32rem;
    font-size: 60px;
}


.acteur-card-excerpt:empty {
    display: none;
}


élément {}

.acteur-card-footer {
    position: absolute;
    bottom: 3rem;
}




/*************/



/* ============================================
   FICHE ACTEUR — MASONRY
   ============================================ */
.ged-fiche-header {
    max-width: 1100px;
    margin: 2rem auto 1rem;
    padding: 0 1rem;
}

.ged-masonry-grid {
    column-count: 2;
    column-gap: 1.5rem;
    max-width: 1100px;
    margin: 0 auto 2rem;
    padding: 0 1rem;
}

.ged-masonry-grid .ged-section {
    break-inside: avoid;
    margin-bottom: 1.5rem;
    display: inline-block;
    width: 100%;
}

.ged-masonry-grid .ged-section--full {
    column-span: all;
}

@media (max-width: 768px) {
    .ged-masonry-grid {
        column-count: 1;
    }
}