/* 
 * Consolidated CSS for Google Reviews Slider
 * This addresses layout conflicts and fixes render issues
 */

/* Main container */
.grs-direct-wrapper {
    margin-bottom: 50px !important;
    padding: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    position: relative !important;
}

.grs-direct-container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding-bottom: 45px !important;
    position: relative !important;
    clear: both !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Summary box */
.grs-direct-summary {
    background: white !important;
    padding: 20px !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1) !important;
    text-align: center !important;
    width: 250px !important;
    float: left !important;
    margin-right: 30px !important;
    min-height: 265px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    z-index: 1 !important;
}

/* Star ratings */
.grs-direct-stars {
    display: flex !important;
    justify-content: center !important;
    margin: 15px 0 !important;
}

.grs-direct-stars .dashicons-star-filled {
    color: #FFC107 !important;
    font-size: 24px !important;
    width: 24px !important;
    height: 24px !important;
}

.grs-direct-rating-large {
    font-size: 28px !important;
    font-weight: bold !important;
    color: #000 !important;
    display: block !important;
    margin-bottom: 10px !important;
}

.grs-direct-stars.small .dashicons-star-filled {
    font-size: 16px !important;
    width: 16px !important;
    height: 16px !important;
}

/* Review slider container */
.grs-direct-slider-container {
    overflow: hidden !important;
    margin-left: 280px !important; /* Adjust based on summary width + margin */
}

/* Slick slider overrides - force horizontal layout */
.grs-direct-slider .slick-list {
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 10px !important; /* Add padding instead of negative margin */
}

.grs-direct-slider .slick-track {
    display: flex !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    left: 0 !important; /* Prevent left offset */
}

.grs-direct-slider .slick-slide {
    height: auto !important;
    float: left !important;
    min-height: 220px !important;
    margin: 0 10px !important;
    opacity: 1 !important; /* Ensure all slides are visible */
}

/* Hide slider content initially */
.grs-direct-slider {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease;
    position: relative !important;
}

.grs-direct-slider.slick-initialized {
    opacity: 1;
    visibility: visible;
}

/* Add a loading state */
.grs-direct-slider:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    z-index: 1;
}

.grs-direct-slider.slick-initialized:before {
    display: none;
}

/* Review slide styles */
.grs-direct-review {
    box-sizing: border-box !important;
    padding: 20px !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    box-shadow: 1px 1px 7px 0 rgba(0, 0, 0, .13), 0 0 2px 0 rgba(0, 0, 0, .05) !important;
    border: 1px solid #e8e8e8 !important;
    background-color: white !important;
    min-height: 265px !important;
}

/* Review header */
.grs-direct-header {
    display: flex !important;
    align-items: center !important;
    margin-bottom: 15px !important;
}

.grs-direct-profile-img {
    margin-right: 15px !important;
}

.grs-direct-profile-img img {
    width: 45px !important;
    height: 45px !important;
    border-radius: 50% !important;
    display: block !important;
    object-fit: cover !important;
}

.grs-direct-name {
    font-weight: 700 !important;
    font-size: 16px !important;
    color: #000 !important;
}

.grs-direct-date {
    color: #000 !important;
    opacity: .5 !important;
    font-size: 14px !important;
}

.grs-direct-stars.small {
    justify-content: flex-start !important;
    margin: 0 0 10px 0 !important;
}

/* Review text container */
.grs-direct-text-container {
    position: relative !important;
    overflow: hidden !important;
}

.grs-direct-text {
    margin: 0 !important;
    padding: 0 !important;
    transition: max-height 0.3s ease-out !important;
}

.grs-direct-text.truncated {
    max-height: 100px !important;
}

.grs-direct-text.truncated:after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 25px !important;
   /* background: linear-gradient(rgba(255,255,255,0), rgba(255,255,255,1)) !important;*/
}

/* Only apply truncation when the class is present */
.grs-direct-review .grs-direct-text.truncated {
    max-height: 100px !important;
    overflow: hidden !important;
}

.grs-direct-review .grs-direct-text.truncated:after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 25px !important;
    /*background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1)) !important;*/
}

.grs-direct-read-more,
.grs-direct-hide {
    color: #666 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

/* Google logo */
.grs-direct-logo {
    display: flex !important;
    justify-content: center !important;
    margin-top: 20px !important;
}

.grs-direct-logo img {
    max-width: 110px !important;
    height: auto !important;
}

/* Clear float to contain the layout */
.grs-direct-container:after {
    content: "" !important;
    display: table !important;
    clear: both !important;
}

/* Navigation dots */
.grs-direct-slider .slick-dots {
    bottom: -30px !important;
    text-align: center !important;
    width: calc(100% - 280px) !important;
    margin-left: 280px !important;
    position: absolute !important;
    list-style: none !important;
    display: block !important;
    padding: 0 !important;
    left: 0 !important; /* Ensure proper alignment */
}

.grs-direct-slider .slick-dots li {
    position: relative !important;
    display: inline-block !important;
    margin: 0 5px !important;
    padding: 0 !important;
    cursor: pointer !important;
    width: 12px !important;
    height: 12px !important;
}

.grs-direct-slider .slick-dots li button {
    font-size: 0 !important;
    line-height: 0 !important;
    display: block !important;
    width: 12px !important;
    height: 12px !important;
    padding: 0 !important;
    cursor: pointer !important;
    color: transparent !important;
    border: 0 !important;
    outline: none !important;
    background: #ccc !important; /* Light gray background */
    border-radius: 50% !important; /* Make dots circular */
}

.grs-direct-slider .slick-dots li.slick-active button {
    background: #666 !important; /* Darker gray for active dot */
}

/* Override the default content styling */
.grs-direct-slider .slick-dots li button:before {
    content: "" !important; /* Remove the default content */
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .grs-direct-summary {
        float: none !important;
        width: 100% !important;
        margin-right: 0 !important;
        margin-bottom: 30px !important;
    }
    
    .grs-direct-slider-container {
        margin-left: 0 !important;
    }
    
    .grs-direct-slider .slick-dots {
        width: 100% !important;
        margin-left: 0 !important;
    }
}

/* Force visibility overrides for theme conflicts */
.grs-direct-slider,
.grs-direct-review,
.grs-direct-text,
.grs-direct-stars,
.grs-direct-read-more,
.grs-direct-hide {
    visibility: visible !important;
    opacity: 1 !important;
    display: block !important;
}

.grs-direct-stars {
    display: flex !important;
}