/**
 * Review Card Components CSS
 * 
 * Modern review and testimonial card styling with Google Reviews integration
 * Extends base card system from cards.css
 * 
 * Contains:
 * - Base reviews section styles
 * - Review cards (.card-review)
 * - Google Reviews plugin integration
 * - Star ratings and avatars
 * - Review responsive grid layouts
 */

/* ============================
   Base Reviews Section
   ============================ */

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

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

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

/* ============================
   Review Card
   ============================ */

/* Review Card - Google Reviews Integration - inherits base card styles */
body.theme-pt .card.card-review,
body.theme-pt .reviews .grw-review {
    position: relative;
}

/* Review card inner container */
body.theme-pt .reviews .grw-review-inner {
    background: var(--card-bg);
    border: none;
    border-radius: var(--card-radius);
    padding: var(--card-padding);
    display: flex;
    flex-direction: column;
    height: 100%;
    flex: 1;
}

/* Review author section */
body.theme-pt .card.card-review .review-author,
body.theme-pt .reviews .wp-google-left {
    display: flex;
    align-items: flex-start;
    margin-bottom: var(--card-gap);
    line-height: 1;
}

/* Review avatar - using 50% for circular shape (standard pattern) */
body.theme-pt .card.card-review .review-avatar,
body.theme-pt .reviews .grw-review-avatar {
    border-radius: 50%;
    width: 50px;
    height: 50px;
    margin-right: var(--space-sm);
    flex-shrink: 0;
    object-fit: cover;
}

/* Review author name */
body.theme-pt .card.card-review .review-name,
body.theme-pt .reviews .wp-google-name {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
    text-decoration: none;
    display: block;
    margin-bottom: var(--space-xs);
}

/* Enhanced Google Reviews name styling - higher specificity for plugin override */
body.theme-pt .reviews .grw-review .grw-review-inner .wp-google-left a.wp-google-name,
body.theme-pt .reviews .grw-review .wp-google-left a.wp-google-name,
body.theme-pt .reviews .grw-review a.wp-google-name,
body.theme-pt .reviews .grw-reviews .grw-review .wp-google-name,
body.theme-pt section.reviews .grw-review .wp-google-left a.wp-google-name {
    font-size: 20px !important;
    font-weight: 600 !important;
    margin: 0 0 var(--space-xs) 0 !important;
    color: var(--color-primary) !important;
    display: block !important;
}

body.theme-pt .card.card-review .review-name:hover,
body.theme-pt .reviews .wp-google-name:hover {
    color: var(--color-accent);
    text-decoration: underline;
}

/* Review time */
body.theme-pt .card.card-review .review-time,
body.theme-pt .reviews .wp-google-time {
    font-size: var(--font-size-sm);
    color: var(--card-text-muted);
    margin-bottom: var(--space-sm);
    line-height: var(--line-height-normal);
}

/* Review stars */
body.theme-pt .card.card-review .review-stars,
body.theme-pt .reviews .wp-google-stars {
    margin-bottom: var(--space-sm);
}

/* Star icons - using golden color for ratings */
body.theme-pt .card.card-review .review-stars svg,
body.theme-pt .reviews .wp-star svg {
    fill: #ffd700;
    width: var(--font-size-lg);
    height: var(--font-size-lg);
    margin-right: var(--space-xs);
}

/* Review text */
body.theme-pt .card.card-review .review-text,
body.theme-pt .reviews .wp-google-feedback {
    flex-grow: 1;
    margin-bottom: var(--card-gap);
}

body.theme-pt .card.card-review .review-text p,
body.theme-pt .reviews .wp-google-text {
    color: var(--card-text-muted);
    line-height: var(--card-text-line-height);
    font-size: var(--card-text-size);
    margin: 0;
}

/* Read more toggle */
body.theme-pt .card.card-review .read-more,
body.theme-pt .reviews .wp-more-toggle {
    cursor: pointer;
    color: var(--color-primary);
    font-weight: var(--font-weight-medium);
    display: inline-block;
    margin-left: var(--space-xs);
}

body.theme-pt .card.card-review .read-more:hover,
body.theme-pt .reviews .wp-more-toggle:hover {
    color: var(--color-accent);
    text-decoration: underline;
}

/* Review footer/source branding */
body.theme-pt .card.card-review .card-footer {
    margin-top: auto;
    padding-top: var(--card-gap);
    border-top: 1px solid var(--card-border-color);
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

/* Google logo/source icon */
body.theme-pt .card.card-review .review-source svg,
body.theme-pt .reviews .grw-review-inner > svg:last-child {
    width: var(--font-size-lg);
    height: var(--font-size-lg);
    fill: currentColor;
    opacity: 0.6;
}

/* ============================
   Google Reviews Plugin Integration
   ============================ */

/* Google Reviews Plugin Grid Integration */
body.theme-pt .reviews .grw-reviews {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(var(--card-grid-min-width), 1fr)) !important;
    gap: var(--card-gap-lg) !important;
    overflow: visible !important;
}

/* Remove plugin's default styles */
body.theme-pt .reviews .grw-review {
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Apply card system to inner container - Multiple specificity levels */
body.theme-pt .reviews .grw-review-inner {
    box-shadow: var(--card-shadow) !important;
    border: 1px solid var(--color-border-primary) !important;
    transition: var(--card-transition) !important;
}

/* Enhanced hover effect */
body.theme-pt .reviews .grw-review-inner:hover {
    transform: none !important;
    box-shadow: 4px 4px 10px rgba(248, 87, 87, 0.2) !important;
}

/* Higher specificity selectors to override plugin CSS */
body.theme-pt .reviews .wp-gr .grw-review-inner.grw-backgnd.grw-round {
    box-shadow: var(--card-shadow) !important;
    border: 1px solid var(--color-border-primary) !important;
    transition: var(--card-transition) !important;
}

/* Maximum specificity override */
body.theme-pt .reviews .wp-gr.wpac .grw-reviews .grw-review .grw-review-inner.grw-backgnd.grw-round {
    box-shadow: var(--card-shadow) !important;
    border: 1px solid var(--color-border-primary) !important;
    transition: var(--card-transition) !important;
}

/* Enhanced Google Reviews feedback styling */
body.theme-pt .reviews .wp-google-feedback {
    max-height: none !important;
    overflow: visible !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    height: auto !important;
}

body.theme-pt .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;
}


/* Hide time display (optional - uncomment if desired) */
/* body.theme-pt .reviews .wp-google-time {
    display: none !important;
} */

/* ============================
   Review Card Responsive Design
   ============================ */

/* Responsive grid adjustments */
@media (max-width: 768px) {
    body.theme-pt .reviews .grw-reviews {
        grid-template-columns: 1fr !important;
    }
}

@media (min-width: 769px) and (max-width: 991px) {
    body.theme-pt .reviews .grw-reviews {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (min-width: 992px) {
    body.theme-pt .reviews .grw-reviews {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

/* ============================
   Mobile Reviews Container Spacing
   ============================ */

/* Fix missing container padding to match properties section */
@media (max-width: 767.98px) {
    .reviews .container {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
}