/* Base Reviews Section */
.reviews {
    padding: 80px 0;
}


.reviews-footer {
    margin-top: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Reviews and Testimonials - Legacy Compatibility */
/* New review cards should use .card.card-review from cards.css */
/* These styles maintain backward compatibility for existing implementations */

/* Standard Review Cards (.reviews .legacy-review-card) */
/* For new implementations, use: .card.card-review from cards.css */
/* These styles are preserved for backward compatibility and scoped to avoid conflicts */
.reviews .legacy-review-card,
.reviews .card:not([class*="card-"]) {
    border-radius: var(--radius-lg);
    background-color: var(--color-bg-primary);
    border: 0px;
    box-shadow: 0 2px 30px 0 rgba(8, 15, 52, .06);
    color: var(--color-text-primary);
    flex-direction: column;
    align-items: flex-start;
    text-decoration: none;
    display: flex;
    position: relative;
    overflow: hidden;
    padding: 32px;
}

.reviews .legacy-review-card:hover,
.reviews .card:not([class*="card-"]):hover {
    text-decoration: none;
}

.reviews .legacy-review-card .rating,
.reviews .card:not([class*="card-"]) .rating {
    margin-bottom: 32px;
    grid-column-gap: .5rem;
    display: flex;
}

.reviews .legacy-review-card .rating .fa,
.reviews .card:not([class*="card-"]) .rating .fa {
    color: #FFC700;
    font-size: 32px;
}

.reviews .legacy-review-card .rating-text,
.reviews .card:not([class*="card-"]) .rating-text {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
}

/* Simplified heading styles using new heading system variables */
.reviews .legacy-review-card h2,
.reviews .card:not([class*="card-"]) h2 {
    margin-bottom: 10px;
    font-size: var(--font-size-2xl);
    font-style: italic; /* Keep existing italic for testimonials */
    font-weight: var(--font-weight-semibold);
    color: var(--heading-color-primary);
    margin-right: 20px;
}

.reviews .legacy-review-card p,
.reviews .card:not([class*="card-"]) p {
    font-size: 16px;
    color: var(--color-text-primary);
    margin-bottom: 0px;
}

.reviews .legacy-review-card .profile,
.reviews .card:not([class*="card-"]) .profile {
    margin-top: 32px;
    width: 100%;
    min-height: 60px;
}

.reviews .legacy-review-card .profile-details img,
.reviews .card:not([class*="card-"]) .profile-details img {
    margin-right: 20px;
}

.reviews .legacy-review-card .profile h6,
.reviews .card:not([class*="card-"]) .profile h6 {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--heading-color-primary);
}

.reviews .legacy-review-card .profile .btn.btn-link,
.reviews .card:not([class*="card-"]) .profile .btn.btn-link {
    text-decoration: none;
}

/* Google Reviews Integration - Primary */
.reviews .grw-reviews {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
    overflow: visible !important;
}

.reviews .grw-review {
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    overflow: visible !important;
}

.reviews .grw-reviews .grw-review .grw-review-inner {
    background: var(--card-bg) !important;
    border: none !important;
    border-radius: var(--card-radius, 24px) !important;
    box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.08) !important;
    padding: var(--card-padding) !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    transition: none !important;
    flex-grow: 1 !important;
    flex: 1 1 calc(50% - 20px) !important;
    box-sizing: border-box !important;
}

.reviews .grw-review-inner:hover {
    transform: none !important;
    box-shadow: 4px 4px 10px rgba(248, 87, 87, 0.2) !important;
}

.reviews .wp-google-left {
    display: flex !important;
    align-items: flex-start !important;
    margin-bottom: 1rem !important;
}

.reviews .grw-review-avatar {
    border-radius: 50% !important;
    width: 40px !important;
    height: 40px !important;
    margin-right: 0.75rem !important;
    flex-shrink: 0 !important;
}

.reviews .wp-google-stars {
    margin-bottom: 0.75rem !important;
}

.reviews .wp-google-stars .wp-star svg {
    fill: #FFD700 !important;
    width: 16px !important;
    height: 16px !important;
    margin-right: 0.25rem !important;
}

.reviews .wp-google-name {
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    margin: 0 0 0.5rem 0 !important;
    color: var(--card-text-color) !important;
    display: block !important;
}

/* Remove accent coloring from wp-google-name links and use primary color */
.reviews .wp-google-name a {
    color: var(--color-primary) !important;
}

.reviews .wp-google-name a:hover {
    color: var(--color-primary) !important;
}

.reviews .wp-google-feedback {
    max-height: none !important;
    overflow: visible !important;
    display: block !important;
    height: auto !important;
}

.reviews .wp-google-feedback .wp-google-text {
    color: var(--card-text-muted) !important;
    margin: 0 0 1rem 0 !important;
    font-size: inherit !important;
    line-height: 1.6 !important;
    max-height: none !important;
    overflow: visible !important;
    display: block !important;
    height: auto !important;
    white-space: normal !important;
    word-wrap: break-word !important;
}


.reviews .wp-google-time {
    display: none !important;
}

.reviews .container {
    padding: 20px 0 !important;
}

/* Newpage Reviews Variant (.reviews.newpage) */
/* Consider migrating to: .card.card-review.card-elevated from cards-system.css */
.reviews.newpage {
    padding: 30px 0px 50px 0px;
}

.reviews.newpage .item {
    padding: 10px 15px;
    padding-bottom: 20px;
}

.reviews.newpage .legacy-review-card,
.reviews.newpage .card:not([class*="card-"]) {
    padding: 90px 38px 0px;
    background-color: #fff;
    box-shadow: 0 3px 20px 0 #080f340f;
}

.reviews.newpage .rating-text h2 {
    color: var(--heading-color-primary);
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    line-height: var(--heading-line-height-normal);
    margin-bottom: var(--heading-margin-bottom);
    font-style: normal;
}

.reviews.newpage .rating-text p {
    color: var(--color-text-muted);
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 0px;
}

.reviews.newpage .profile {
    margin-top: 5px;
}

.reviews.newpage .profile-details {
    margin-bottom: 20px;
}

.reviews.newpage .profile-details h6 {
    margin-bottom: 5px;
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--heading-color-primary);
}

.reviews.newpage .profile-details span {
    color: #000a40;
    font-weight: 600;
    font-size: 15px;
    display: inline-block;
    line-height: 1.3;
}