/* --- CORE CSS VARIABLES --- */
:root {
    --rev-green: #00C964;       /* Brand Neon Green */
    --rev-green-glow: rgba(0, 201, 100, 0.15);
    --rev-dark: #0f1012;        /* Deep UI Black */
    --rev-bg: #F9F8F6;          /* Premium Off-White Background */
    --rev-card-bg: #ffffff;
    --rev-text-main: #111111;
    --rev-text-muted: #5c626a;
    --rev-star: #FFce0a;        /* Vibrant Review Gold */
    --rev-border: rgba(0,0,0,0.04);
    --rev-transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

/* --- SECTION STYLING --- */
.saas-reviews-section {
    padding: 100px 0;
    background-color: var(--rev-bg);
    position: relative;
    overflow: hidden;
    font-family: inherit;
}

/* Ambient Background Glows */
.review-bg-glow {
    position: absolute;
    width: 600px; height: 600px;
    border-radius: 50%;
    filter: blur(80px);
    z-index: 1;
    pointer-events: none;
}
.glow-left {
    background: radial-gradient(circle, var(--rev-green-glow) 0%, transparent 70%);
    top: -10%; left: -10%;
}
.glow-right {
    background: radial-gradient(circle, rgba(0,0,0,0.03) 0%, transparent 70%);
    bottom: -10%; right: -10%;
}

.review-sparkle-1 {
    position: absolute; top: 15%; right: 15%;
    font-size: 50px; color: var(--rev-green);
    opacity: 0.3; z-index: 1; pointer-events: none;
    animation: pulseStar 4s infinite alternate;
}
@keyframes pulseStar {
    0% { transform: scale(1) rotate(0deg); opacity: 0.2; }
    100% { transform: scale(1.2) rotate(15deg); opacity: 0.5; }
}

/* --- SECTION HEADER --- */
.modern-section-head { margin-bottom: 30px; }
.modern-badge {
    display: inline-block;
    padding: 6px 16px;
    background: rgba(0, 201, 100, 0.1);
    color: var(--rev-green);
    font-size: 14px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 2px;
    border-radius: 50px; margin-bottom: 15px;
    font-family: var(--font-03);
}
.modern-main-title {
    font-size: clamp(36px, 5vw, 56px);
    font-weight: 800; color: var(--rev-dark);
    letter-spacing: -1px; margin-bottom: 15px;
}
.modern-main-title span { color: var(--rev-green); }
.modern-subtitle {
    font-size: 18px; color: var(--rev-text-muted);
    max-width: 600px; margin: 0 auto;
}

/* --- MODERN REVIEW CARD --- */
.saas-review-card {
    background: var(--rev-card-bg);
    border: 1px solid var(--rev-border);
    border-radius: 24px;
    padding: 35px 30px;
    position: relative;
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    box-shadow: 0 10px 30px rgba(0,0,0,0.02);
    transition: var(--rev-transition);
}
.saas-review-card:hover {
    transform: translateY(-8px);
    border-color: rgba(0, 201, 100, 0.3);
    box-shadow: 0 20px 50px rgba(0, 201, 100, 0.08);
}

/* Giant Watermark Icon */
.quote-watermark {
    position: absolute;
    top: 20px; right: 30px;
    font-size: 80px;
    color: var(--rev-dark);
    opacity: 0.03; /* Extremely faint */
    transition: var(--rev-transition);
    pointer-events: none;
}
.saas-review-card:hover .quote-watermark {
    color: var(--rev-green);
    opacity: 0.1;
    transform: scale(1.1) rotate(5deg);
}

/* Header: Avatar & Meta */
.review-client-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 25px;
    position: relative;
    z-index: 2;
}

.client-avatar-arch {
    position: relative;
    width: 65px; height: 65px;
    border-radius: 25px 25px 8px 8px; /* Mini Arch Shape */
    border: 2px solid #fff;
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
}
.client-avatar-arch img {
    width: 100%; height: 100%;
    object-fit: cover;
    border-radius: 23px 23px 6px 6px;
}
.verified-badge {
    position: absolute;
    bottom: -5px; right: -5px;
    width: 22px; height: 22px;
    background: var(--rev-green);
    color: var(--rev-dark);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 10px; font-weight: 900;
    border: 2px solid #fff;
}

.client-meta-info {
    flex: 1;
}
.client-name {
    font-size: 20px; font-weight: 800;
    color: var(--rev-dark); margin: 0 0 4px 0;
    transition: color 0.3s;
    font-family: var(--font-03);
}
.client-meta-info a { text-decoration: none; }
.client-meta-info a:hover .client-name { color: var(--rev-green); }

.client-position {
    display: inline-block;
    font-size: 13px; font-weight: 600;
    color: var(--rev-text-muted);
    background: rgba(0,0,0,0.03);
    padding: 3px 10px; border-radius: 30px;
    text-transform: uppercase; letter-spacing: 0.5px;
}

/* Stars */
.review-stars-matrix {
    display: flex;
    gap: 4px;
    margin-bottom: 20px;
}
.review-stars-matrix i.active {
    color: var(--rev-star);
    font-size: 16px;
}

/* Review Text */
.review-body-text {
    flex-grow: 1;
    margin-bottom: 20px;
}
.review-body-text p {
    font-size: 16px;
    line-height: 1.8;
    color: var(--rev-text-muted);
    margin: 0;
    /* CSS Line Clamp to keep cards uniform if texts are long */
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-family: var(--font-02);
}

/* Card Footer CTA */
.review-action-footer {
    border-top: 1px dashed var(--rev-border);
    padding-top: 15px;
    margin-top: auto;
}
.read-full-review {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 700;
    color: var(--rev-dark);
    text-decoration: none;
    transition: var(--rev-transition);
    font-family: var(--font-03);
}
.read-full-review i { font-size: 12px; transition: transform 0.3s; }
.saas-review-card:hover .read-full-review { color: var(--rev-green); }
.saas-review-card:hover .read-full-review i { transform: translateX(5px); }

/* --- EMPTY STATE --- */
.empty-state-card {
    background: #ffffff;
    border: 1px dashed rgba(0,0,0,0.1);
    border-radius: 20px;
    padding: 60px 20px;
    max-width: 500px; margin: 0 auto;
}
.empty-state-card i {
    font-size: 40px; color: rgba(0,0,0,0.1); margin-bottom: 15px;
}
.empty-state-card h5 { font-size: 20px; font-weight: 700; color: var(--rev-dark); }
.empty-state-card p { color: var(--rev-text-muted); margin: 0; }
.modal-title{font-family: var(--font-03);font-size: 24px}
.modal-body{font-family: var(--font-02)}
.modal-body h4{font-family: var(--font-02)}
/* --- RESPONSIVE FIXES --- */
@media (max-width: 767px) {
    .saas-reviews-section { padding: 70px 0; }
    .modern-main-title { font-size: 32px; }
    .saas-review-card { padding: 25px; }
}