
    .mdv-caveau2-section {
      position: relative;
      width: 100vw;
      margin-left: calc(50% - 50vw);
      padding-top: 10px;
      background-color: #FFFBF0;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: visible;
    }
    .mdv-caveau2-section * { box-sizing: border-box; }

    .mdv-caveau2-content {
      width: 110%;
      max-width: 900px;
      padding: 60px 88px 180px;
      text-align: center;
      position: relative;
      z-index: 2;
    }

    .mdv-caveau2-title {
      margin: 0 0 30px;
      font-family: "Alegreya", serif;
      font-size: 36px;
      font-weight: 500;
      letter-spacing: 1px;
      text-transform: uppercase;
      color:#402E15;
    }
    .mdv-caveau2-title .script {
      font-family: "Parisienne", cursive;
      font-size: 60px;
      font-weight: 400;
      text-transform: none;
      color:#402E15;
    }

    .mdv-caveau2-text {
      font-family: "Alegreya", serif;
      font-weight: 400;
      font-size: 19px;
      color:#5B4B3C;
      line-height: 1.35;
      letter-spacing: 0.3px;
      max-width: 600px;
      margin: 0 auto;
    }
    .mdv-caveau2-text + .mdv-caveau2-text { margin-top: 6px; }

    .mdv-caveau2-buttons {
      display: flex;
      justify-content: center;
      gap: 30px;
      flex-wrap: wrap;
      margin-top: 34px;
    }
    .mdv-caveau2-btn {
      display: inline-block;
      border: 1px solid #493518;
      color:#402E15 !important;
      background: transparent;
      font-family: "Alegreya", serif;
      font-size: 15px;
      letter-spacing: 2px;
      text-transform: uppercase;
      text-decoration: none !important;
      padding: 14px 34px;
      transition: all 0.25s ease;
    }
    .mdv-caveau2-btn:hover { background: #493518; color:#FFFBF0 !important; }

    /* ============ PRESENTOIRS ============ */
    /* Le decor descend 20px plus bas que la section : c'est l'ecart (gap) que
       le conteneur Elementor laisse avant le bandeau defilant. Les tiges vont
       donc jusqu'au bandeau, et sont coupees pile a son bord. */
    .mdv-caveau2-decor {
      position: absolute;
      left: 0; right: 0; top: 0;
      bottom: calc(var(--mdv-gap, 20px) * -1);
      overflow: hidden;
      z-index: 1;
      pointer-events: none;
      --mdv-gap: 20px;
    }

    .mdv-caveau2-stands {
      position: absolute;
      bottom: 0;
      display: flex;
      align-items: flex-end;
      z-index: 1;
      pointer-events: none;
      --mdv-h: clamp(245px, 33vw, 475px);    /* hauteur d'un presentoir */
      --mdv-ov: 0.124;                       /* chevauchement entre voisins */
    }
    .mdv-caveau2-stands--left  { left:  calc(var(--mdv-h) * -0.045); }
    .mdv-caveau2-stands--right { right: calc(var(--mdv-h) * -0.045); }

    .mdv-caveau2-stand {
      /* !important : le theme force height:auto / max-width:100% sur les img */
      height: var(--mdv-h) !important;
      width: auto !important;
      max-width: none !important;
      display: block;
      margin: 0 0 calc(var(--mdv-h) * var(--mdv-drop, 0) * -1);
    }
    .mdv-caveau2-stand + .mdv-caveau2-stand {
      margin-left: calc(var(--mdv-h) * var(--mdv-ov) * -2);
    }

    /* --- animation : levee verticale a l'entree dans l'ecran --- */
    .mdv-caveau2-stand {
      opacity: 0;
      transform: translateY(80px);
      transition: opacity .8s ease var(--mdv-d, 0ms),
                  transform 1.05s cubic-bezier(.18,.9,.24,1) var(--mdv-d, 0ms);
      will-change: transform, opacity;
    }
    .mdv-caveau2-section.is-in .mdv-caveau2-stand {
      opacity: 1;
      transform: translateY(0);
    }

    /* on garde les 3 presentoirs le plus longtemps possible :
       en dessous de ~1250px le plus exterieur passe derriere les boutons,
       exactement comme le bloc d'origine */
    @media (max-width: 1500px) {
      .mdv-caveau2-stands { --mdv-h: clamp(235px, 27vw, 425px); }
      .mdv-caveau2-stands--left  { left: 0; }
      .mdv-caveau2-stands--right { right: 0; }
    }
    @media (max-width: 1250px) {
      .mdv-caveau2-stands { --mdv-h: clamp(215px, 25.5vw, 340px); }
      .mdv-caveau2-stands--left  { left: 10px; }
      .mdv-caveau2-stands--right { right: 10px; }
    }
    /* sous 1000px : deux presentoirs par cote */
    @media (max-width: 1000px) {
      .mdv-caveau2-stands { --mdv-h: clamp(190px, 23.5vw, 278px); }
      .mdv-caveau2-stands--left  .mdv-caveau2-stand:nth-child(1) { display: none; }
      .mdv-caveau2-stands--right .mdv-caveau2-stand:nth-child(3) { display: none; }
      .mdv-caveau2-stands--left  .mdv-caveau2-stand:nth-child(2) { margin-left: 0; }
    }
    /* mobile : un seul presentoir par cote */
    @media (max-width: 780px) {
      .mdv-caveau2-stands { --mdv-h: clamp(150px, 21vw, 214px); }
      .mdv-caveau2-stands .mdv-caveau2-stand:not(:nth-child(2)) { display: none; }
      .mdv-caveau2-stands .mdv-caveau2-stand:nth-child(2) { margin-left: 0; }
      .mdv-caveau2-content { padding: 60px 24px; }
      .mdv-caveau2-title { font-size: 28px; }
      .mdv-caveau2-title .script { font-size: 46px; }
    }
    @media (prefers-reduced-motion: reduce) {
      .mdv-caveau2-stand { opacity: 1 !important; transform: none !important; transition: none !important; }
    }
  