.ng-testimonials{--ng-blue:#527A9B;--ng-black:#171717;--ng-muted:#aaa;width:100%;position:relative}.ng-testimonials *{box-sizing:border-box}.ng-testimonials__viewport{overflow:hidden;width:100%;padding:2px}.ng-testimonials__track{display:flex;gap:22px;transition:transform .45s cubic-bezier(.22,.61,.36,1);will-change:transform}.ng-testimonial{flex:0 0 calc((100% - 44px)/3);min-width:0;min-height:310px;background:var(--ng-black);color:#fff;padding:30px 28px 26px;display:flex;flex-direction:column;position:relative;border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 28px rgba(0,0,0,.08)}.ng-testimonial__stars{color:var(--ng-blue);font-size:18px;letter-spacing:3px;line-height:1;margin-bottom:24px;white-space:nowrap}.ng-testimonial__quote{position:absolute;right:24px;top:18px;font:700 66px/1 Georgia,serif;color:rgba(255,255,255,.07)}.ng-testimonial__text{font-size:15px;line-height:1.75;color:#eee;margin-bottom:30px}.ng-testimonial__text p{margin:0 0 12px}.ng-testimonial__person{margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:4px}.ng-testimonial__person strong{font-size:15px;color:#fff}.ng-testimonial__person span{font-size:12px;color:var(--ng-muted);text-transform:uppercase;letter-spacing:.08em}.ng-testimonials__controls{display:flex;align-items:center;justify-content:center;gap:13px;margin-top:18px}.ng-testimonials__arrow{appearance:none;border:1px solid rgba(82,122,155,.35);border-radius:50%;background:transparent;color:var(--ng-blue);width:42px;height:42px;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:0;line-height:1;transition:background .22s ease,border-color .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease}.ng-testimonials__arrow::before{font-family:Arial,sans-serif;font-size:25px;font-weight:300;line-height:1;transform:translateY(-1px)}.ng-testimonials__arrow::before{content:"";display:block;width:10px;height:10px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}.ng-testimonials__arrow.ng-prev::before{transform:rotate(225deg)}.ng-testimonials__arrow.ng-next::before{transform:rotate(45deg)}.ng-testimonials__arrow:hover{background:var(--ng-blue);border-color:var(--ng-blue);color:#fff;transform:translateY(-2px);box-shadow:0 7px 18px rgba(82,122,155,.2)}.ng-testimonials__arrow:focus-visible{outline:2px solid var(--ng-blue);outline-offset:3px}.ng-testimonials__dots{display:flex;align-items:center;gap:7px}.ng-testimonials__dot{border:0;padding:0;width:7px;height:7px;border-radius:50%;background:#c9c9c9;cursor:pointer}.ng-testimonials__dot.is-active{background:var(--ng-blue);transform:scale(1.25)}
@media(max-width:980px){.ng-testimonial{flex-basis:calc((100% - 22px)/2)}}
@media(max-width:600px){.ng-testimonials__track{gap:14px}.ng-testimonial{flex-basis:100%;min-height:290px;padding:26px 22px}.ng-testimonial__text{font-size:14px}.ng-testimonials__controls{margin-top:18px}}

/* V1.2 — thème clair par défaut, thème sombre conservé */
.ng-testimonials--clair .ng-testimonial {
  background:#fff;color:#171717;border:1px solid #e3e9ee;border-radius:14px;
  box-shadow:0 8px 25px rgba(16,29,39,.055);min-height:350px;
  transition:transform .25s ease,box-shadow .25s ease;
}
.ng-testimonials--clair .ng-testimonial:hover {transform:translateY(-4px);box-shadow:0 14px 32px rgba(16,29,39,.1)}
.ng-testimonials--clair .ng-testimonial__text {color:#3d4954}
.ng-testimonials--clair .ng-testimonial__person {border-top-color:#e6ebf0}
.ng-testimonials--clair .ng-testimonial__person strong {color:#171717}
.ng-testimonials--clair .ng-testimonial__person span {color:#667687}
.ng-testimonials--clair .ng-testimonial__quote {color:rgba(82,122,155,.13)}
.ng-testimonials--sombre .ng-testimonial {border-radius:14px}
@media(max-width:600px){.ng-testimonials--clair .ng-testimonial{min-height:310px}}

/* V1.3 — cartes compactes et texte limité à 4 lignes */
.ng-testimonials .ng-testimonial{min-height:255px;padding:24px 25px 22px}
.ng-testimonials .ng-testimonial__stars{margin-bottom:15px}
.ng-testimonials .ng-testimonial__text{font-size:14px;line-height:1.6;margin-bottom:8px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden;max-height:calc(4 * 1.6em)}
.ng-testimonials .ng-testimonial__text p{margin:0}
.ng-testimonials .ng-testimonial__text p + p{margin-top:7px}
.ng-testimonials .ng-testimonial__person{padding-top:13px}
.ng-testimonials .ng-testimonial__readmore{align-self:flex-start;display:inline-block;background:none!important;border:0!important;box-shadow:none!important;padding:3px 0!important;margin:0 0 12px!important;color:#527A9B!important;font-size:13px!important;font-weight:700;line-height:1.5;cursor:pointer;text-decoration:none}
.ng-testimonials .ng-testimonial__readmore[hidden]{display:none!important}
.ng-testimonials .ng-testimonial__readmore:hover{text-decoration:underline}
.ng-testimonials .ng-testimonial__readmore:focus-visible{outline:2px solid #527A9B;outline-offset:3px}
.ng-testimonials .ng-testimonial__fulltext{display:none}
.ng-testimonials .ng-testimonials__dialog[hidden]{display:none!important}
.ng-testimonials .ng-testimonials__dialog{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px}
.ng-testimonials .ng-testimonials__dialog-overlay{position:absolute;inset:0;background:rgba(12,26,37,.76)}
.ng-testimonials .ng-testimonials__dialog-panel{position:relative;background:#fff;color:#171717;width:min(100%,650px);max-height:min(85vh,850px);overflow-y:auto;border-radius:16px;padding:36px;box-shadow:0 24px 80px rgba(0,0,0,.25)}
.ng-testimonials .ng-testimonials__dialog-close{position:absolute;top:10px;right:14px;background:transparent!important;color:#334b5c!important;border:0!important;font-size:32px!important;line-height:1;cursor:pointer;padding:5px 9px!important}
.ng-testimonials .ng-testimonials__dialog-stars{color:#527A9B;font-size:20px;letter-spacing:2px;margin-bottom:22px}
.ng-testimonials .ng-testimonials__dialog-text{font-size:16px;line-height:1.75;color:#303b45;overflow-wrap:anywhere}
.ng-testimonials .ng-testimonials__dialog-text p{margin:0 0 14px}
.ng-testimonials .ng-testimonials__dialog-person{border-top:1px solid #e6ebf0;padding-top:16px;margin-top:20px;display:flex;flex-direction:column;gap:4px}
.ng-testimonials .ng-testimonials__dialog-person strong{color:#171717}
.ng-testimonials .ng-testimonials__dialog-person span{font-size:12px;color:#667687;text-transform:uppercase;letter-spacing:.07em}
@media(max-width:600px){.ng-testimonials .ng-testimonial{min-height:245px;padding:22px 20px}.ng-testimonials .ng-testimonials__dialog-panel{padding:30px 22px}.ng-testimonials .ng-testimonials__dialog-text{font-size:15px}}
