/* DBNC Avis Elementor 1.2.2 — transparent structure, separate column/row spacing, clipped viewport, soft top/bottom fade */
.dbnce-reviews-shell{
  position:relative;
  width:100%;
  background:transparent!important;
  background-color:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible;
}

/* The viewport is the ONLY clipping layer. It keeps animated cards inside the requested height. */
.dbnce-reviews-viewport{
  position:relative;
  height:var(--dbnce-height);
  box-sizing:border-box;
  padding:28px 28px;
  overflow:hidden!important;
  background:transparent!important;
  background-color:transparent!important;
  border:0!important;
  box-shadow:none!important;

  /* Fade only at the top and bottom; no white overlay and no column background. */
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 6%,#000 94%,transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0%,#000 6%,#000 94%,transparent 100%);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
}

.dbnce-reviews-wall{
  position:relative;
  display:grid;
  grid-template-columns:repeat(var(--dbnce-columns),minmax(0,1fr));
  column-gap:var(--dbnce-column-gap,30px);
  row-gap:0;
  height:100%;
  overflow:visible!important;
  padding:0;
  background:transparent!important;
  background-color:transparent!important;
  box-shadow:none!important;
  border:0!important;
}
.dbnce-reviews-wall:before,.dbnce-reviews-wall:after,
.dbnce-reviews-shell:before,.dbnce-reviews-shell:after{
  content:none!important;
  display:none!important;
  background:transparent!important;
}

.dbnce-review-column{
  overflow:visible!important;
  min-width:0;
  background:transparent!important;
  background-color:transparent!important;
  box-shadow:none!important;
  border:0!important;
}
.dbnce-review-track{
  display:flex;
  flex-direction:column;
  gap:var(--dbnce-row-gap,30px);
  animation-name:dbncReviewsScroll;
  animation-duration:var(--dbnce-speed,40s);
  animation-timing-function:linear;
  animation-iteration-count:infinite;
  animation-delay:var(--dbnce-delay,0s);
  overflow:visible!important;
  background:transparent!important;
  background-color:transparent!important;
  box-shadow:none!important;
  border:0!important;
}
.dbnce-pause-hover:hover .dbnce-review-track{animation-play-state:paused}

