/**
 * AH – Reviews Slider
 * Widget: dc-ah-reviews-slider
 *
 * Instelbare waarden komen binnen als custom properties via de Elementor
 * control-selectors; er staat niets inline in de PHP.
 */

.dc-ah-reviews-slider{--rv-a:#c8956c;--rv-w:#e8a86d;--rv-speed:5s;--rv-bg:#faf8f5;--rv-t:#2c2420;--rv-m:#8a7d72;position:relative;background:var(--rv-bg);padding:clamp(80px,9vw,140px) 0;overflow:hidden}

/* Glows */
.dc-ah-reviews-slider .rv__glow{position:absolute;border-radius:50%;pointer-events:none;z-index:0}
.dc-ah-reviews-slider .rv__glow--1{top:-80px;right:10%;width:450px;height:450px;background:radial-gradient(ellipse,rgba(200,149,108,.08) 0%,transparent 70%)}
.dc-ah-reviews-slider .rv__glow--2{bottom:-60px;left:5%;width:350px;height:350px;background:radial-gradient(ellipse,rgba(200,149,108,.06) 0%,transparent 70%)}

.dc-ah-reviews-slider .rv__c{position:relative;z-index:5;max-width:1320px;margin:0 auto;padding:0 60px}

/* ═══ Header ═══ */
.dc-ah-reviews-slider .rv__hd{text-align:center;max-width:600px;margin:0 auto clamp(48px,5vw,72px)}

.dc-ah-reviews-slider .rv__ey{display:inline-flex;align-items:center;gap:14px;font-size:11px;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--rv-a);margin-bottom:20px}
.dc-ah-reviews-slider .rv__ey-fl{width:16px;height:16px;color:var(--rv-a);flex-shrink:0;animation:rvFl 3s ease-in-out infinite}
@keyframes rvFl{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}
.dc-ah-reviews-slider .rv__ey::after{content:'';width:28px;height:1px;background:linear-gradient(90deg,var(--rv-a),transparent)}

.dc-ah-reviews-slider .rv__ti{font-family:Georgia,'Times New Roman',serif;font-size:clamp(28px,3.5vw,48px);font-weight:400;line-height:1.2;color:var(--rv-t);margin:0 0 16px}
.dc-ah-reviews-slider .rv__hl{color:var(--rv-a);font-style:italic}

/* Score badge */
.dc-ah-reviews-slider .rv__score{display:inline-flex;align-items:center;gap:16px;padding:14px 28px;background:#fff;border:1px solid rgba(44,36,32,.06);border-radius:100px;box-shadow:0 4px 16px rgba(44,36,32,.04);margin-top:8px}
.dc-ah-reviews-slider .rv__score-num{font-family:Georgia,serif;font-size:28px;color:var(--rv-a);line-height:1}
.dc-ah-reviews-slider .rv__score-stars{display:flex;gap:3px}
.dc-ah-reviews-slider .rv__score-stars svg{width:16px;height:16px;color:var(--rv-a)}
.dc-ah-reviews-slider .rv__score-meta{font-size:12px;color:var(--rv-m);text-align:left}

/* ═══ Slider Stage ═══ */
.dc-ah-reviews-slider .rv__stage{position:relative;min-height:320px}

/* ── Floating Decorative Cards ── */
.dc-ah-reviews-slider .rv__float{position:absolute;background:#fff;border:1px solid rgba(44,36,32,.05);border-radius:16px;box-shadow:0 8px 32px rgba(44,36,32,.06);padding:20px;pointer-events:none;z-index:1;opacity:0;transition:opacity 1s ease}
.dc-ah-reviews-slider .rv__float.is-vis{opacity:1}

.dc-ah-reviews-slider .rv__float--1{width:180px;top:-20px;left:-30px;transform:rotate(-6deg);animation:rvF1 8s ease-in-out infinite}
.dc-ah-reviews-slider .rv__float--2{width:160px;top:40px;right:-20px;transform:rotate(4deg);animation:rvF2 7s ease-in-out 1s infinite}
.dc-ah-reviews-slider .rv__float--3{width:150px;bottom:-10px;left:60px;transform:rotate(3deg);animation:rvF3 9s ease-in-out .5s infinite}
.dc-ah-reviews-slider .rv__float--4{width:170px;bottom:20px;right:40px;transform:rotate(-4deg);animation:rvF4 6s ease-in-out 2s infinite}

@keyframes rvF1{0%,100%{transform:rotate(-6deg) translateY(0)}50%{transform:rotate(-4deg) translateY(-12px)}}
@keyframes rvF2{0%,100%{transform:rotate(4deg) translateY(0)}50%{transform:rotate(6deg) translateY(-10px)}}
@keyframes rvF3{0%,100%{transform:rotate(3deg) translateY(0)}50%{transform:rotate(1deg) translateY(-14px)}}
@keyframes rvF4{0%,100%{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(-2deg) translateY(-8px)}}

.dc-ah-reviews-slider .rv__float-stars{display:flex;gap:2px;margin-bottom:8px}
.dc-ah-reviews-slider .rv__float-stars svg{width:12px;height:12px;color:var(--rv-a)}
.dc-ah-reviews-slider .rv__float-text{font-size:11px;color:var(--rv-m);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dc-ah-reviews-slider .rv__float-name{font-size:10px;font-weight:600;color:var(--rv-t);margin-top:8px}

/* ── Main Slider ── */
.dc-ah-reviews-slider .rv__slider{position:relative;z-index:5;max-width:700px;margin:0 auto;overflow:hidden;border-radius:24px}

.dc-ah-reviews-slider .rv__track{display:flex;transition:transform .7s cubic-bezier(.4,.2,.2,1)}

/* ── Review Card ── */
.dc-ah-reviews-slider .rv__card{flex:0 0 100%;min-width:0;padding:0 8px;box-sizing:border-box}

.dc-ah-reviews-slider .rv__card-inner{background:#fff;border:1px solid rgba(44,36,32,.06);border-radius:20px;padding:clamp(32px,3vw,48px);box-shadow:0 12px 48px rgba(44,36,32,.06);position:relative;overflow:hidden}

/* Accent top line */
.dc-ah-reviews-slider .rv__card-inner::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--rv-a),var(--rv-w))}

/* Quote mark */
.dc-ah-reviews-slider .rv__card-quote{font-family:Georgia,serif;font-size:80px;line-height:1;color:var(--rv-a);opacity:.08;position:absolute;top:16px;right:32px;pointer-events:none}

/* Stars */
.dc-ah-reviews-slider .rv__card-stars{display:flex;gap:4px;margin-bottom:20px}
.dc-ah-reviews-slider .rv__card-stars svg{width:18px;height:18px;color:var(--rv-a)}

/* Text */
.dc-ah-reviews-slider .rv__card-text{font-family:Georgia,'Times New Roman',serif;font-size:clamp(16px,1.5vw,19px);font-weight:400;line-height:1.8;color:var(--rv-t);margin:0 0 28px;font-style:italic}

/* Author row */
.dc-ah-reviews-slider .rv__card-author{display:flex;align-items:center;gap:14px;padding-top:20px;border-top:1px solid rgba(44,36,32,.06)}

.dc-ah-reviews-slider .rv__card-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--rv-a),var(--rv-w));display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;font-family:Georgia,serif;font-size:18px;color:#fff;font-weight:400}
.dc-ah-reviews-slider .rv__card-avatar img{width:100%;height:100%;object-fit:cover}

