/* ===== Carrousel d'avis clients ===== */
.apc-avis { position: relative; width: 100%; }
.apc-avis__track { display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 28px 4px 36px; -webkit-overflow-scrolling: touch; }
.apc-avis__track::-webkit-scrollbar { display: none; }
.apc-avis__card { position: relative; margin: 0; flex: 0 0 calc((100% - 48px) / 3); scroll-snap-align: start; background: #fff; border-radius: 20px; padding: 40px 30px 28px; box-shadow: 0 10px 34px rgba(50,74,109,.14); display: flex; flex-direction: column; gap: 14px; border-top: 5px solid var(--apc-red); transition: transform .25s, box-shadow .25s; overflow: hidden; }
.apc-avis__card:hover { transform: translateY(-6px); box-shadow: 0 18px 46px rgba(50,74,109,.22); }
.apc-avis__quote { position: absolute; top: -6px; right: 22px; font: 7rem/1 var(--apc-font-title); color: var(--apc-red); opacity: .12; pointer-events: none; }
.apc-avis__stars { color: #f5a623; letter-spacing: .2em; font-size: 1.15rem; }
.apc-avis blockquote { margin: 0; padding: 0; border: 0; font-size: 1rem; font-style: italic; font-weight: 300; flex: 1; color: var(--apc-text); }
.apc-avis figcaption { display: flex; align-items: center; gap: 12px; padding-top: 14px; border-top: 1px solid var(--apc-line); }
.apc-avis figcaption strong { display: block; line-height: 1.2; }
.apc-avis figcaption small { color: var(--apc-green); font-weight: 500; }
.apc-avis__avatar { width: 44px; height: 44px; border-radius: 50%; background: linear-gradient(135deg, var(--apc-red), #8f0a20); color: #fff; display: grid; place-items: center; font: 1.1rem var(--apc-font-title); flex: none; }
.apc-avis__nav { display: flex; align-items: center; justify-content: center; gap: 18px; }
.apc-avis__btn { width: 48px; height: 48px; border-radius: 50%; border: 2px solid var(--apc-navy); background: #fff; color: var(--apc-navy); font-size: 1.2rem; cursor: pointer; transition: background .15s, color .15s; }
.apc-avis__btn:hover { background: var(--apc-red); border-color: var(--apc-red); color: #fff; }
.apc-avis__dots { display: flex; gap: 8px; }
.apc-avis__dot { width: 10px; height: 10px; border-radius: 999px; border: 0; padding: 0; background: var(--apc-line); cursor: pointer; transition: width .25s, background .25s; }
.apc-avis__dot.is-active { width: 28px; background: var(--apc-red); }
@media (max-width: 1000px) { .apc-avis__card { flex-basis: calc((100% - 24px) / 2); } }
@media (max-width: 640px) { .apc-avis__card { flex-basis: 88%; } }