/* Only the review cards are visually customizable. */
.dbnce-review-card{
  background:rgba(var(--dbnce-card-bg-rgb,255,255,255),var(--dbnce-card-bg-alpha,.4));
  -webkit-backdrop-filter:blur(var(--dbnce-card-blur,15px));
  backdrop-filter:blur(var(--dbnce-card-blur,15px));
  border:var(--dbnce-border-width,0px) solid var(--dbnce-border,#e5e7eb);
  border-radius:var(--dbnce-radius,20px);
  padding:var(--dbnce-padding,22px);
  box-shadow:var(--dbnce-shadow-x,0px) var(--dbnce-shadow-y,8px) var(--dbnce-shadow-blur,32px) var(--dbnce-shadow-spread,0px) rgba(var(--dbnce-shadow-rgb,0,0,0),var(--dbnce-shadow-alpha,.10));
  color:var(--dbnce-text,#1f2937);
  transition:transform .45s cubic-bezier(.19,1,.22,1),box-shadow .3s ease;
  will-change:transform;
}
.dbnce-review-card:hover{transform:translateY(calc(-1 * var(--dbnce-hover-lift,10px)))}
.dbnce-review-card:has(~ .dbnce-review-card:hover){transform:translateY(calc(-1 * var(--dbnce-previous-lift,5px)))}
.dbnce-review-card:hover .dbnce-author strong{color:var(--dbnce-hover-name,#4F55F1)}

.dbnce-review-head{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.dbnce-avatar{width:var(--dbnce-avatar-size,42px);height:var(--dbnce-avatar-size,42px);flex:0 0 var(--dbnce-avatar-size,42px);border-radius:50%;overflow:hidden;background:var(--dbnce-avatar-bg,#e5e7eb);color:var(--dbnce-avatar-color,#374151);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:calc(var(--dbnce-avatar-size,42px) * .4)}
.dbnce-avatar img{width:100%;height:100%;object-fit:cover}
.dbnce-author{min-width:0}
.dbnce-author strong{display:block;font-family:var(--dbnce-author-font,inherit);font-weight:var(--dbnce-author-weight,700);font-size:var(--dbnce-author-size,15px);line-height:var(--dbnce-author-line-height,1.3);letter-spacing:var(--dbnce-author-letter-spacing,0px);text-transform:var(--dbnce-author-transform,none);color:var(--dbnce-name,#111827);transition:color .3s ease-in-out}
.dbnce-author small{display:block;margin-top:3px;font-family:var(--dbnce-meta-font,inherit);font-weight:var(--dbnce-meta-weight,400);font-size:var(--dbnce-meta-size,12px);color:var(--dbnce-muted,#6b7280)}
.dbnce-stars{font-size:14px;letter-spacing:1px;color:var(--dbnce-star,#4F55F1);margin-bottom:12px}
.dbnce-review-content{font-family:var(--dbnce-content-font,inherit);font-weight:var(--dbnce-content-weight,400);font-size:var(--dbnce-content-size,15px);line-height:var(--dbnce-line-height,1.65);letter-spacing:var(--dbnce-content-letter-spacing,0px);text-transform:var(--dbnce-content-transform,none);color:var(--dbnce-text,#1f2937)}
.dbnce-review-content:empty{display:none}
.dbnce-review-content p:first-child{margin-top:0}
.dbnce-review-content p:last-child{margin-bottom:0}
.dbnce-review-card footer{display:flex;justify-content:space-between;gap:12px;margin-top:16px;padding-top:13px;border-top:1px solid color-mix(in srgb,var(--dbnce-border,#e5e7eb) 65%,transparent);font-family:var(--dbnce-meta-font,inherit);font-weight:var(--dbnce-meta-weight,400);font-size:var(--dbnce-meta-size,12px);color:var(--dbnce-muted,#9ca3af)}

@keyframes dbncReviewsScroll{from{transform:translateY(0)}to{transform:translateY(-50%)}}
@media(max-width:980px){
  .dbnce-reviews-viewport{padding:24px}
  .dbnce-reviews-wall{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dbnce-review-column:nth-child(n+3){display:none}
}
@media(max-width:640px){
  .dbnce-reviews-viewport{padding:20px 16px}
  .dbnce-reviews-wall{grid-template-columns:1fr;column-gap:0;row-gap:0}
  .dbnce-review-column:nth-child(n+2){display:none}
  .dbnce-review-card{padding:min(var(--dbnce-padding,18px),22px)}
}

/* =========================================================
   ÉTUDE DE CAS — variante de vignette
   ========================================================= */
.dbnce-review-card--case{
  display:block;
  padding:0!important;
  overflow:hidden!important;
  background:#fff;
  color:inherit;
  text-decoration:none!important;
}
.dbnce-review-card--case:hover,
.dbnce-review-card--case:focus,
.dbnce-review-card--case:visited{
  color:inherit;
  text-decoration:none!important;
}
.dbnce-case-panel{
  position:relative;
  padding:28px;
  background:linear-gradient(var(--dbnce-case-angle,135deg),var(--dbnce-case-start,#5C63F2) 0%,var(--dbnce-case-end,#3347B8) 100%);
  color:#fff;
  overflow:hidden;
}
.dbnce-case-panel:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:radial-gradient(circle at 15% 0%,rgba(255,255,255,.16),transparent 34%);
}
.dbnce-case-panel-link{
  position:absolute;
  inset:0;
  z-index:1;
  display:block;
  text-decoration:none!important;
  color:inherit!important;
}
.dbnce-case-label,
.dbnce-case-title,
.dbnce-case-excerpt{
  position:relative;
  z-index:2;
  pointer-events:none;
}
.dbnce-case-label{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:14px;
  color:rgba(255,255,255,.78);
  font-size:11px;
  line-height:1.3;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.dbnce-case-label-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  line-height:1;
  color:rgba(255,255,255,.85);
}
.dbnce-case-label-icon svg{display:block;width:1em;height:1em;fill:currentColor}
.dbnce-case-title{
  margin:0;
  color:#fff;
  font-size:28px;
  line-height:1.12;
  font-weight:700;
}
.dbnce-case-excerpt{
  margin-top:34px;
  color:rgba(255,255,255,.86);
  font-size:15px;
  line-height:1.5;
}
.dbnce-case-pill{
  position:relative;
  z-index:3;
  display:inline-flex;
  align-items:center;
  margin-top:18px;
  padding:8px 14px;
  border:1px solid rgba(255,255,255,.85);
  border-radius:30px;
  background:rgba(255,255,255,.08);
  color:#fff!important;
  font-size:10px;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none!important;
  transition:background .25s ease,transform .25s ease;
}
.dbnce-case-pill:hover,
.dbnce-case-pill:focus{
  background:rgba(255,255,255,.14);
  color:#fff!important;
  text-decoration:none!important;
}
.dbnce-case-review{
  padding:24px 28px 26px;
  background:rgba(255,255,255,.92);
}
.dbnce-case-quote{margin-bottom:22px}
.dbnce-case-author{margin:0!important}

@media(max-width:640px){
  .dbnce-case-panel{padding:22px}
  .dbnce-case-title{font-size:23px}
  .dbnce-case-excerpt{margin-top:24px}
  .dbnce-case-review{padding:22px}
}


/* =========================================================
   AVIS SIMPLE — même esthétique que la partie avis des études de cas
   ========================================================= */
.dbnce-review-card--simple{
  padding:24px 28px 26px;
  background:rgba(255,255,255,.92);
}
.dbnce-simple-quote{margin-bottom:22px}
.dbnce-simple-author{margin:0!important}
.dbnce-review-card--simple .dbnce-stars,
.dbnce-review-card--simple footer{display:none!important}
@media(max-width:640px){
  .dbnce-review-card--simple{padding:22px}
}
