/* ═══ Reviews Page Styles ═══ */
html {
    scrollbar-width: none;
    -ms-overflow-style: none;
    overflow-x: hidden;
}
html::-webkit-scrollbar { display: none; }

/* Filter chips */
.filter-chip {
    background: #f1f5f9;
    color: #475569;
    border: 2px solid transparent;
    cursor: pointer;
}
.filter-chip:hover {
    background: #e2e8f0;
}
.filter-chip.active {
    background: linear-gradient(135deg, #6366f1, #818cf8);
    color: #fff;
    border-color: transparent;
    box-shadow: 0 4px 15px rgba(99, 102, 241, 0.3);
}

/* Review card entrance animation */
.review-card-new {
    animation: cardSlideUp 0.5s ease-out both;
}
.review-card-new:nth-child(2) { animation-delay: 0.08s; }
.review-card-new:nth-child(3) { animation-delay: 0.16s; }
.review-card-new:nth-child(4) { animation-delay: 0.24s; }
.review-card-new:nth-child(5) { animation-delay: 0.32s; }
.review-card-new:nth-child(6) { animation-delay: 0.40s; }

@keyframes cardSlideUp {
    from { opacity: 0; transform: translateY(30px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Form file input */
.form-file {
    font-size: 14px;
}

/* Line clamp utility */
.line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* 3D Floating Shape Animations */
@keyframes floatSlow {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-35px) rotate(-4deg); }
}
@keyframes floatMid {
    0%, 100% { transform: translateY(0) rotate(45deg); }
    50% { transform: translateY(-26px) rotate(50deg); }
}
@keyframes floatFast {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-22px) rotate(6deg); }
}
@keyframes rvSway {
    0%, 100% { transform: translateX(0) translateY(0) rotate(0deg); }
    25% { transform: translateX(12px) translateY(-15px) rotate(5deg); }
    50% { transform: translateX(-8px) translateY(-28px) rotate(-3deg); }
    75% { transform: translateX(10px) translateY(-12px) rotate(4deg); }
}
@keyframes rvExpand {
    0%, 100% { transform: scale(1); opacity: 0.1; }
    50% { transform: scale(1.5); opacity: 0.25; }
}
@keyframes rvMorph {
    0%, 100% { border-radius: 50%; transform: scale(1); }
    33% { border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%; transform: scale(1.1); }
    66% { border-radius: 70% 30% 30% 70% / 70% 70% 30% 30%; transform: scale(0.9); }
}

.animate-float-slow { animation: floatSlow 7s ease-in-out infinite; }
.animate-float-mid { animation: floatMid 9s ease-in-out infinite; }
.animate-float-fast { animation: floatFast 6s ease-in-out infinite; }
.rv-sway { animation: rvSway 8s ease-in-out infinite; }
.rv-expand { animation: rvExpand 5s ease-in-out infinite; }
.rv-morph { animation: rvMorph 10s ease-in-out infinite; }