/* En-tête */

.site-logo small {
    color: #A97449;
}

@media screen and (max-width: 782px) {
    .nv-title-tagline-wrap {
        text-align: center;
    }

    nav.header--row[data-row-id="main"] {
        width: 270px !important;
        margin: auto;
    }
}

/* Titre h1 */

.home h1 {
    position: absolute;
    left: -10000px;
}

.page-id-39 h1 {
    position: absolute;
    left: -10000px;
}

/* Menu */

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

nav.header--row[data-row-id="main"] {
    position: relative;
    width: 100%;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
    z-index: 9999;
}

/* État sticky (après scroll) */
nav.header--row[data-row-id="main"].is-sticky {
    position: fixed;
    top: 0;
    left: 0;
    background: white;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
}

@media (min-width: 1420px) {
    nav.header--row[data-row-id="main"].is-sticky .header--row-inner::before {
        margin-left: 84px;
    }
}

@media (max-width: 1200px) {
    nav.header--row[data-row-id="main"].is-sticky .header--row-inner::before {
        width: 80px !important;
        height: 80px !important;
}
    nav.header--row[data-row-id="main"].is-sticky .header--row-inner::after {
        display: none !important;
    }
}

@media screen and (max-width: 782px) {
    .size-full.wp-image-269 {
        margin-top: 29px;
    }

    nav.header--row[data-row-id="main"].is-sticky .header--row-inner::before {
        width: 30px !important;
        height: 30px !important;
    }

    .builder-item.desktop-left.tablet-left.mobile-center img {
        width: 50% !important;
        height: 50% !important;
    }

    .builder-item.has-nav::before {
        content: "";
        display: inline-block;
        width: 130px;
        height: 130px;
        background-image: url('/wp-content/uploads/2026/02/Logo-fond-transparent.png');
        background-size: contain;
        background-repeat: no-repeat;
        align-self: center;
        text-align: center;
        margin-left: 25%;
    }
}

nav.header--row[data-row-id="main"] .header--row-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

nav.header--row[data-row-id="main"].is-sticky .header--row-inner::before {
    content: "";
    display: inline-block;
    width: 130px;
    height: 130px;
    background-image: url('/wp-content/uploads/2026/02/Logo-fond-transparent.png');
    background-size: contain;
    background-repeat: no-repeat;
    align-self: center;
}

nav.header--row[data-row-id="main"] .builder-item--primary-menu {
    margin: 0 auto;
}

nav.header--row[data-row-id="main"].is-sticky .header--row-inner::after {
  content: "";
  display: inline-block;
  width: 100px;
  height: 50px;

  background-image: 
    url('/wp-content/uploads/2026/03/AB_HD-scaled.jpg'),
    url('/wp-content/uploads/2026/03/logoeuropeenpantoneAB-300x200.jpg');

  background-size: 
    40px auto,
    40px auto;

  background-repeat: no-repeat, no-repeat;

  background-position: 
    left center,
    right center;

  align-self: center;

  margin-left: 20px; /* au lieu de auto */
}

nav.header--row[data-row-id="main"] .header--row-inner::before {
    opacity: 0;
    transform: translateX(-10px);
    transition: all 0.3s ease;
}

nav.header--row[data-row-id="main"].is-sticky .header--row-inner::before {
    opacity: 1;
    transform: translateX(0);
}



/* Corps du site */

/* Lignes florales */
.floral-divider {
    margin:70px auto;
    max-width:900px;
    opacity:0.85;
}
.prairie-landscape {
    width:100%;
    margin:100px auto;
    opacity:0.95;
}
.prairie-landscape svg {
    width: 100%;
    height: auto;
}
.butterfly {
    animation: papillon 3s ease-in-out infinite;
    transform-origin: center;
}
@keyframes papillon {
    0%{transform:translateY(0px)}
    50%{transform:translateY(-8px)}
    100%{transform:translateY(0px)}
}
.escargot {
    animation: escargot 30s ease-in-out;
    animation-iteration-count: 1 !important;
    transform-origin:center;
}
@keyframes escargot {
    0%{transform:translateX(0px)}
    50%{transform:translateX(150px)}
    100%{transform:translateX(250px)}
}

