/* Google Reviews Widget - Dynamic Sizing with Minimal Breakpoints */

/* Individual widget - now directly in footer-widgets-container */
.google-reviews-widget {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: var(--bg-code);
    border-radius: 8px;
    text-align: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    flex: 1; /* Let flexbox handle equal sizing */
    min-width: 0;
    height: 100%; /* Ensure full height */
    padding: 0.5rem; /* Add some padding */
}

/* Link wrapper for the entire widget */
.google-reviews-widget-link {
    display: block;
    text-decoration: none !important;
    color: inherit !important;
    flex: 1;
    min-width: 0;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    border-bottom: none !important;
    background-image: none !important;
}

.google-reviews-widget-link:hover,
.google-reviews-widget-link:focus,
.google-reviews-widget-link:active,
.google-reviews-widget-link:visited {
    text-decoration: none !important;
    color: inherit !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    border-bottom: none !important;
    background-image: none !important;
}




/* Widget content */
.google-reviews-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0; /* No gap - elements will touch */
}

/* Rating display */
.google-reviews-rating {
    display: flex;
    align-items: center;
    font-size: clamp(0.6rem, 1.8vw, 0.85rem); /* Much smaller mobile minimum */
    font-weight: 600;
    color: var(--primary);
}

/* Star rating - consolidated and deduplicated */
.google-reviews-stars {
    display: flex;
    flex-direction: row;
    gap: clamp(0.05rem, 0.3vw, 0.15rem); /* Dynamic star spacing */
}

.google-reviews-star {
    width: 1.3em; /* Relative to parent font size - scales automatically */
    height: 1.3em; /* Relative to parent font size - scales automatically */
    fill: var(--secondary); /* Default color */
    position: relative;
}

.google-reviews-star.filled {
    fill: var(--primary); /* Filled stars color */
}

.google-reviews-star.half {
    position: relative;
    overflow: hidden;
    fill: var(--primary); /* Half stars are filled */
}

.google-reviews-star.half::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 50%;
    background: var(--bg-code);
    z-index: 1;
}

/* Score display - hidden by default, toggleable */
.google-reviews-score {
    font-size: clamp(0.8rem, 1.8vw, 2.2rem) !important;
    font-weight: 700;
    color: var(--primary);
    display: none; /* Hidden by default */
}

/* Show score when toggle class is applied */
.google-reviews-widget.show-score .google-reviews-score {
    display: block;
}

/* Review count */
.google-reviews-count {
    font-size: clamp(0.5rem, 1.5vw, 1rem); /* Much smaller mobile minimum */
    color: var(--text-secondary);
    font-weight: 500;
}

/* Logo - dynamic sizing */
.google-reviews-logo {
    width: clamp(24px, 5vw, 48px); /* Bigger mobile minimum */
    height: clamp(24px, 5vw, 48px); /* Bigger mobile minimum */
    margin-bottom: clamp(0.1rem, 0.8vw, 0.6rem); /* Smaller mobile margin */
}

/* Single mobile breakpoint - only for spacing adjustments */
@media (max-width: 768px) {
    .google-reviews-widget {
        padding: 0.3rem; /* Tighter on mobile */
        height: 100%; /* Ensure full height is maintained */
    }
    
    .google-reviews-content {
        gap: 0.2rem; /* Tighter spacing on mobile */
    }
    
    .google-reviews-stars {
        gap: 0.06rem; /* Prevent star overlap on mobile */
    }
    
    .google-reviews-rating {
        gap: 0.2rem; /* Tighter rating spacing on mobile */
    }
    
    .google-reviews-logo {
        margin-bottom: 0.2rem; /* Tighter logo spacing */
    }
}

/* Specific rule for footer Google Reviews widget to override footer link styles */
.footer .google-reviews-widget-link,
.footer .google-reviews-widget-link:hover,
.footer .google-reviews-widget-link:focus,
.footer .google-reviews-widget-link:active,
.footer .google-reviews-widget-link:visited {
    text-decoration: none !important;
    color: inherit !important;
    border: none !important;
    border-bottom: none !important;
    outline: none !important;
    box-shadow: none !important;
    background-image: none !important;
}

/* Accessibility */
.google-reviews-widget:focus {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

/* Loading state */
.google-reviews-widget.loading {
    opacity: 0.6;
    pointer-events: none;
}

/* Error state */
.google-reviews-widget.error {
    background-color: var(--danger-bg);
    border-color: var(--danger);
    color: var(--danger);
}
