/*
 Theme Name:   Les Yaourts de Sandrines - Thème Enfant
 Theme URI:    https://www.3magroup.com
 Description:  Thème enfant pour Elementor (parent: Hello Elementor) – Projet Les Yaourts de Sandrine
 Author:       3ma group
 Template:     hello-elementor
 Version:      1.0.0
 Text Domain:  yaourtsdesandrine-child

/* Empêcher le scroll horizontal */
html,
body {
  overflow-x: clip !important;
  max-width: 100% !important;
}

* {
  box-sizing: border-box;
}


/***** HEADER *****/
.home .header-site,
.page-id-455 .header-site {
  position: absolute;
  top: 0;
  background-image: none !important;
}

header.elementor-location-header {
  position: sticky;
  top: 0;
  z-index: 100;
}

.header-site {
  transition: background-color .4s ease, box-shadow .4s ease;
}

.header-site .elementor-nav-menu .elementor-item:before {
  content: "";
  position: absolute;
  bottom: 6px;
  left: 20px;
  right: 100%;
  height: 1px;
  background-color: #fff !important;
  transition: right 0.4s cubic-bezier(.22, 1, .36, 1);
}

.header-site .elementor-nav-menu .elementor-item:hover:before {
  right: 20px;
}

.header-site.is-scrolled .elementor-nav-menu .elementor-item:before {
  background-color: var(--e-global-color-primary) !important;
}

.header-site .elementor-nav-menu .elementor-item.elementor-item-active {
  font-weight: 700 !important;
}
.header-site .elementor-nav-menu .elementor-item.elementor-item-active:before {
  right: 20px;
}

.header-site.is-scrolled {
  background-image: none !important;
  background-color: #fff;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .08);
  animation: header-slide-down .4s ease;
}

@keyframes header-slide-down {
  from { transform: translateY(-30px); opacity: .6; }
  to   { transform: translateY(0);     opacity: 1;  }
}

.header-site.is-scrolled {
  padding: 0.8em;
}

.header-site.is-scrolled .header-site-logo img {
  transition: width 0.3s ease;
  width: 70px !important;
}

.header-site.is-scrolled .elementor-nav-menu .elementor-item {
  color: var(--e-global-color-primary) !important;
  font-size: 0.9em;
}

.header-mobile .elementor-nav-menu--dropdown {
  margin-top: 2em !important;
}

.header-mobile {
  transition: background-color .3s ease;
}

.header-mobile.is-scrolled {
  background-color: #fff;
  margin-top: 0;
}

/***** CTA *****/
.btn-anim a {
  position: relative;
  overflow: hidden;
  z-index: 0;
  transition: color .4s ease;
}

.btn-anim a:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background:#314F57;
  z-index: -1;
  transform: translate(-50%, -50%);
  transition: width .6s ease, height .6s ease;
}

.btn-anim a:hover {
  color: #fff !important;
  border-color: #314F57 !important;
}
.btn-anim a:hover::before {
  width: 150%;
  height: 300%;
}

