 /* Styles pour l'image de fond */
  .background-image {
    background-image: url('../images/fulvio-ciccolo-F4YM0kpVikE-unsplash.jpg');
    background-size: cover;
    background-position: center;
    filter: brightness(0.6);
    position: absolute;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    z-index: -1;
  }
  
    /* Styles pour la section héro */
    .hero {
      height: 100vh;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      text-align: center;
      padding: 40px;
      color : #b3834bca;
    }
    
    .hero h1 {
      font-size: 3.5rem;
      margin-bottom: 20px;
      text-transform: uppercase;
      letter-spacing: 3px;
    }
    
    .hero p {
      font-size: 1.3rem;
      max-width: 600px;
      font-style: italic;
    }
    
    .hero .cta {
      margin-top: 40px;
      padding: 12px 30px;
      background-color: #b3834bca;
      color: #0f0e0eca;
      text-decoration: none;
      border-radius: 30px;
      font-size: 1rem;
    }
    
    /* Styles pour les sections de contenu */
    body {
      margin: 0;
      font-family: 'Playfair Display', serif;
      background-color: #fdfbf9;
      color: #3a2d1a;
    }

    .histoire-section {
      padding: 120px 20px;
      background: #fff8f0;
      text-align: center;
    }

    .histoire-section h2 {
      font-size: 2.8rem;
      font-family: 'Playfair Display', serif;
      margin-bottom: 30px;
      color: #3a2d1a;
    }

    .histoire-section p {
      max-width: 800px;
      margin: 0 auto;
      font-size: 1.2rem;
      color: #5a4431;
      line-height: 1.8;
      font-style: italic;
    }
    .section {
      padding: 100px 20px;
      opacity: 0;
    }
    
    .active-section {
      opacity: 1;
      transition: opacity 1s ease-out;
    }
    #decouverte-sens .spacer {
      height: 100vh;
    }
    
    .sens-wrapper {
      position: relative;
      height: 100vh;
      display: flex;
      justify-content: center;
      align-items: center;
      background-color: #f4f1eb;
      overflow: hidden;
    }
    
    .sens-section {
      display: flex;
      flex-direction: column;
      gap: 100px;
      margin: 200px 0;
      padding: 60px 20px;
      background: #fdfbf9;
    }

    .sens-section {
      margin: 200px 0;
      padding: 60px 20px;
      background: #fdfbf9;
    }

    .sens-section h2 {
      text-align: center;
      font-size: 2.8rem;
      margin-bottom: 40px;
      font-family: 'Playfair Display', serif;
      color: #3a2d1a;
      animation: poeticFade 1s ease-out both;
      animation-timeline: view();
      animation-range: entry 10% cover 30%;
    }

    .columns {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      overflow-y: hidden;
      gap: 20px;
    }

    .column {
      display: flex;
      flex-direction: column;
      gap: 30px;
    }

    .column-reverse {
      transform: translateY(calc(-100% + 100vh));
      flex-direction: column-reverse;
      animation: adjust-position linear forwards;
      animation-timeline: scroll(root block);
    }

    .column__item {
      position: relative;
      aspect-ratio: 3/4;
      overflow: hidden;
      border-radius: 12px;
      width: 70%;
      margin: 0 auto;
    }

    .column__item img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    @keyframes adjust-position {
      from {
        transform: translateY(calc(-100% + 100vh));
      }
      to {
        transform: translateY(calc(100% - 100vh));
      }
    }

    @keyframes poeticFade {
      from {
        opacity: 0;
        transform: translateY(40px);
        letter-spacing: 2px;
        filter: blur(4px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
        letter-spacing: 0;
        filter: blur(0);
      }
    }
    .cards {
      list-style: none;
      white-space: nowrap;
      max-width: calc(var(--cover-size, 300px) * 6);
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      padding: 0;
      margin: 0 auto;
      display: flex;
      justify-content: center;
      gap: 40px;
      perspective: 40em;
    }

    .cards li {
      display: inline-block;
      width: var(--cover-size, 300px);
      aspect-ratio: 1;
      scroll-snap-align: center;
      position: relative;
      z-index: 0;
      view-timeline-name: --cover;
      view-timeline-axis: inline;
    }

    .cards li img {
      width: 100%;
      height: auto;
      -webkit-box-reflect: below 0.5em linear-gradient(rgb(0 0 0 / 0), rgb(0 0 0 / 0.25));
      animation: rotateCover both ease-in-out;
      animation-timeline: --cover;
      animation-range: entry 0% exit 100%;
    }

    @keyframes rotateCover {
      0%, 100% {
        transform: rotateY(60deg);
        z-index: 1;
      }
      50% {
        transform: rotateY(0deg);
        z-index: 10;
      }
    }

    @keyframes poeticFade {
      from {
        opacity: 0;
        transform: translateY(40px);
        letter-spacing: 2px;
        filter: blur(4px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
        letter-spacing: 0;
        filter: blur(0);
      }
    }

    .temoignages-section {
      margin: 200px 0;
      padding: 60px 20px;
      background: #fff8f0;
    }

    .temoignages-section h2 {
      text-align: center;
      font-size: 2.8rem;
      margin-bottom: 40px;
      font-family: 'Playfair Display', serif;
      color: #3a2d1a;
    }

    .testimonial-wrapper {
      overflow: hidden;
    }

    .testimonial-track {
      display: flex;
      gap: 40px;
      padding: 20px;
      width: max-content;
      animation: autoScroll 110s linear infinite;
    }

    .testimonial-track blockquote {
      flex: 0 0 300px;
      background: white;
      padding: 30px;
      border-radius: 10px;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
      font-style: italic;
      font-size: 1.2rem;
      color: #6e4f3a;
    }

    .testimonial-track blockquote span {
      font-weight: bold;
      display: block;
      margin-top: 10px;
    }

    .gallery-dynamic .gallery-card {
      width: 250px;
      height: 320px;
      border-radius: 12px;
      overflow: hidden;
      box-shadow: 0 8px 24px rgba(0,0,0,0.1);
      transition: transform 0.5s ease-in-out;
    }

    .gallery-dynamic .gallery-card img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.4s ease;
    }

    .gallery-dynamic .gallery-card:hover img {
      transform: scale(1.05);
    }

    @keyframes autoScroll {
      0% { transform: translateX(0); }
      100% { transform: translateX(-50%); }
    }
    .texte-section {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 60px;
      padding: 100px 40px;
      background-color: #f4f1eb;
      flex-wrap: wrap;
    }

    .texte-section:nth-of-type(even) {
      flex-direction: row-reverse;
    }

    .texte-section .texte-image {
      flex: 1 1 400px;
      max-width: 500px;
    }

    .texte-section .texte-content {
      flex: 1 1 500px;
      max-width: 600px;
    }

    .texte-section .texte-content h3 {
      font-size: 2rem;
      font-family: 'Playfair Display', serif;
      margin-bottom: 20px;
      color: #3a2d1a;
    }

    .texte-section .texte-content p {
      font-size: 1.15rem;
      color: #5a4431;
      line-height: 1.9;
    }
    
    
    /* Styles pour la confirmation de formulaire */
    .form-confirmation {
      margin-top: 20px;
      font-weight: bold;
      color: #2e6a3e;
      display: none;
      transition: opacity 0.5s ease-in-out;
    }
    
    /* Styles pour les cartes flip */
    .flip-section {
      background: #fff8f0;
      padding: 100px 20px;
      text-align: center;
    }

    .flip-section h2 {
      font-size: 2.5rem;
      font-family: 'Playfair Display', serif;
      margin-bottom: 50px;
      color: #3a2d1a;
    }

    .flip-cards {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 30px;
    }

    .flip-card {
      background-color: transparent;
      width: 240px;
      height: 240px;
      perspective: 1000px;
    }

    .flip-card-inner {
      position: relative;
      width: 100%;
      height: 100%;
      text-align: center;
      transform-style: preserve-3d;
      transition: transform 0.6s;
    }

    .flip-card:hover .flip-card-inner {
      transform: rotateY(180deg);
    }

    .flip-card-front, .flip-card-back {
      position: absolute;
      width: 100%;
      height: 100%;
      backface-visibility: hidden;
      display: flex;
      justify-content: center;
      align-items: center;
      border-radius: 12px;
      padding: 20px;
      font-size: 1.1rem;
      line-height: 1.6;
    }

    .flip-card-front {
      background: #AA7940;
      color: white;
    }

    .flip-card-back {
      background: #f4f1eb;
      color: #3a2d1a;
      transform: rotateY(180deg);
    }

    
    /* Styles pour la galerie Swiper */
    #galerie .swiper {
      display: flex;
      overflow-x: scroll;
      scroll-snap-type: x mandatory;
      -webkit-overflow-scrolling: touch;
      gap: 16px;
      padding: 10px;
    }
    
    #galerie .swiper-wrapper {
      display: flex;
      flex-wrap: nowrap;
    }
    
    #galerie .swiper-slide {
      scroll-snap-align: start;
      flex: 0 0 auto;
      width: 280px;
      height: 420px;
      display: flex;
      flex-direction: column;
      align-items: center;
    }
    
    #galerie .swiper-slide img {
      width: 100%;
      height: 320px;
      object-fit: cover;
      border-radius: 10px;
    }
    
    #galerie .swiper-slide p {
      font-style: italic;
      font-size: 0.9rem;
      margin-top: 8px;
      color: #6e4f3a;
      text-align: center;
    }
    
    .swiper-button-next, .swiper-button-prev {
      pointer-events: auto !important;
      z-index: 10;
      top: 50%;
      transform: translateY(-50%);
    }
    
  
    /* Styles pour les boutons de navigation Swiper */
    .swiper-button-next,
    .swiper-button-prev {
      display: none !important;
    }
    
    /* Styles pour la barre de défilement personnalisée */
    #galerie .swiper::-webkit-scrollbar {
      height: 8px;
    }
    
    #galerie .swiper::-webkit-scrollbar-thumb {
      background-color: rgba(0, 0, 0, 0.5);
      border-radius: 4px;
    }
    
    #galerie .swiper::-webkit-scrollbar-track {
      background: transparent;
    }
    
    #galerie .swiper {
      scrollbar-color: rgba(0, 0, 0, 0.5) transparent;
      scrollbar-width: thin;
    }
    
    /* Styles pour l'animation de flottement */
    .flacon-anim {
      width: 100px;
      margin-top: 40px;
      animation: flotter 4s ease-in-out infinite;
    }
    
    #flacon-rotate {
      width: 180px;
      margin-top: 50px;
      transition: transform 0.1s ease-out;
      will-change: transform;
      transform-style: preserve-3d;
      perspective: 1000px;
    }

    .contact-gallery-section {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      flex-wrap: wrap;
      gap: 40px;
      padding: 100px 40px;
      background: #fff8f0;
    }

    .contact-form {
      flex: 1 1 480px;
      max-width: 500px;
      background: #fdfbf9;
      padding: 40px;
      border-radius: 12px;
      box-shadow: 0 4px 16px rgba(0,0,0,0.1);
    }

    .contact-form h2 {
      margin-bottom: 20px;
      font-family: 'Playfair Display', serif;
    }

    .contact-form input,
    .contact-form textarea {
      width: 100%;
      padding: 12px;
      margin-bottom: 15px;
      border-radius: 6px;
      border: 1px solid #ccc;
      font-size: 1rem;
    }

    .contact-form button {
      padding: 12px;
      background-color: #3a2d1a;
      color: white;
      border: none;
      border-radius: 6px;
      font-size: 1rem;
      font-weight: bold;
      cursor: pointer;
      width: 100%;
    }

    .gallery-dynamic {
      flex: 1 1 480px;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 20px;
    }

    .gallery-dynamic .gallery-card {
      width: 220px;
      height: 300px;
      border-radius: 12px;
      overflow: hidden;
      box-shadow: 0 8px 24px rgba(0,0,0,0.1);
      transition: transform 0.5s ease-in-out;
    }

    .gallery-dynamic .gallery-card img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.4s ease;
    }

    .gallery-dynamic .gallery-card:hover img {
      transform: scale(1.05);
    }
    
    @keyframes flotter {
      0% {
        transform: translateY(0px);
      }
      50% {
        transform: translateY(-15px);
      }
      100% {
        transform: translateY(0px);
      }
    }
  