.escargot-gauche {
    animation: escargot-gauche 30s ease-in-out;
    animation-iteration-count: 1 !important;
    transform-origin:center;
}
@keyframes escargot-gauche {
    0%{transform:translateX(0px)}
    50%{transform:translateX(-150px)}
    100%{transform:translateX(-250px)}
}
.prairie-landscape {
    width:100%;
    margin:110px auto;
    opacity:0.96;
}

.prairie-landscape svg {
    width:100%;
    height:auto;
}


h2 {
    margin-bottom: 74px !important;
    margin-top: 74px !important;
}

@media screen and (max-width: 782px) {
    h2 {
        margin-bottom: 34px !important;
        margin-top: 34px !important;
    }
}

p {
    color: #4A3A31 !important;
}

mark {
    font-weight: bold;
}

/* Section Héliciculture */

.exploitation {
    background-color: #FFF;
    padding: 20px;
}

@media screen and (max-width: 782px) {
    .wp-block-columns.are-vertically-aligned-center.is-layout-flex.wp-container-core-columns-is-layout-24fb9369.wp-block-columns-is-layout-flex {
        padding-left: 1em;
        padding-right: 1em;
    }
}

/* Personnalisation de l'accordéon des services et dégustations */

.services {
    background-color: #FFF;
    padding: 20px;
}

.accordeon-services {
    max-width: 800px;
    margin: auto;
    overflow-y: scroll;
    max-height: 720px;
    scrollbar-width: thin;
    scrollbar-color: #17C65B #df2a90;
}

.accordeon-titre {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    cursor: pointer;
    position: relative;
    padding-right: 30px; /* Espace pour la flèche */
    background: #A97449;
    border: none;
    text-align: left;
    padding: 1em;
    font-size: 1.2em;
    margin-bottom: 5px;
    border-radius: 5px;
    transition: background 0.3s;
    color: #fff;
    transition: background-color 0.6s ease;
}

.accordeon-titre:hover {
    background: #E3C878;
    color: #4A3A31;
}

/* Création de la flèche avec ::after */
.accordeon-titre::after {
    content: '';
    width: 10px;
    height: 10px;
    border-right: 2px solid #E3C878; /* Ton vert forêt */
    border-bottom: 2px solid #E3C878;
    transform: rotate(45deg); /* Flèche vers le bas */
    transition: transform 0.3s ease; /* Animation fluide */
    margin-right: 10px;
}

/* Changement de la flèche quand ouvert */
.accordeon-titre[aria-expanded="true"]::after {
    transform: rotate(-135deg); /* Flèche vers le haut */
    margin-top: 5px; /* Petit ajustement d'alignement */
}

.accordeon-titre[aria-expanded="true"] {
    background-color: #16aaaa;
    color: #123460;
}

.accordeon-contenu {
    display: none;
    padding: 0 1em 1em;
    background: #F5EFE7;
    border-left: 3px solid #8bc34a;
    border-radius: 9px;
    color: #3a2d2d;
    padding-top: 31px;
    padding-bottom: 31px;
    margin-bottom: 42px;
    margin-top: 5px;
}

.service {
    margin-bottom: 1em;
}

/* On aligne le titre, la ligne et le prix sur le même rang */
.service h4 {
    display: flex;
    align-items: baseline; /* Aligne le bas du texte pour une lecture fluide */
    justify-content: space-between;
    width: 100%;
    margin-bottom: 5px;
    font-size: 1em;
}

/* On force le prix à rester "d'un seul bloc" sans jamais aller à la ligne */
.service h4 .prix {
    white-space: nowrap; 
    margin-left: 10px;
    font-weight: bold;
    flex-shrink: 0; /* Empêche le prix de se ratatiner */
    color: #4caf50;
}

.separator-titre-service-prix {
    flex-grow: 1; /* La ligne prend tout l'espace disponible entre le texte et le prix */
    content: "";
    border-top: 2px dotted;
    font-family: serif;
    font-size: 1.5em;
    letter-spacing: 2em;
    padding-left: 2em;
    display: block;
    width: 56% !important;
    margin-right: 10px !important;
    margin-left: 10px !important;
    height: 1px;
}

/* Gestion de la section "Réservation" */

#accordion-item-1 {
    background-color: #8BA986;
    color: #FFFFFF;
}