/**** PAGE D'ACCUEIL *****/
@media (max-width: 767px) {
  .home-background {
    background: url(https://stg-lesyaourtsdesandrine-stg.kinsta.cloud/wp-content/uploads/2026/07/home-background-resp.jpg) !important;
    background-position: 65% 100% !important;
    background-size: cover !important;
  }
  
.produits-grid {
    flex-direction: column !important;
    gap: 20px !important; /* rétablit l'espacement entre les cartes aplaties */
  }

  .produits-grid > .produits-col {
    display: contents !important;
  }

  .bloc-titre      { order: 1 !important; }
  .bloc-yaourts    { order: 2 !important; }
  .bloc-flans      { order: 3 !important; }
  .bloc-bibalakass { order: 4 !important; }
  .bloc-produits   { order: 5 !important; }
}

.btn-arrow svg {
  overflow: visible !important;
  clip-path: inset(0 0 0 40%);
  transition: clip-path .5s cubic-bezier(.22, 1, .36, 1);
  transform: translate(6px, 0);
}

.btn-arrow:hover svg  { 
  clip-path: inset(0 0 0 0);
}


/***** NOS PRODUITS *****/
.tab-image-col .tab-img {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity .45s ease !important;
    pointer-events: none;
}

.tab-image-col .tab-img img {
  object-fit: cover;
  height: 100%;
}

@media screen and (min-width: 767px) {

  .tab-image-col .tab-img.is-active { 
    opacity: 1; 
  }

  .tab-blocks-item {
    cursor: pointer; 
    transition: background-color 0.5s ease !important;
  }

  .tab-blocks-item:hover,
  .tab-blocks-item.is-active {
    background-color: var(--e-global-color-primary) !important;
  }

  .tab-blocks-item:hover h3,
  .tab-blocks-item:hover p,
  .tab-blocks-item.is-active h3,
  .tab-blocks-item.is-active p {
    color: #fff !important;
    transition: color 0.5s ease !important;
  }

}

/* Bloc texte : l'espace reste réservé, on anime seulement l'apparence */
.carousel-produits .carousel-produits-texte {
  transform: scaleY(0);
  transform-origin: top center;
  opacity: 0;
  transition:
    transform .5s cubic-bezier(.22, 1, .36, 1),
    opacity .45s cubic-bezier(.22, 1, .36, 1);
}

/* Le texte lui-même : léger décalage + délai pour arriver après le fond */
.carousel-produits .carousel-produits-texte p {
  opacity: 0;
  transform: translateY(-6px);
  transition:
    opacity .35s ease .18s,
    transform .4s cubic-bezier(.22, 1, .36, 1) .18s;
}

/* Slide centrée : on déploie */
.carousel-produits .swiper-slide.is-center .carousel-produits-texte {
  transform: scaleY(1);
  opacity: 1;
}
.carousel-produits .swiper-slide.is-center .carousel-produits-texte p {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 767px) {
  .carousel-produits .e-n-carousel.offset-both {
    padding-inline-start: 0 !important;
    padding-inline-end: 50px !important;
  }
}


/***** PAGE LA FERME *****/
.col-annee {
  flex: 0 0 100px !important;
}


/***** PAGE NOTRE SAVOIR-FAIRE *****/
.slider-fabrication .swiper-pagination .swiper-pagination-bullet {
  background: #fff;
  opacity: 1;
  border: 1px solid #707070;
}

.slider-fabrication .swiper-pagination .swiper-pagination-bullet-active {
  background: var(--e-global-color-primary);
}

.panneau-wrap {
  position: absolute !important;
  left: 112px;
  right: 0;
  top: 0;
  clip-path: inset(0 100% 0 0);
  opacity: 0;
  transition: clip-path .6s cubic-bezier(.22, 1, .36, 1), opacity .3s ease !important;
}

.etape.is-active .panneau-wrap {
    position: static !important;
    clip-path: inset(0 0 0 0);
    opacity: 1;
}

.etape.is-active .etape-num-wrap {
  background: transparent !important;
  width: auto !important;
}

.etape.is-active .etape-num {
  color: var(--e-global-color-primary) !important;
  font-weight: 800 !important;
  font-size: 6em !important;
}

.liste-qualite ul {
  padding-left: 1em;
}

.liste-qualite ul li {
  margin: 1em 0;
}
.contact-map {
  height: 100%;
}

.contact-map iframe {
  height: 100%;
}

#form-field-fied_politic {
  vertical-align: middle;
}

.elementor-field-group-fied_politic label {
  font-size: 1.1em;
  font-weight: 600 !important;
}

.elementor-field-group-field_empty label {
  font-size: 0.9em !important;
  font-weight: 400 !important;
}

.slider-vente .elementor-swiper-button-prev svg,
.slider-vente .elementor-swiper-button-next svg
 {
  transform: rotate(90deg);
 }

 .slider-vente {
  text-align: center;
 }

 .slider-vente:before,
 .slider-vente:after {
  content: "";
  width: 200px;
  height: 1px;
  background: #d5d5d5;
  display: inline-flex;
 }

 @media (max-width: 767px) {
  
  .panneau-wrap {
    margin-left: 0 !important;
  }

  .etape-num-wrap {
    width: 120px !important;
  }

  .etape-num {
    line-height: 1em;
  }

  .etape-line {
    min-height: 2px !important;
  }
 
}

 /***** FOOTER *****/
 .footer-site a {
  color: inherit;
 }