/* Customer Reviews section (resources/views/layouts/front.blade.php) */
.rv-section { position: relative; overflow: hidden; padding: 75px 0 80px; background: linear-gradient(135deg, #0f2f57 0%, #1a4f8a 55%, #205fa2 100%); }
.rv-section::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255, 255, 255, .08) 1px, transparent 1px); background-size: 22px 22px; pointer-events: none; }
.rv-section::after { content: "\201C"; position: absolute; top: -60px; right: 4%; color: rgba(255, 255, 255, .06); font-family: Georgia, serif; font-size: 380px; line-height: 1; pointer-events: none; }
.rv-section .container { position: relative; z-index: 1; }
.rv-head { text-align: center; max-width: 640px; margin: 0 auto 40px; }
.rv-kicker { display: inline-flex; align-items: center; gap: 6px; padding: 6px 16px; border: 1px solid rgba(255, 255, 255, .25); border-radius: 30px; background: rgba(255, 255, 255, .1); color: #cfe2f7; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.rv-title { margin: 14px 0 10px; color: #fff; font-family: inherit; font-size: 36px; font-weight: 800; }
.rv-title span { color: #7cc0ff; }
.rv-sub { margin: 0; color: #c3d6ec; font-size: 16px; }

.rv-slider { position: relative; }
.rv-track { display: flex; gap: 24px; padding: 10px 4px 24px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; -ms-overflow-style: none; }
.rv-track::-webkit-scrollbar { display: none; }
.rv-card { position: relative; flex: 0 0 calc((100% - 48px) / 3); display: flex; flex-direction: column; padding: 30px 26px 24px; scroll-snap-align: start; background: #fff; border-radius: 18px; box-shadow: 0 18px 40px rgba(5, 20, 45, .25); transition: transform .35s ease, box-shadow .35s ease; }
.rv-card:hover { transform: translateY(-6px); box-shadow: 0 26px 50px rgba(5, 20, 45, .35); }
.rv-card::before { content: ""; position: absolute; top: 0; left: 26px; right: 26px; height: 4px; border-radius: 0 0 6px 6px; background: linear-gradient(90deg, var(--rv, #205fa2), #7cc0ff); }
.rv-quote { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; margin-bottom: 16px; border-radius: 14px; background: #eef4fb; color: var(--rv, #205fa2); font-size: 24px; }
.rv-text { flex: 1; margin: 0 0 22px; color: #4b5563; font-size: 15px; font-style: italic; line-height: 1.75; }
.rv-user { display: flex; align-items: center; gap: 14px; padding-top: 18px; border-top: 1px dashed #e2e8f0; }
.rv-avatar { flex: 0 0 50px; display: inline-flex; align-items: center; justify-content: center; width: 50px; height: 50px; border-radius: 50%; background: linear-gradient(135deg, var(--rv, #205fa2), #7cc0ff); color: #fff; font-size: 18px; font-weight: 700; letter-spacing: .02em; box-shadow: 0 8px 16px -6px var(--rv, #205fa2); }
.rv-name { margin: 0; color: #1f2937; font-family: inherit; font-size: 16px; font-weight: 700; }
.rv-company { display: flex; align-items: center; gap: 4px; margin: 2px 0 0; color: #6b7280; font-size: 13px; }
.rv-company i { color: var(--rv, #205fa2); }

.rv-nav { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 6px; }
.rv-btn { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; padding: 0; border: 1px solid rgba(255, 255, 255, .35); border-radius: 50%; background: rgba(255, 255, 255, .08); color: #fff; font-size: 24px; cursor: pointer; transition: background .25s ease, color .25s ease, transform .25s ease; }
.rv-btn:hover { background: #fff; color: #205fa2; transform: scale(1.06); }
.rv-dots { display: flex; gap: 8px; }
.rv-dot { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 10px; background: rgba(255, 255, 255, .35); cursor: pointer; transition: width .3s ease, background .3s ease; }
.rv-dot.active { width: 28px; background: #fff; }

@media (max-width: 991px) { .rv-card { flex-basis: calc((100% - 24px) / 2); } }
@media (max-width: 767px) { .rv-card { flex-basis: 88%; } .rv-title { font-size: 28px; } .rv-section { padding: 55px 0 60px; } }

/* per-card accent colours */
.rv-card.rv-c0 { --rv: #205fa2; }
.rv-card.rv-c1 { --rv: #0e9f6e; }
.rv-card.rv-c2 { --rv: #ea580c; }
.rv-card.rv-c3 { --rv: #6d28d9; }
.rv-card.rv-c4 { --rv: #0891b2; }
.rv-card.rv-c5 { --rv: #db2777; }

/* instant, invisible jump used by the endless loop */
.rv-track.rv-jump { scroll-behavior: auto; scroll-snap-type: none; }

/* reveal (hidden in style.css until this file has loaded) */
.rv-section { visibility: visible; opacity: 1; transition: opacity .5s ease; }
