.ecs-slider{
  position: relative;
  width: 100%;
  max-width: 1200px;       
  margin: 0 auto;          
  padding: 50px 0 100px;
  overflow: hidden;            

  --ecs-active-bg: #272F40;
  --ecs-zoom: 1.3;
}

.ecs-slider .swiper{
  width: 100%;
  height: 200px;
  overflow: visible;
  margin: 0 auto;          
}

.ecs-slider .swiper-slide{
  display: flex;
  align-items: center;      
  justify-content: center;  
  text-align: center;
  background: transparent;
  position: relative;
  z-index: 1;
}

.ecs-card{
  height: 100%;
  width: 100%;
  max-width: 600px;
  background: #fff;         
  color: #111;
  border-radius: 20px;      
  box-shadow: 0 8px 20px rgba(0,0,0,.06);
  display: flex;
  flex-direction: column;   
  align-items: center;      
  justify-content: center;  
  gap: 12px;
  transform: scale(1);      
  transform-origin: center center;
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    background-color .25s ease,
    color .25s ease;
}

.ecs-head{
  display: flex;
  flex-direction: column;       
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  text-align: center;
}

.ecs-logo-wrap{
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
}

.ecs-logo{ 
  max-width:100%;
  max-height:72px;
  width:auto;
  height:auto;
  display:block
}

.ecs-title{
  margin: 0;
  font-size: 20px !important;              
  font-weight: 700;
  line-height: 20px !important;
  color: inherit;
}

.ecs-body{
  display: none;                
  font-size: 13px;        
  line-height: 1.6;
  text-align: center;
}

.ecs-slider .swiper-slide.is-active{ 
  z-index: 2;
}

.ecs-slider .swiper-slide.is-active .ecs-card{
  transform: scale(var(--ecs-zoom));
  transform-origin: center center;   
  padding: 30px;
  background: var(--ecs-active-bg);
  color: #fff;
  box-shadow: 0 18px 20px rgba(0,0,0,.25);
  align-items: flex-start;
}

.ecs-slider .swiper-slide.is-active .ecs-card p{
  font-size: 13px !important;
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
}

.ecs-slider .swiper-slide.is-active .ecs-card .ecs-logo-wrap .ecs-logo{
  max-width: 45px !important;
  max-height: 45px !important;
  transform: scale(calc(1 / var(--ecs-zoom)));
  transform-origin: center left;    
}

.ecs-slider .swiper-slide.is-active .ecs-head{
  flex-direction: row;
  align-items: center;
  gap: 0px;                        
}

.ecs-slider .swiper-slide.is-active .ecs-title{
  color: #fff;                  
}

.ecs-slider .swiper-slide.is-active .ecs-body{
  display: block;               
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
}

/* ======= NAV: style original (laissé) ======= */
.ecs-slider .swiper-button-prev,
.ecs-slider .swiper-button-next{
  color: var(--ecs-active-bg);
  transition: transform .2s ease;
}
.ecs-slider .swiper-button-prev:hover,
.ecs-slider .swiper-button-next:hover{
  transform: scale(1.08);
}

.ecs-slider .swiper-pagination{ 
  display:none !important;
}

.ecs-slider{
  padding-bottom: 100px;
}

.ecs-slider .swiper-button-prev,
.ecs-slider .swiper-button-next{
  position: absolute;
  top: auto !important;
  bottom: -95px !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%);
  z-index: 5;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 1px solid #E3263E;
  color: #E3263E;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}

.ecs-slider .swiper-button-prev{ margin-left: -32px; }
.ecs-slider .swiper-button-next{ margin-left:  32px; }

.ecs-slider .swiper-button-prev:hover,
.ecs-slider .swiper-button-next:hover{
  background: #E3263E;
  color: rgba(255, 255, 255, 0.40);
  transform: translateX(-50%) scale(1.04);
}

.ecs-slider .swiper-button-prev::after,
.ecs-slider .swiper-button-next::after{
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
}

.ecs-slider .swiper-button-next::after{ transform: rotate(-45deg); }
.ecs-slider .swiper-button-prev::after{ transform: rotate(135deg); }


@media (max-width: 1024px){
  .ecs-slider{ --ecs-zoom: 1.35; }
  .ecs-slider .swiper-slide.is-active .ecs-card{ padding: 26px; }
}

@media (max-width: 767px){
  .ecs-slider{ --ecs-zoom: 1.3; padding: 40px 0 80px; }
  .ecs-title{ font-size: 22px !important; }
  .ecs-body{ font-size: 12.5px; line-height: 1.55; }

  .ecs-slider .swiper-slide.is-active .ecs-head{
    flex-wrap: wrap;
  }
}

@media (max-width: 640px){

  .ecs-card{ 
    box-sizing: border-box; 
    padding: 26px 18px; 
  }

  .ecs-slider .swiper-slide.is-active .ecs-head{
    flex-direction: row;
    align-items: center;
    gap: 6px;
    flex-wrap: nowrap;
    width: 100%;
    min-width: 0;
  }

  .ecs-slider .swiper-slide.is-active .ecs-logo-wrap{
    flex: 0 0 auto;
    align-items: center;
  }
  .ecs-slider .swiper-slide.is-active .ecs-card .ecs-logo-wrap .ecs-logo{
    max-width: 36px !important;
    max-height: 36px !important;
  }

  .ecs-slider .swiper-slide.is-active .ecs-title{
    font-size: 18px !important;
    line-height: 1.2;
    margin: 0;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .ecs-slider .swiper-slide.is-active .ecs-body{
    font-size: 12px;
    line-height: 1.55;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
    hyphens: auto;
  }

  .ecs-slider,
  .ecs-slider .swiper,
  .ecs-slider .swiper-wrapper{
    overflow: visible !important;
  }

  /* Mobile : flèches masquées */
  .ecs-slider .swiper-button-prev,
  .ecs-slider .swiper-button-next{
    display: none !important;
  }
}

@media (max-width: 480px){
  .ecs-slider{ --ecs-zoom: 1.25; padding: 36px 0 72px; }
  .ecs-slider .swiper-slide.is-active .ecs-card{ padding: 22px; }

  .ecs-title{ font-size: 20px !important; line-height: 1.25; }
  .ecs-body{ font-size: 12px; }

  .ecs-slider .swiper-slide.is-active .ecs-head{
    row-gap: 4px; 
  }
}

@media (max-width: 360px){
  .ecs-slider{ --ecs-zoom: 1.2; }
}
