/* ========================================
       STYLES DU SWITCH
       ======================================== */
    
       .switch-wiper,
       .switch-wiper *,
       .switch-wiper::before,
       .switch-wiper::after {
         box-sizing: content-box;
       }
       
       .switch-wiper {
         width: 80px;
         height: 40px;
         border-radius: 50px;
         background: linear-gradient(90deg, #8b5cf6 0%, #ec4899 50%, #3b82f6 100%);
         position: relative;
         cursor: pointer;
         transition: all 0.3s ease;
         border: 2px solid rgba(255, 255, 255, 0.3);
         box-shadow: 0 4px 15px rgba(139, 92, 246, 0.4);
         display: flex;
         align-items: center;
         justify-content: space-between;
         padding: 0 8px;
         margin: auto;
       }
       
       .switch-wiper::before,
       .switch-wiper::after {
         content: '✦';
         color: white;
         font-size: 16px;
         z-index: 1;
         opacity: 0.9;
       }
       
       .switch-handle {
         width: 32px;
         height: 32px;
         background-color: rgba(255, 255, 255, 0.25);
         backdrop-filter: blur(10px);
         border: 2px solid rgba(255, 255, 255, 0.5);
         border-radius: 50%;
         position: absolute;
         top: 4px;
         left: 2px;
         transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
         z-index: 2;
         box-sizing: border-box;
       }
       
       @keyframes rotate-border {
         0% { background: conic-gradient(from 0deg, #8b5cf6, #ec4899, #3b82f6, #8b5cf6); }
         25% { background: conic-gradient(from 90deg, #8b5cf6, #ec4899, #3b82f6, #8b5cf6); }
         50% { background: conic-gradient(from 180deg, #8b5cf6, #ec4899, #3b82f6, #8b5cf6); }
         75% { background: conic-gradient(from 270deg, #8b5cf6, #ec4899, #3b82f6, #8b5cf6); }
         100% { background: conic-gradient(from 360deg, #8b5cf6, #ec4899, #3b82f6, #8b5cf6); }
       }
       
       @keyframes slide-background {
         0% { background-position: 0% 50%; }
         100% { background-position: 200% 50%; }
       }
       
       .border-animation {
         display: none;
         position: absolute;
         inset: -2px;
         border-radius: 50px;
         padding: 2px;
         -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
         -webkit-mask-composite: xor;
         mask-composite: exclude;
         animation: rotate-border 3s linear infinite;
         pointer-events: none;
         z-index: 0;
       }
       
       .switch-wiper.off {
         background: linear-gradient(90deg, #6b7280 0%, #9ca3af 50%, #6b7280 100%);
         box-shadow: 0 4px 15px rgba(107, 114, 128, 0.3);
         border: none;
       }
       
       .switch-wiper.off .border-animation {
         display: block;
       }
       
       .switch-wiper.off::before,
       .switch-wiper.off::after {
         opacity: 0.4;
       }
       
       .switch-wiper.off .ia-text {
         opacity: 0.5;
       }
       
       .switch-wiper.off .switch-handle {
         background-color: rgba(255, 255, 255, 0.4);
         border-color: rgba(255, 255, 255, 0.6);
       }
       
       .switch-wiper.on {
         background: linear-gradient(90deg, #8b5cf6 0%, #ec4899 50%, #3b82f6 100%);
         background-size: 200% 100%;
         animation: slide-background 2s linear infinite;
       }
       
       .switch-wiper.on .switch-handle {
         left: calc(100% - 34px);
       }
       
       .switch-wiper:hover {
         transform: scale(1.05);
         box-shadow: 0 6px 20px rgba(139, 92, 246, 0.6);
       }
       
       .switch-wiper.off:hover {
         box-shadow: 0 6px 20px rgba(107, 114, 128, 0.5);
       }
       
       /* ========================================
              STYLES UNIFIÉS IA-TEXT
              ======================================== */
       
       .ia-text {
         transform-origin: center center;
         background: linear-gradient(90deg, #8b5cf6 0%, #ec4899 50%, #3b82f6 100%);
         background-size: 200% 100%;
         background-clip: text;
         -webkit-background-clip: text;
         -webkit-text-fill-color: transparent;
       }
       
       /* Style spécifique pour le switch */
       .switch-wiper .ia-text {
         position: absolute;
         left: 50%;
         top: 50%;
         transform: translate(-50%, -50%);
         color: white;
         font-weight: bold;
         font-size: 14px;
         z-index: 1;
         letter-spacing: 1px;
         background: none;
         -webkit-text-fill-color: white;
       }
       
       @keyframes slide-text-background {
         0% { background-position: 0% 50%; }
         100% { background-position: 200% 50%; }
       }
       
       @keyframes revealIAWithSpace {
         0% {
           opacity: 0;
           max-width: 0;
           transform: scale(2) translateZ(0);
           filter: blur(15px);
         }
         45% {
           max-width: 5ch;
         }
         50% {
           opacity: 1;
           filter: blur(0px);
         }
         60% {
           transform: scale(1.15) translateZ(0);
         }
         70% {
           transform: scale(1) translateZ(0);
         }
         100% {
           opacity: 1;
           max-width: 5ch;
           transform: scale(1) translateZ(0);
           filter: blur(0px);
         }
       }
       
       .ia-text.animate-zoom {
         animation: 
           revealIAWithSpace 2.5s cubic-bezier(0.22, 0.61, 0.36, 1) forwards,
           slide-text-background 2s linear infinite 2.5s;
         will-change: transform, opacity, filter, max-width;
         display: block !important;
       }
       
       /* ========================================
              BORDURE ANIMÉE
              ======================================== */
       
       @property --a {
         syntax: "<angle>";
         initial-value: 0deg;
         inherits: false;
       }
       
       .ia-form {
         --b: 0px;
         --l: #8b5cf6, #ec4899, #3b82f6, #ff00cc, #8b5cf6;
         box-sizing: border-box;
         border: solid var(--b) transparent;
         background: 
           linear-gradient(90deg, #ff3768, #ffa4af) padding-box,
           repeating-conic-gradient(from var(--a), var(--l)) border-box;
         background-clip: padding-box, border-box;
         filter: drop-shadow(0 0 0px #ec4899) drop-shadow(0 0 0px #8b5cf6);
       }
       
       .ia-form.animate-border {
         animation: 
           growBorder 2.5s cubic-bezier(0.22, 0.61, 0.36, 1) forwards,
           spinBorder 3s linear infinite 2.5s;
         border-radius: 15px;
       }
       
       @keyframes growBorder {
         0% {
           --b: 0px;
           filter: drop-shadow(0 0 0px #ec4899) drop-shadow(0 0 0px #8b5cf6);
           transform: scale(1.15);
         }
         40% {
           transform: scale(1.02);
         }
         60% {
           transform: scale(1);
         }
         100% {
           --b: 8px;
           filter: drop-shadow(0 0 8px #ec4899) drop-shadow(0 0 12px #8b5cf6);
           transform: scale(1);
         }
       }
       
       @keyframes spinBorder {
         to {
           --a: 1turn;
         }
       }

       /* 📱 Supprime tout transform dans l’animation pour mobile et tablette */
@media (max-width: 992px) {
  @keyframes growBorder {
    0% {
      --b: 0px;
      filter: drop-shadow(0 0 0px #ec4899) drop-shadow(0 0 0px #8b5cf6);
    }
    40% {}
    60% {}
    100% {
      --b: 8px;
      filter: drop-shadow(0 0 8px #ec4899) drop-shadow(0 0 12px #8b5cf6);
      /* ❌ Aucun transform ici */
    }
  }
}
       
.active-form {
  grid-row-gap: 0px;
}

.active-form-text {
  font-size: 15px
}

       /* ========================================
              CAROUSEL
              ======================================== */
       
       /* Container principal */
       .carousel-container {
         width: 100%;
         overflow: hidden;
         padding-top: 30px;
         margin-bottom: 30px;
       }
       
       .carousel-grid {
         display: grid;
         grid-template-columns: 1fr;
         gap: 30px;
         grid-template-rows: auto auto auto auto;
       }
       
       /* Rows */
       .carousel-row {
         display: flex;
         gap: 20px;
         width: fit-content;
         
       }
       
       .carousel-row .w-dyn-list {
         overflow: visible;
       }
       
       .carousel-row .w-dyn-items {
         display: flex !important;
         gap: 20px;
         width: fit-content;
       }
       
       /* ANIMATIONS INFINIES - Exactement comme test.html */
       .carousel-row:nth-child(1) {
         animation: scrollRightInfinite 20s linear infinite;
       }
       
       .carousel-row:nth-child(2) {
         animation: scrollLeftInfinite 20s linear infinite;
       }
       
       .carousel-row:nth-child(3) {
         animation: scrollRightInfinite 20s linear infinite;
       }
       
       .carousel-row:nth-child(4) {
         animation: scrollLeftInfinite 20s linear infinite;
       }
       
       /* Keyframes pour boucle infinie */
       @keyframes scrollRightInfinite {
         from {
           transform: translateX(0);
         }
         to {
           transform: translateX(-50%);
         }
       }
       
       @keyframes scrollLeftInfinite {
         from {
           transform: translateX(-50%);
         }
         to {
           transform: translateX(0);
         }
       }
       
       /* Pause au survol */
       .carousel-row:hover {
         animation-play-state: paused !important;
       }
       
       /* ================================================ */
       /* STYLES DES CARTES                                */
       /* ================================================ */
       
       .card {
         min-width: 900px;
         width:  900px;
         height: 400px;
         border-radius: 12px;
         padding: 0;
         display: flex;
         flex-direction: row;
         position: relative;
         overflow: hidden;
         cursor: pointer;
         transition: transform 0.3s ease, box-shadow 0.3s ease;
         flex-shrink: 0;
       }
       
       .card:hover {
         transform: scale(1.02);
         box-shadow: 0 10px 30px rgba(0,0,0,0.3);
       }
       
       /* Card content */
       .card-content {
         flex: 1;
         padding: 35px;
         display: flex;
         flex-direction: column;
         justify-content: center;
         z-index: 2;
       }
       
       .card h2,
       .card-content h2 {
         font-size: 2.5rem;
         font-weight: bold;
         margin-bottom: 18px;
         line-height: 1.2;
       }
       
       .card-content .w-richtext {
         display: flex;
         flex-direction: column;
         gap: 8px;
         max-height: 250px;
         overflow: hidden;
       }
       
       .card-content .w-richtext p {
         font-size: 0.95rem;
         line-height: 1.6;
         opacity: 0.9;
         margin: 0;
       }
       
       /* Réduction automatique pour 4+ paragraphes */
       .card-content .w-richtext p:nth-child(n+4) {
         font-size: 0.85rem;
         line-height: 1.5;
       }
       
       /* Card image */
       .card-image {
         width: 380px;
         height: 100%;
         object-fit: cover;
         z-index: 1;
       }
       
       /* Play icon */
       .play-icon {
         position: absolute;
         top: 50%;
         left: 50%;
         transform: translate(-50%, -50%);
         width: 60px;
         height: 60px;
         background: rgba(255,255,255,0.2);
         border: 2px solid rgba(255,255,255,0.6);
         border-radius: 50%;
         display: flex;
         align-items: center;
         justify-content: center;
         font-size: 22px;
         color: white;
         opacity: 0;
         transition: all 0.3s ease;
         pointer-events: none;
         backdrop-filter: blur(5px);
       }
       
       .card:hover .play-icon {
         opacity: 1;
         transform: translate(-50%, -50%) scale(1.1);
       }
       
       /* Masquer le lightbox Webflow par défaut */
       .card .w-lightbox-backdrop {
         display: none !important;
       }
       
       /* ================================================ */
       /* COULEURS DES CARTES                              */
       /* ================================================ */
       
       .card-red {
         background: linear-gradient(135deg, #ff4757 0%, #ff6348 100%);
         color: white;
       }
       
       .card-pink {
         background: linear-gradient(135deg, #ffd5e5 0%, #ffb3d9 100%);
         color: #2d3436;
       }
       
       .card-mint {
         background: linear-gradient(135deg, #7ed6df 0%, #a8e6cf 100%);
         color: #2d3436;
       }
       
       .card-yellow {
         background: linear-gradient(135deg, #ffeaa7 0%, #fdcb6e 100%);
         color: #2d3436;
       }
       
       .card-blue {
         background: linear-gradient(135deg, #74b9ff 0%, #0984e3 100%);
         color: white;
       }
       
       .card-orange {
         background: linear-gradient(135deg, #fab1a0 0%, #ff7675 100%);
         color: white;
       }
       
       .card-purple {
         background: linear-gradient(135deg, #a29bfe 0%, #6c5ce7 100%);
         color: white;
       }
       
       .card-green {
         background: linear-gradient(135deg, #55efc4 0%, #00b894 100%);
         color: #2d3436;
       }
       
       .card-teal {
         background: linear-gradient(135deg, #00cec9 0%, #0abde3 100%);
         color: white;
       }
       
       /* ================================================ */
       /* RESPONSIVE DESIGN                                */
       /* ================================================ */
       
       /* Tablettes (≤ 1024px) */
       @media (max-width: 1024px) {
         .card {
           min-width: 600px;
           height: 400px;
         }
       
         .card-content {
           padding: 40px;
         }
       
         .card h2,
         .card-content h2 {
           font-size: 2.2rem;
           margin-bottom: 16px;
         }
       
         .card-content .w-richtext {
           gap: 8px;
         }
       
         .card-content .w-richtext p {
           font-size: 0.95rem;
         }
       
         .card-image {
           width: 280px;
         }
       
         .carousel-row {
           gap: 15px;
         }
       
         .carousel-grid {
           gap: 20px;
         }
         
         /* Animation plus lente sur tablette */
         .carousel-row:nth-child(1),
         .carousel-row:nth-child(2),
         .carousel-row:nth-child(3),
         .carousel-row:nth-child(4) {
           animation-duration: 40s !important;
         }
       }
       
       /* Mobile (≤ 768px) */
       /* @media (max-width: 768px) {
         .card {
           min-width: 320px;
           height: 400px;
           flex-direction: column;
         }
       
         .card-content {
           padding: 30px 25px;
           flex: 1;
         }
       
         .card h2,
         .card-content h2 {
           font-size: 1.6rem;
           margin-bottom: 12px;
         }
       
         .card-content .w-richtext {
           gap: 6px;
           max-height: 120px;
         }
       
         .card-content .w-richtext p {
           font-size: 0.9rem;
           line-height: 1.5;
         }
       
         .card-content .w-richtext p:nth-child(n+4) {
           font-size: 0.8rem;
         }
       
         .card-image {
           width: 100%;
           height: 150px;
           order: -1;
         }
       
         .play-icon {
           width: 50px;
           height: 50px;
           font-size: 18px;
         }
       
         .carousel-row {
           gap: 12px;
         }
       
         .carousel-grid {
           gap: 15px;
         }
       
         .carousel-row:nth-child(1),
         .carousel-row:nth-child(2),
         .carousel-row:nth-child(3),
         .carousel-row:nth-child(4) {
           animation-duration: 50s !important;
         }
       } */
       /* Mobile (≤ 768px) */
@media (max-width: 768px) {
  .card {
    min-width: 320px !important;
    width: 100%;
    height: auto;
    flex-direction: column !important;
  }

  .card-content {
    padding: 30px 25px;
    flex: 1;
  }

  .card h2,
  .card-content h2 {
    font-size: 1.6rem;
    margin-bottom: 12px;
  }

  .card-content .w-richtext {
    gap: 6px;
    max-height: 100%;
    height: auto;
  }

  .card-content .w-richtext p {
    font-size: 0.9rem;
    line-height: 1.5;
  }

  .card-content .w-richtext p:nth-child(n+4) {
    font-size: 0.8rem;
  }

  .card-image {
    width: 100% !important;
    height: 200px;
    order: -1;
  }

  .play-icon {
    width: 50px;
    height: 50px;
    font-size: 18px;
  }

  /* 🔴 FORCER les lignes en colonnes */
  .carousel-row,
  .carousel-grid .carousel-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    animation: none !important;
  }

  /* 🔴 FORCER la grille verticale */
  .carousel-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
    padding: 0 15px !important;
  }

  /* 🔴 FORCER les w-dyn-items en colonne aussi */
  .carousel-row .w-dyn-items {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
  }

  /* 🔴 S'assurer que le container est visible */
  .carousel-container {
    overflow: visible !important;
  }
}
       /* Petits mobiles (≤ 480px)
       @media (max-width: 480px) {
         .card {
           min-width: 280px;
           height: 380px;
         }
       
         .card-content {
           padding: 25px 20px;
         }
       
         .card h2,
         .card-content h2 {
           font-size: 1.4rem;
           margin-bottom: 10px;
         }
       
         .card-content .w-richtext {
           gap: 5px;
           max-height: 100px;
         }
       
         .card-content .w-richtext p {
           font-size: 0.8rem;
         }
       
         .card-content .w-richtext p:nth-child(n+4) {
           font-size: 0.75rem;
         }
       
         .card-image {
           height: 130px;
         }
       } */
       
       /* ================================================ */
       /* STYLES ADDITIONNELS                              */
       /* ================================================ */
       
       .contact-landing-button.ia-active, 
       .form-landing-page.ia-active, 
       .form-landing-button.ia-active, 
       .uploadcare--widget__button.ia-active {
         box-shadow: 
           7px 7px 15px rgba(139, 92, 246, .25), 
           -7px -7px 20px rgba(236, 72, 153, .15), 
           inset 0px 0px 8px rgba(139, 92, 246, .3), 
           inset 7px 7px 15px rgba(236, 72, 153, .15), 
           inset -7px -7px 20px rgba(59, 130, 246, .15), 
           0px 0px 12px rgba(139, 92, 246, .2) !important;
       }