/**
 * Frontend CSS for Star Rating Block Plugin
 * This file provides additional frontend enhancements
 */

/* Import the main block styles */
@import "../../blocks/star-rating/style.css";

/* Theme compatibility enhancements */
.entry-content .srb-star-rating,
.post-content .srb-star-rating,
.page-content .srb-star-rating {
    margin: 24px 0;
}

/* Widget area styling */
.widget .srb-star-rating {
    margin: 16px 0;
}

.widget .srb-numeric-rating {
    font-size: 2em;
}

.widget .srb-rating-breakdown {
    min-width: auto;
}

/* Footer styling */
.site-footer .srb-star-rating {
    color: inherit;
}

.site-footer .srb-numeric-rating,
.site-footer .srb-breakdown-label {
    color: inherit;
}

/* Archive and blog styling */
.archive .srb-star-rating,
.blog .srb-star-rating,
.search .srb-star-rating {
    margin: 16px 0;
}

/* Schema.org microdata support */
.srb-star-rating[itemtype="https://schema.org/Rating"] {
    display: inline-block;
}

.srb-star-rating .srb-numeric-rating[itemprop="ratingValue"] {
    display: inline;
}

.srb-star-rating .srb-total-reviews[itemprop="reviewCount"] {
    display: inline;
}

/* RTL Support */
[dir="rtl"] .srb-star-rating.layout-horizontal {
    flex-direction: row-reverse;
}

[dir="rtl"] .srb-stars-container {
    direction: rtl;
}

[dir="rtl"] .srb-breakdown-row {
    direction: rtl;
}

/* High contrast and accessibility improvements */
@media (prefers-contrast: high) {
    .srb-star {
        filter: contrast(1.5);
    }
    
    .srb-breakdown-bar {
        border: 1px solid;
    }
}

/* Focus styles for accessibility */
.srb-star-rating:focus-within {
    outline: 2px solid #3b82f6;
    outline-offset: 2px;
    border-radius: 4px;
}

/* Animation enhancements */
@media (prefers-reduced-motion: no-preference) {
    .srb-star {
        transition: transform 0.2s ease;
    }
    
    .srb-star:hover {
        transform: scale(1.1);
    }
    
    .srb-breakdown-fill {
        transition: width 0.5s ease-in-out;
    }
}

/* Dark theme support */
@media (prefers-color-scheme: dark) {
    .srb-star-rating {
        color: #f1f5f9;
    }
    
    .srb-numeric-rating {
        color: #f1f5f9;
    }
    
    .srb-total-reviews {
        color: #94a3b8;
    }
    
    .srb-breakdown-label {
        color: #e2e8f0;
    }
    
    .srb-breakdown-bar {
        background-color: #374151;
    }
}

/* Theme specific overrides */
body.twentytwentythree .srb-star-rating,
body.twentytwentytwo .srb-star-rating,
body.twentytwentyone .srb-star-rating {
    font-family: inherit;
}

/* Custom properties for easy theming */
.srb-star-rating {
    --srb-star-size: 24px;
    --srb-star-color: #22c55e;
    --srb-empty-star-color: #e5e7eb;
    --srb-text-color: #1f2937;
    --srb-secondary-text-color: #6b7280;
    --srb-bar-bg-color: #e5e7eb;
}

/* Apply custom properties */
.srb-star {
    font-size: var(--srb-star-size);
}

.srb-star-full {
    color: var(--srb-star-color);
}

.srb-star-empty {
    color: var(--srb-empty-star-color);
}

.srb-numeric-rating {
    color: var(--srb-text-color);
}

.srb-total-reviews {
    color: var(--srb-secondary-text-color);
}

.srb-breakdown-bar {
    background-color: var(--srb-bar-bg-color);
}

.srb-breakdown-fill {
    background-color: var(--srb-star-color);
}
