/* --- Floating Widget Styles (Container) --- */
.reviews-widget-tab{position:fixed;bottom:20px;right:20px;background:#fff;color:#3c4043;padding:12px 20px;border-radius:30px;cursor:pointer;display:flex;align-items:center;gap:10px;box-shadow:0 4px 15px rgba(0,0,0,.2);z-index:1000;transition:all .3s ease; border: 1px solid #dadce0;}
.reviews-widget-tab:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,.25)}
.reviews-widget-container{position:fixed;bottom:90px;right:20px;width:360px;max-height:0;background:#fff;border-radius:15px;box-shadow:0 10px 30px rgba(0,0,0,.1);overflow:hidden;border:1px solid #e0e0e0;transition:max-height .4s ease,opacity .4s ease;opacity:0;z-index:999}
.reviews-widget-container.opened{max-height:340px;opacity:1}
.reviews-widget-container .widget-header{padding:15px;background:#fff;border-bottom:1px solid #e0e0e0;font-weight:700;color:#333; display: flex; align-items: center; gap: 8px;}

/* --- Shortcode Container --- */
.grw-shortcode-wrapper {max-width: 700px; margin: 40px auto; transition: transform 0.3s ease, box-shadow 0.3s ease;}
.grw-shortcode-wrapper:hover {transform: translateY(-5px); box-shadow: 0 15px 35px rgba(60, 64, 67, 0.1);}

/* --- Section Header --- */
.grw-section-header {display: flex;justify-content: space-between;align-items: center;margin-bottom: 25px;padding: 0 10px;}
.grw-section-title {font-size: 24px;font-weight: 700;color: #202124;margin: 0;}
.grw-powered-by {display: flex;align-items: center;gap: 8px;font-size: 14px;color: #5f6368;}

/* --- Main Slider Styles --- */
.grw-slider-wrapper {position: relative;padding: 20px 40px; background-color: #f8f9fa; border-radius: 12px; border: 1px solid #dadce0;}
.swiper {width: 100%;height: 100%;overflow: hidden;}
.swiper-slide {display: flex;flex-direction: column;justify-content: center;align-items: center;text-align: center;background: #f8f9fa;padding: 15px;box-sizing: border-box;}

/* --- Review Card Style --- */
.review-card {display: flex;flex-direction: column;align-items: center;}
.reviewer-avatar img {width: 60px;height: 60px;border-radius: 50%;margin-bottom: 15px;border: 3px solid #fff; box-shadow: 0 2px 8px rgba(0,0,0,0.1);}
.reviewer-avatar {
    border: 2.5px solid var(--grw-color, #4285F4);
    box-shadow: 0 2px 8px rgba(66,133,244,0.08);
    transition: border-color 0.3s;
}
.reviewer-name {font-weight: 700;font-size: 16px;color: #222;margin-bottom: 5px;}
.review-rating {display: flex;margin-bottom: 15px;}
.star { color: #ffca28; font-size: 18px; }
.review-text {font-size: 15px;color: #555;line-height: 1.7;font-style: italic;max-width: 90%;}
.review-text::before, .review-text::after {content: '"';font-size: 24px;color: #e0e0e0;font-weight: 700;}
.review-date {
    font-size: 13px;
    color: #888;
    margin-top: 7px;
    letter-spacing: 0.2px;
}
.loading-state{text-align:center;padding:50px;color:#888}

/* --- Swiper Navigation & Pagination --- */
.swiper-button-next, .swiper-button-prev {color: #1a73e8 !important; }
.swiper-button-next:after, .swiper-button-prev:after {font-size: 18px !important;font-weight: 900 !important;}
.swiper-pagination-bullet-active {background: #1a73e8 !important;}

/* --- Animations --- */
@keyframes fadeInUp {from {opacity: 0;transform: translateY(20px);} to {opacity: 1;transform: translateY(0);}}
.swiper-slide-active .review-card > * {animation: fadeInUp 0.6s ease-out backwards;}
.swiper-slide-active .reviewer-avatar { animation-delay: 0.1s; }
.swiper-slide-active .reviewer-name { animation-delay: 0.2s; }
.swiper-slide-active .review-rating { animation-delay: 0.3s; }
.swiper-slide-active .review-text { animation-delay: 0.4s; }
.review-card { animation: fadeInUp 0.7s cubic-bezier(.4,1.4,.6,1) both; }

/* --- Skeleton Loader Styles --- */
.skeleton-slide {display: flex;flex-direction: column;align-items: center;padding: 25px;background-color: #f8f9fa;}
.skeleton {background-color: #e0e0e0;border-radius: 4px;position: relative;overflow: hidden;}
.skeleton.skeleton-avatar {width: 60px;height: 60px;border-radius: 50%;margin-bottom: 15px;}
.skeleton.skeleton-line {height: 12px;margin-bottom: 10px;border-radius: 2px;}
.skeleton.skeleton-line-1 { width: 120px; }
.skeleton.skeleton-line-2 { width: 100%; max-width: 250px; }
.skeleton.skeleton-line-3 { width: 80%; max-width: 220px; }
@keyframes shimmer {0% {left: -150%;} 100% {left: 150%;}}
.skeleton::after {content: '';position: absolute;top: 0;left: -150%;width: 150%;height: 100%;background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5), transparent);animation: shimmer 1.5s infinite;}

/* --- RTL Support & Widget Position --- */
.reviews-widget-tab, .reviews-widget-container {
    direction: rtl;
}
.reviews-widget-tab.left, .reviews-widget-container.left {
    right: auto !important;
    left: 20px !important;
}

/* --- Responsive Design --- */
@media (max-width: 600px) {
    .reviews-widget-container, .grw-shortcode-wrapper {
        width: 98vw !important;
        min-width: unset !important;
        max-width: 98vw !important;
        left: 1vw !important;
        right: 1vw !important;
        border-radius: 10px;
    }
    .reviews-widget-tab, .reviews-widget-tab.left {
        left: 10px !important;
        right: 10px !important;
        bottom: 10px !important;
        width: auto;
        min-width: 120px;
        max-width: 90vw;
        font-size: 15px;
    }
}

/* --- Widget Close Button --- */
.reviews-widget-close {
    position: absolute;
    top: 10px;
    left: 10px;
    background: #fff;
    border: none;
    color: #888;
    font-size: 20px;
    cursor: pointer;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.07);
    transition: background 0.2s;
    z-index: 10;
}
.reviews-widget-close:hover { background: #f1f3f4; color: #d32f2f; }

/* --- Widget Shadow & Depth --- */
.reviews-widget-container.opened {
    box-shadow: 0 16px 40px rgba(60,64,67,0.18), 0 1.5px 4px rgba(60,64,67,0.08);
}

/* --- Custom Scrollbar --- */
.reviews-widget-container .swiper-wrapper {
    scrollbar-width: thin;
    scrollbar-color: #bdbdbd #f8f9fa;
}
.reviews-widget-container .swiper-wrapper::-webkit-scrollbar {
    width: 6px;
    background: #f8f9fa;
}
.reviews-widget-container .swiper-wrapper::-webkit-scrollbar-thumb {
    background: #bdbdbd;
    border-radius: 3px;
}

.grw-overall-rating-badge {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(90deg, #4285F4 60%, #34a853 100%);
    border-radius: 0 0 12px 12px;
    padding: 8px 18px 8px 18px;
    margin-bottom: 8px;
    box-shadow: 0 2px 8px rgba(66,133,244,0.08);
}
.grw-overall-rating-badge .badge-stars { color: #ffca28; font-size: 20px; }
.grw-overall-rating-badge .badge-num { color: #fff; font-size: 18px; margin-right: 4px; }