.accordeon-resa {
    display: flex !important; /* Force l'alignement horizontal */
    justify-content: space-between; /* Texte à gauche, flèche à droite */
    align-items: center;
    width: 100%;
    position: relative; 
    padding: 15px 20px; /* Un peu d'air pour cliquer facilement */
    cursor: pointer;
    border: none;
    background-color: #8BA986;
}

.accordeon-resa::after {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    border-right: 2px solid #E3C878;
    border-bottom: 2px solid #E3C878;
    transform: rotate(45deg); /* Flèche vers le bas */
    transition: all 0.3s ease;
    flex-shrink: 0; /* Empêche la flèche de rétrécir */
    margin-left: 15px; /* Espace minimal avec le texte */
}

.accordeon-resa[aria-expanded="true"]::after {
    transform: rotate(-135deg);
}

.wp-block-accordion-heading__toggle-title {
    text-align: center;
}

.forminator-ui label {
    color: #4A3A31 !important;
}

.forminator-textarea, .forminator-input, .forminator-multiselect, .forminator-checkbox {
    background-color: #FFF !important;
}

#accordion-item-1-panel {
    border: 2px solid #8BA986;
    padding: 20px;
}

.forminator-ui#forminator-module-172.forminator-design--default .forminator-button-submit {
    background-color: #A97449 !important;
    color: #FFFFFF !important;
}

/* Gestion des pop-up d'actualités */

@media (max-width: 768px) {
    /* On cache les ombres générées par l'effet Creative */
    .swiper-slide-shadow, 
    .swiper-slide-shadow-creative {
        display: none !important;
    }

    /* On s'assure que seule la slide active est pleinement opaque */
    .swiper-slide:not(.swiper-slide-active) {
        opacity: 0 !important;
        visibility: hidden !important;
        /* On annule la transformation 3D qui fait "dépasser" la slide sur les côtés */
        transform: none !important; 
    }
    
    /* On force le conteneur à ne rien laisser déborder */
    .carousel-container.swiper {
        overflow: hidden !important;
        padding: 0 5px; /* Un petit peu d'air pour pas que l'image colle aux bords */
    }

    .ymc-popup__wrapper {
        max-width: 100%;
    }

    .ymc-popup__wrapper figure {
        text-align: center;
    }
}

.actualites {
    background-color: #FFF;
    padding: 20px;
}

.post-card__title {
    color: #A97449 !important;
}

.post-card__excerpt {
    color: #4A3A31 !important;
}

.ymc-popup__container {
    text-align: center;
}

.post-card__meta, .post-card__read-more {
    color: #8BA986 !important;
}

/* Section contact */
@media (max-width: 768px) {
    .info-contact {
        margin-right: auto;
        margin-left: auto;
        padding: 27px;
    }
}

/* Gestion de la partie privée */

.modal-button.render-form {
    border-radius: 15px;
}

/* Retour en haut */

.scroll-to-top.scroll-show-mobile {
  z-index: 99999 !important;
}

/* Ligne florale au-dessus du pied de page */

.sticky-floral {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100px;

    background-image: url('/wp-content/uploads/2026/03/Banniere-illustree-Maman-2000-x-400-px.png');
    background-size: inherit;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #f5efe7;
    z-index: 9999;
    pointer-events: none; /* important */
}

/* Pied de page */

.site-footer {
    z-index: 99999 !important;
}

#cb-row--footer-desktop-bottom {
    display: none;
}

#footer-menu a {
    color: #E3C878 !important;
}

#footer-menu a:hover {
    color: #8BA986 !important;
}

#block-12 p {
    color: #FFF !important;
}

#block-12 a {
    color: #E3C878 !important;
}

#block-12 a:hover {
    color: #8BA986 !important;
}

#block-14 a {
    color: #E3C878 !important;
}

#block-14 a:hover {
    color: #8BA986 !important;
}

#block-14 figcaption {
    opacity: 1 !important;
}

@media (max-width: 768px) {
    footer .footer--row-inner .row {
        grid-template-columns: 1fr;
        gap: 41px;
    }
    .hfg-slot.center {
        margin: auto;
    }
    #block-12 {
        text-align: center;
        margin-top: 20px
    }
}
