/* ══════════════════════════════════════
   CusRev (Customer Reviews for WooCommerce)
   Global Trustpilot-style overrides.
   Targets both .cr-reviews-slider and
   .cr-reviews-grid shortcode output.
   ══════════════════════════════════════ */

:root {
    --ws-cr-green: var(--ws-primary, #00b67a);
    --ws-cr-dark: var(--ws-ink, #1a1a1a);
    --ws-cr-text: var(--ws-ink, #333);
    --ws-cr-muted: var(--ws-muted, #999);
    --ws-cr-border: var(--ws-border, #e5e5e0);
    --ws-cr-bg: var(--ws-surface, #f8f8f6);
    --ws-cr-accent: var(--ws-primary, #2d7a3a);
}

/* ── Slider wrapper ── */

.cr-reviews-slider {
    margin: 0 !important;
    padding: 0 !important;
}

/* ── Card container ── */

.cr-reviews-slider .cr-review-card {
    padding: 0 8px !important;
}

.cr-reviews-grid .cr-review-card {
    border-color: var(--ws-cr-border) !important;
    border-radius: 12px !important;
    overflow: hidden !important;
}

.cr-reviews-slider .cr-review-card-inner,
.cr-reviews-grid .cr-review-card .cr-review-card-inner {
    background: #fff !important;
    border: 1px solid var(--ws-cr-border) !important;
    border-radius: 12px !important;
    padding: 0 !important;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
    transition: box-shadow 0.2s;
}

.cr-reviews-slider .cr-review-card-inner:hover,
.cr-reviews-grid .cr-review-card:hover .cr-review-card-inner {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
}

/* ── Force left-align ── */

.cr-reviews-slider .cr-review-card,
.cr-reviews-slider .cr-review-card-inner,
.cr-reviews-grid .cr-review-card,
.cr-reviews-grid .cr-review-card-inner,
.cr-review-card .top-row,
.cr-review-card .rating-row,
.cr-review-card .middle-row,
.cr-review-card .reviewer,
.cr-review-card .reviewer-name,
.cr-review-card .reviewer-verified,
.cr-review-card .review-content,
.cr-review-card .review-text,
.cr-review-card .review-product .product-title {
    text-align: left !important;
}

/* ── Top row — reviewer info ── */

.cr-reviews-slider .cr-review-card .top-row,
.cr-reviews-grid .cr-review-card .top-row {
    padding: 12px 16px 10px !important;
    margin: 0 !important;
    border-bottom: 1px solid #f0f0ee !important;
    align-items: center;
}

.cr-review-card .top-row .review-thumbnail {
    margin-right: 10px !important;
    flex-basis: 36px !important;
    position: relative;
}

.cr-review-card .top-row .review-thumbnail img {
    width: 36px !important;
    height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
    border-radius: 50% !important;
    background: #f0f0ee;
}

/* Verified check on avatar */
.cr-reviews-slider .cr-review-card .cr-avatar-check,
.cr-reviews-grid .cr-review-card .cr-avatar-check {
    width: 16px !important;
    height: 16px !important;
    bottom: -2px !important;
    left: 22px !important;
    border-width: 1.5px !important;
}

.cr-reviews-slider .cr-review-card .cr-avatar-check svg,
.cr-reviews-grid .cr-review-card .cr-avatar-check svg {
    width: 8px !important;
    height: 8px !important;
}

/* Reviewer name */
.cr-reviews-slider .cr-review-card .reviewer-name,
.cr-reviews-grid .cr-review-card .reviewer-name {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--ws-cr-dark) !important;
}

/* Verified text + icon */
.cr-reviews-slider .cr-review-card .reviewer-verified,
.cr-reviews-grid .cr-review-card .reviewer-verified {
    font-size: 12px !important;
    color: var(--ws-cr-green) !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
}

.cr-review-card .reviewer-verified .cr-reviewer-verified {
    width: 14px !important;
    height: 14px !important;
    margin: 0 !important;
}

/* ── Rating row ── */

.cr-reviews-slider .cr-review-card .rating-row,
.cr-reviews-grid .cr-review-card .rating-row {
    padding: 8px 16px !important;
    margin: 0 !important;
    border-bottom: none !important;
    justify-content: flex-start !important;
}

.cr-review-card .rating-row .rating-label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--ws-cr-dark) !important;
    letter-spacing: 0 !important;
    margin-left: 8px !important;
}

/* Smaller stars */
.cr-reviews-slider .cr-review-card .crstar-rating-svg .cr-rating-icon-base,
.cr-reviews-slider .cr-review-card .crstar-rating-svg .cr-rating-icon-frnt,
.cr-reviews-grid .cr-review-card .crstar-rating-svg .cr-rating-icon-base,
.cr-reviews-grid .cr-review-card .crstar-rating-svg .cr-rating-icon-frnt {
    height: 18px !important;
}

.cr-reviews-slider .cr-review-card .crstar-rating-svg .cr-rating-icon-base .cr-rating-icon-bg,
.cr-reviews-slider .cr-review-card .crstar-rating-svg .cr-rating-icon-frnt .cr-rating-icon,
.cr-reviews-grid .cr-review-card .crstar-rating-svg .cr-rating-icon-base .cr-rating-icon-bg,
.cr-reviews-grid .cr-review-card .crstar-rating-svg .cr-rating-icon-frnt .cr-rating-icon {
    width: 18px !important;
    height: 18px !important;
}

/* Star colours — Trustpilot green */
.cr-reviews-slider .cr-review-card .crstar-rating-svg .cr-rating-icon-frnt .cr-rating-icon,
.cr-reviews-grid .cr-review-card .crstar-rating-svg .cr-rating-icon-frnt .cr-rating-icon {
    fill: var(--ws-cr-green) !important;
}

.cr-reviews-slider .cr-review-card .crstar-rating-svg .cr-rating-icon-base .cr-rating-icon-bg,
.cr-reviews-grid .cr-review-card .crstar-rating-svg .cr-rating-icon-base .cr-rating-icon-bg {
    stroke: #dcdce6 !important;
    fill: #dcdce6 !important;
}

/* ── Review body ── */

.cr-reviews-slider .cr-review-card .middle-row,
.cr-reviews-grid .cr-review-card .middle-row {
    padding: 10px 16px 14px !important;
    margin: 0 !important;
    background: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
}

.cr-reviews-slider .cr-review-card .middle-row {
    flex: 1;
}

.cr-review-card .middle-row .review-content {
    margin-bottom: 8px !important;
    color: var(--ws-cr-text) !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
}

.cr-review-card .middle-row .review-content p {
    margin: 0 !important;
}

.cr-review-card .middle-row .datetime {
    font-size: 12px !important;
    color: var(--ws-cr-muted) !important;
}

/* Review title */
.cr-reviews-slider .cr-review-card .cr-comment-head-text,
.cr-reviews-grid .cr-review-card .cr-comment-head-text {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--ws-cr-dark) !important;
    margin: 0 !important;
    padding: 10px 16px 0 !important;
}

/* ── Product link bar ── */

.cr-reviews-slider .cr-review-card .review-product,
.cr-reviews-grid .cr-review-card .review-product {
    margin: 0 !important;
    padding: 10px 16px !important;
    background: var(--ws-cr-bg) !important;
    border-top: 1px solid #f0f0ee !important;
    border-radius: 0 0 12px 12px !important;
    align-items: center;
}

.cr-review-card .review-product .cr-product-thumbnail img {
    width: 30px !important;
    height: 30px !important;
    border-radius: 4px !important;
    object-fit: cover;
}

.cr-review-card .review-product .product-title {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--ws-cr-accent) !important;
    line-height: 1.3 !important;
}

.cr-review-card .review-product .product-title a {
    color: var(--ws-cr-accent) !important;
    text-decoration: none !important;
}

.cr-review-card .review-product .product-title a:hover {
    text-decoration: underline !important;
}

/* ── Verified badge row ── */

.cr-review-card .verified-review-row {
    margin: 0 0 4px !important;
}

/* ── Incentivized row ── */

.cr-reviews-slider .cr-review-card .cr-incentivized-row,
.cr-reviews-grid .cr-review-card .cr-incentivized-row {
    margin: 0 !important;
    padding: 0 16px 8px !important;
    background: #fff !important;
    border: none !important;
}

.cr-reviews-slider .cr-review-card .cr-incentivized-row {
    flex: 0;
}

/* ── Slick dots ── */

.cr-reviews-slider .slick-dots {
    margin-top: 20px !important;
}

.cr-reviews-slider .slick-dots li button:before {
    color: #ccc !important;
    font-size: 10px !important;
}

.cr-reviews-slider .slick-dots li.slick-active button:before {
    color: var(--ws-cr-green) !important;
}

/* ── Slick arrows ── */

.cr-reviews-slider .slick-prev,
.cr-reviews-slider .slick-next {
    width: 36px !important;
    height: 36px !important;
    background: #fff !important;
    border: 1px solid var(--ws-cr-border) !important;
    border-radius: 50% !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08) !important;
    z-index: 2;
}

.cr-reviews-slider .slick-prev:hover,
.cr-reviews-slider .slick-next:hover {
    background: var(--ws-cr-bg) !important;
}