.dc-ah-reviews-slider .rv__card-meta{flex:1}
.dc-ah-reviews-slider .rv__card-name{font-size:15px;font-weight:600;color:var(--rv-t);margin:0 0 2px}
.dc-ah-reviews-slider .rv__card-loc{font-size:12px;color:var(--rv-m)}

.dc-ah-reviews-slider .rv__card-type{font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--rv-a);background:rgba(200,149,108,.08);border:1px solid rgba(200,149,108,.12);border-radius:100px;padding:6px 14px;flex-shrink:0}

/* ── Navigation ── */
.dc-ah-reviews-slider .rv__nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:32px}

.dc-ah-reviews-slider .rv__nav-btn{width:44px;height:44px;border-radius:50%;border:1px solid rgba(44,36,32,.08);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px rgba(44,36,32,.04);color:var(--rv-m)}
.dc-ah-reviews-slider .rv__nav-btn:hover{border-color:var(--rv-a);color:var(--rv-a);transform:translateY(-2px);box-shadow:0 6px 20px rgba(44,36,32,.06)}
.dc-ah-reviews-slider .rv__nav-btn svg{width:16px;height:16px}

.dc-ah-reviews-slider .rv__dots{display:flex;gap:8px;align-items:center}
.dc-ah-reviews-slider .rv__dot{width:8px;height:8px;border-radius:50%;background:rgba(44,36,32,.1);cursor:pointer;transition:all .4s ease}
.dc-ah-reviews-slider .rv__dot.is-active{width:28px;border-radius:10px;background:linear-gradient(90deg,var(--rv-a),var(--rv-w))}

/* ── Progress bar ── */
.dc-ah-reviews-slider .rv__progress{max-width:700px;margin:20px auto 0;height:2px;background:rgba(44,36,32,.06);border-radius:2px;overflow:hidden}
.dc-ah-reviews-slider .rv__progress-fill{height:100%;background:linear-gradient(90deg,var(--rv-a),var(--rv-w));width:0;border-radius:2px}
.dc-ah-reviews-slider .rv__progress-fill.is-running{transition:width var(--rv-speed) linear}

/* ═══ Responsive ═══ */
@media(max-width:1024px){
    .dc-ah-reviews-slider .rv__float--1,.dc-ah-reviews-slider .rv__float--4{display:none}
    .dc-ah-reviews-slider .rv__float--2{right:-10px;width:140px}
    .dc-ah-reviews-slider .rv__float--3{left:20px;width:130px}
    .dc-ah-reviews-slider .rv__c{padding:0 40px}
}
@media(max-width:640px){
    .dc-ah-reviews-slider .rv__float{display:none}
    .dc-ah-reviews-slider .rv__c{padding:0 20px}
    .dc-ah-reviews-slider .rv__card-inner{padding:24px 20px}
    .dc-ah-reviews-slider .rv__card-type{display:none}
    .dc-ah-reviews-slider .rv__card-avatar{width:40px;height:40px;font-size:15px}
    .dc-ah-reviews-slider .rv__card-text{font-size:15px;margin-bottom:20px}
    .dc-ah-reviews-slider .rv__card-author{gap:10px;padding-top:16px}
    .dc-ah-reviews-slider .rv__slider{border-radius:16px}
    .dc-ah-reviews-slider .rv__nav-btn{width:44px;height:44px}
    .dc-ah-reviews-slider .rv__stage{min-height:auto}
    .dc-ah-reviews-slider .rv__score{flex-direction:column;gap:8px;align-items:center}
}
