.elementor-31329 .elementor-element.elementor-element-3c20913{--display:flex;--margin-top:-40px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-31329 .elementor-element.elementor-element-1488306{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-31329 .elementor-element.elementor-element-d6a3e86{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:10px;--margin-bottom:25px;--margin-left:0px;--margin-right:0px;}.elementor-31329 .elementor-element.elementor-element-cfd9eda{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:60px;--margin-left:0px;--margin-right:0px;}.elementor-31329 .elementor-element.elementor-element-1ed645a{--display:flex;--wd-side-hidden-w:300px;}.elementor-31329 .elementor-element.elementor-element-8db07ee > .elementor-widget-container{background-color:#FFFFFF;padding:20px 20px 20px 20px;border-radius:10px 10px 10px 10px;}.elementor-31329 .elementor-element.elementor-element-e952f75{--display:flex;}.elementor-31329 .elementor-element.elementor-element-53dc1ee{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-31329 .elementor-element.elementor-element-f18a9e9{--display:flex;}.elementor-31329 .elementor-element.elementor-element-b8532c3{width:auto;max-width:auto;}.elementor-31329 .elementor-element.elementor-element-3126fcf{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:center;--gap:10px 20px;--row-gap:10px;--column-gap:20px;}.elementor-31329 .elementor-element.elementor-element-e4dbfae{width:auto;max-width:auto;}.elementor-31329 .elementor-element.elementor-element-5db4e50 .wd-products-with-bg, .elementor-31329 .elementor-element.elementor-element-5db4e50 .wd-products-with-bg :is(.wd-product,.wd-cat){--wd-prod-bg:#FFFFFF;--wd-bordered-bg:#FFFFFF;}.elementor-31329 .elementor-element.elementor-element-a59386e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.woocommerce .elementor-31329 .elementor-element.elementor-element-0144d0c .term-description{color:#000000;}@media(max-width:1024px){.elementor-31329 .elementor-element.elementor-element-3c20913{--margin-top:-40px;--margin-bottom:-30px;--margin-left:0px;--margin-right:0px;}.elementor-31329 .elementor-element.elementor-element-cfd9eda{--margin-top:0px;--margin-bottom:40px;--margin-left:0px;--margin-right:0px;}.elementor-31329 .elementor-element.elementor-element-53dc1ee{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-31329 .elementor-element.elementor-element-3126fcf{--justify-content:space-between;}.elementor-31329 .elementor-element.elementor-element-f570c0f{width:auto;max-width:auto;}}@media(max-width:768px){.elementor-31329 .elementor-element.elementor-element-3c20913{--margin-top:-40px;--margin-bottom:-10px;--margin-left:0px;--margin-right:0px;}.elementor-31329 .elementor-element.elementor-element-d6a3e86{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-31329 .elementor-element.elementor-element-cfd9eda{--margin-top:0px;--margin-bottom:20px;--margin-left:0px;--margin-right:0px;}}@media(min-width:769px){.elementor-31329 .elementor-element.elementor-element-1ed645a{--width:25%;}.elementor-31329 .elementor-element.elementor-element-e952f75{--width:75%;}.elementor-31329 .elementor-element.elementor-element-f18a9e9{--width:34%;}.elementor-31329 .elementor-element.elementor-element-3126fcf{--width:66%;}}@media(max-width:1024px) and (min-width:769px){.elementor-31329 .elementor-element.elementor-element-e952f75{--width:100%;}.elementor-31329 .elementor-element.elementor-element-f18a9e9{--width:100%;}.elementor-31329 .elementor-element.elementor-element-3126fcf{--width:100%;}}/* Start custom CSS for html, class: .elementor-element-bde50d1 */<style>
/* ============================================
   BANDEAU MAILLAGE - SLIDER UNIFIÉ
   ============================================ */
.maillage-trio {
  max-width: 1100px;
  margin: 44px auto;
  font-family: 'Nunito', sans-serif;
  padding: 0;
  position: relative;
}

.maillage-trio__title {
  font-size: 1.4rem;
  font-weight: 800;
  color: #2d2d2d;
  margin-bottom: 24px;
  text-align: center;
  letter-spacing: -0.02em;
  line-height: 1.35;
  padding: 0 16px;
}

.maillage-trio__title span {
  color: #5934c8;
}

/* WRAPPER pour positionner les flèches */
.maillage-trio__wrapper {
  position: relative;
}

/* SLIDER HORIZONTAL */
.maillage-trio__grid {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding: 6px 16px 16px;
  scrollbar-width: none; /* Firefox */
  scroll-behavior: smooth;
  cursor: grab;
}

.maillage-trio__grid:active {
  cursor: grabbing;
}

.maillage-trio__grid::-webkit-scrollbar {
  display: none;
}

/* FLÈCHES NAVIGATION */
.maillage-trio__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #ffffff;
  border: 2px solid #ede8f9;
  color: #5934c8;
  font-size: 1.3rem;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(89, 52, 200, 0.18);
  transition: all 0.25s ease;
  z-index: 5;
  line-height: 1;
  padding: 0;
}

.maillage-trio__arrow:hover {
  background: #5934c8;
  color: #ffffff;
  border-color: #5934c8;
  transform: translateY(-50%) scale(1.08);
}

.maillage-trio__arrow:disabled {
  opacity: 0;
  pointer-events: none;
}

.maillage-trio__arrow--prev {
  left: -8px;
}

.maillage-trio__arrow--next {
  right: -8px;
}

/* CARTE - largeur calculée pour 3,5 visibles */
.trio-card {
  background: #ffffff;
  border-radius: 14px;
  border: 2px solid #ede8f9;
  overflow: hidden;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
  position: relative;
  flex: 0 0 calc((100% - 32px - 49px) / 3.5);
  scroll-snap-align: start;
  min-width: 240px;
}

.trio-card:hover {
  border-color: #5934c8;
  box-shadow: 0 8px 28px rgba(89, 52, 200, 0.16);
  transform: translateY(-3px);
}

/* HEADER */
.trio-card__header {
  background: linear-gradient(135deg, #5934c8 0%, #7b5ce0 100%);
  padding: 20px 14px 16px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.trio-card__header::after {
  content: '';
  position: absolute;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: rgba(255,255,255,0.07);
  top: -20px;
  right: -20px;
}

.trio-card__icon {
  font-size: 1.8rem;
  margin-bottom: 5px;
  display: block;
  line-height: 1;
}

.trio-card__label {
  font-size: 1.1rem;
  font-weight: 800;
  color: #ffffff;
  letter-spacing: -0.01em;
}

.trio-card__sublabel {
  font-size: 0.74rem;
  font-weight: 600;
  color: rgba(255,255,255,0.7);
  margin-top: 2px;
}

/* BODY */
.trio-card__body {
  padding: 12px 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  flex: 1;
}

.trio-card__desc {
  font-size: 0.8rem;
  color: #6b6b6b;
  line-height: 1.4;
  text-align: center;
  margin-bottom: 5px;
}

/* BADGE */
.trio-card__badge {
  display: inline-block;
  background: #f3f0fb;
  color: #5934c8;
  font-size: 0.7rem;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 20px;
  text-align: center;
  margin: 0 auto 4px;
}

/* CTA */
.trio-card__cta {
  display: block;
  text-align: center;
  padding: 10px 14px;
  background: #5934c8;
  color: #ffffff;
  font-size: 0.82rem;
  font-weight: 700;
  border-radius: 8px;
  text-decoration: none;
  transition: background 0.25s ease, transform 0.2s ease;
  margin-top: auto;
  letter-spacing: 0.01em;
}

.trio-card__cta:hover {
  background: #4726a8;
  transform: scale(1.02);
}

/* =====================
   TABLETTE - 2,5 cartes visibles
   ===================== */
@media (max-width: 768px) {
  .maillage-trio {
    margin: 32px auto;
  }

  .maillage-trio__title {
    font-size: 1.15rem;
    margin-bottom: 18px;
    padding: 0 12px;
  }

  .maillage-trio__grid {
    gap: 12px;
    padding: 4px 12px 14px;
  }

  .trio-card {
    flex: 0 0 calc((100% - 24px - 24px) / 2.5);
    min-width: 200px;
    border-radius: 12px;
  }

  /* Flèches plus petites sur tablette */
  .maillage-trio__arrow {
    width: 36px;
    height: 36px;
    font-size: 1.1rem;
  }

  .trio-card__header {
    padding: 16px 12px 14px;
  }

  .trio-card__icon {
    font-size: 1.5rem;
  }

  .trio-card__label {
    font-size: 1rem;
  }

  .trio-card__sublabel {
    font-size: 0.7rem;
  }

  .trio-card__body {
    padding: 10px 10px 12px;
  }

  .trio-card__desc {
    font-size: 0.74rem;
  }

  .trio-card__cta {
    padding: 9px 12px;
    font-size: 0.76rem;
    border-radius: 7px;
  }

  .trio-card__badge {
    font-size: 0.66rem;
    padding: 3px 8px;
  }
}

/* =====================
   MOBILE - flèches cachées (swipe naturel)
   ===================== */
@media (max-width: 480px) {
  .maillage-trio {
    margin: 24px auto;
  }

  .maillage-trio__title {
    font-size: 1.05rem;
    margin-bottom: 14px;
    padding: 0 12px;
  }

  .maillage-trio__grid {
    gap: 10px;
    padding: 4px 12px 12px;
  }

  .trio-card {
    flex: 0 0 78%;
    min-width: 0;
    max-width: 260px;
    border-radius: 12px;
  }

  /* Cacher les flèches sur mobile, le swipe suffit */
  .maillage-trio__arrow {
    display: none;
  }

  .trio-card__header {
    padding: 14px 10px 12px;
  }

  .trio-card__header::after {
    width: 50px;
    height: 50px;
    top: -15px;
    right: -15px;
  }

  .trio-card__icon {
    font-size: 1.5rem;
    margin-bottom: 4px;
  }

  .trio-card__label {
    font-size: 0.95rem;
  }

  .trio-card__sublabel {
    font-size: 0.66rem;
  }

  .trio-card__body {
    padding: 10px 10px 12px;
  }

  .trio-card__desc {
    font-size: 0.74rem;
    line-height: 1.35;
  }

  .trio-card__badge {
    font-size: 0.64rem;
    padding: 3px 8px;
  }

  .trio-card__cta {
    padding: 8px 12px;
    font-size: 0.74rem;
    border-radius: 7px;
  }
}
</style>/* End custom CSS */