/**
 * Review Showcase for WooCommerce – frontend styles.
 * All selectors are namespaced under .wcrs-wrap to avoid theme conflicts.
 */
.wcrs-wrap{--wcrs-accent:#6050dc;--wcrs-font-size:16px;--wcrs-line-height:1.6;--wcrs-card-padding:22px;--wcrs-gap:14px;--wcrs-margin:32px;max-width:1100px;margin:var(--wcrs-margin) auto;color:#1d2030;font-size:var(--wcrs-font-size);line-height:var(--wcrs-line-height)}
.wcrs-wrap *{box-sizing:border-box}
.wcrs-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.wcrs-header-text{flex:1 1 auto;min-width:0}
.wcrs-heading{margin:0 0 8px;font-size:30px;line-height:1.2;color:#181a28}
.wcrs-intro{margin:0 0 24px;color:#6e7383}
.wcrs-quick-review-btn{flex:0 0 auto;border:0;border-radius:10px;padding:11px 18px;background:var(--wcrs-accent);color:#fff;font-weight:700;font-size:14px;cursor:pointer;transition:.2s ease;white-space:nowrap}
.wcrs-quick-review-btn:hover{filter:brightness(.96)}
.wcrs-quick-review-btn:before{content:"\270E";margin-right:7px}
.wcrs-form-wrap.wcrs-flash .wcrs-form-card{box-shadow:0 0 0 3px rgba(96,80,220,.35),0 10px 30px rgba(20,16,60,.06)}
.wcrs-summary-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:18px;margin-bottom:24px}
.wcrs-score-card,.wcrs-chart-card,.wcrs-review-card,.wcrs-form-card,.wcrs-buyer-message,.wcrs-notice,.wcrs-empty{background:#fff;border:1px solid #e8e8ef;border-radius:18px;box-shadow:0 10px 30px rgba(20,16,60,.06)}
.wcrs-score-card{padding:26px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.wcrs-score{font-size:52px;font-weight:800;line-height:1;color:var(--wcrs-accent);margin-bottom:6px}
.wcrs-out-of{color:#798091;margin-bottom:8px}
.wcrs-total-reviews{font-weight:700;margin-top:8px}
.wcrs-stars{display:inline-flex;gap:3px;color:#d5d8e2;font-size:18px;line-height:1}
.wcrs-stars .is-on{color:#ffb629}
.wcrs-chart-card{padding:22px 24px}
.wcrs-chart-card h3{margin:0 0 14px;font-size:16px;color:#1d2030}
.wcrs-bar-row{display:grid;grid-template-columns:52px 1fr 28px;gap:10px;align-items:center;margin:10px 0;font-size:13px}
.wcrs-bar-label{color:#4c5261;font-weight:600}
.wcrs-bar{height:10px;border-radius:999px;background:#efedf8;overflow:hidden;position:relative}
.wcrs-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--wcrs-accent),#8f84f0)}
.wcrs-bar-row em{font-style:normal;color:#6f7484;text-align:right}
.wcrs-review-list{display:grid;gap:var(--wcrs-gap)}
.wcrs-review-card{padding:var(--wcrs-card-padding);display:grid;grid-template-columns:72px 1fr;gap:16px}
.wcrs-review-card:only-child,.wcrs-review-card.wcrs-no-avatar{grid-template-columns:1fr}
.wcrs-avatar img{display:block;width:72px;height:72px;border-radius:50%}
.wcrs-review-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.wcrs-review-meta{min-width:0}
.wcrs-author-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px}
.wcrs-author{font-size:16px;font-weight:700;color:#171927;letter-spacing:-.01em}
.wcrs-date{display:block;margin-top:5px;font-size:13px;color:#858b9b}
.wcrs-review-title{margin:2px 0 10px;font-size:18px;line-height:1.35;font-weight:700;color:#202335;letter-spacing:-.01em}

/* Review body: tuned for comfortable, modern reading. */
.wcrs-review-text{color:#3f4557;font-size:var(--wcrs-font-size);line-height:var(--wcrs-line-height);letter-spacing:.002em}
.wcrs-review-text-inner{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden;overflow-wrap:break-word;word-break:break-word}
.wcrs-review-text-inner.is-open{display:block;-webkit-line-clamp:unset;line-clamp:unset;overflow:visible}
.wcrs-review-text-inner p{margin:0 0 .85em}
.wcrs-review-text-inner p:last-child{margin-bottom:0}
.wcrs-review-text-inner a{color:var(--wcrs-accent);text-decoration:underline;text-underline-offset:2px}
.wcrs-review-text-inner ul,.wcrs-review-text-inner ol{margin:0 0 .85em;padding-left:1.35em}
.wcrs-review-text-inner li{margin:0 0 .3em}
.wcrs-review-text-inner blockquote{margin:0 0 .85em;padding:2px 0 2px 14px;border-left:3px solid #e3e1f3;color:#5a6072}

/* Read more / less: pill button with a caret and smooth hover. */
.wcrs-read-more{display:inline-flex;align-items:center;gap:7px;margin-top:12px;border:1px solid transparent;background:none;padding:5px 4px;color:var(--wcrs-accent);font:inherit;font-weight:700;font-size:13px;line-height:1;letter-spacing:.01em;cursor:pointer;border-radius:8px;transition:background-color .18s ease,color .18s ease,transform .18s ease}
.wcrs-read-more:hover{color:#fff;background:var(--wcrs-accent);border-color:var(--wcrs-accent);padding-left:11px;padding-right:11px}
.wcrs-read-more:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(96,80,220,.28)}
.wcrs-read-more .wcrs-read-more-caret{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-1px) rotate(45deg);transition:transform .2s ease}
.wcrs-read-more.is-expanded .wcrs-read-more-caret{transform:translateY(2px) rotate(-135deg)}
.wcrs-read-more.is-hidden{display:none}

/* Badges: professional pill sitting in the review header, near the author. */
.wcrs-badges{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}
.wcrs-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.1;letter-spacing:.01em;text-decoration:none;color:#2f6940;background:#f0faef;border:1px solid #d6ecd5;box-shadow:0 1px 2px rgba(20,16,60,.04)}
.wcrs-badge-icon{font-size:12px;line-height:1;display:inline-flex}
/* Badge colour styles (chosen per badge in the admin). */
.wcrs-badge--style-green{color:#3b6e21;background:#eef6e4;border-color:#cfe6b4}
.wcrs-badge--style-teal{color:#00563b;background:#e6f6ef;border-color:#bfe6d5}
.wcrs-badge--style-blue{color:#1f4e79;background:#e9f1fb;border-color:#c6dbf3}
.wcrs-badge--style-purple{color:#4a2c82;background:#f1ecfa;border-color:#dccdf1}
.wcrs-badge--style-gold{color:#7a5600;background:#fbf3d9;border-color:#eddba6}
.wcrs-badge--style-gray{color:#3c434a;background:#f0f0f1;border-color:#dcdcde}
a.wcrs-badge{transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
a.wcrs-badge:hover{filter:brightness(.98);text-decoration:none;transform:translateY(-1px);box-shadow:0 4px 10px rgba(20,16,60,.12)}
a.wcrs-badge:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(96,80,220,.28)}

/* Pinned review indicator + subtle card distinction. */
.wcrs-pinned-flag{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--wcrs-accent);background:rgba(96,80,220,.08);border:1px solid rgba(96,80,220,.22)}
.wcrs-pinned-icon{font-size:11px;line-height:1}
.wcrs-review-card.wcrs-is-pinned{border-color:rgba(96,80,220,.32);box-shadow:0 10px 30px rgba(96,80,220,.10)}
.wcrs-review-card.wcrs-is-pinned:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:18px 0 0 18px;background:linear-gradient(180deg,var(--wcrs-accent),#8f84f0)}
.wcrs-review-card{position:relative}

/* "Answered" indicator near the reviewer name. */
.wcrs-answered-flag{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#1f6d4f;background:#e6f6ee;border:1px solid #bfe6d3}
.wcrs-answered-icon{font-size:11px;line-height:1}

/* Official admin/store reply, visually distinct from the customer review. */
.wcrs-admin-reply{position:relative;margin-top:16px;padding:16px 18px;border:1px solid #dcd8f4;border-left:4px solid var(--wcrs-accent);border-radius:12px;background:linear-gradient(180deg,#f7f6ff,#f2f0fb)}
.wcrs-admin-reply-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin-bottom:8px}
.wcrs-admin-reply-avatar{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--wcrs-accent);color:#fff;font-size:14px;line-height:1;flex:0 0 auto}
.wcrs-admin-reply-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.01em;color:#fff;background:var(--wcrs-accent)}
.wcrs-admin-reply-icon{font-size:12px;line-height:1}
.wcrs-admin-reply-meta{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#6b6f86}
.wcrs-admin-reply-author{font-weight:700;color:#4a3fb0}
.wcrs-admin-reply-date{color:#8a8fa6}
.wcrs-admin-reply-body{color:#3f4157;font-size:calc(var(--wcrs-font-size) - 1px);line-height:var(--wcrs-line-height)}
.wcrs-admin-reply-body p{margin:0 0 .7em}
.wcrs-admin-reply-body p:last-child{margin-bottom:0}
.wcrs-admin-reply-body a{color:var(--wcrs-accent);text-decoration:underline;text-underline-offset:2px}
.wcrs-pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:24px 0 6px}
.wcrs-page-ellipsis{color:#9aa0af;padding:0 4px}
.wcrs-page-btn{min-width:40px;height:38px;padding:0 14px;border-radius:10px;border:1px solid #dddfea;background:#fff;color:#2a2f42;cursor:pointer;font-weight:600;transition:.2s ease}
.wcrs-page-btn:hover,.wcrs-page-btn.is-active{color:#fff;background:var(--wcrs-accent);border-color:var(--wcrs-accent)}
.wcrs-form-wrap{margin-top:30px}
.wcrs-form-card{padding:24px}
.wcrs-form-card h3{margin:0 0 6px;font-size:22px}
.wcrs-form-card p{margin:0 0 18px;color:#747b8d}
.wcrs-review-form{display:grid;gap:14px}
.wcrs-field label{display:block;font-size:14px;font-weight:700;color:#202335;margin-bottom:6px}
.wcrs-field input,.wcrs-field textarea,.wcrs-field select{width:100%;border:1px solid #d8dce7;border-radius:10px;padding:12px 14px;font:inherit;color:#1b2030;background:#fff}
.wcrs-field textarea{resize:vertical;min-height:140px}
.wcrs-field input:focus,.wcrs-field textarea:focus,.wcrs-field select:focus{outline:none;border-color:var(--wcrs-accent);box-shadow:0 0 0 3px rgba(96,80,220,.12)}
.wcrs-submit-btn{border:0;border-radius:10px;padding:12px 18px;background:var(--wcrs-accent);color:#fff;font-weight:700;cursor:pointer;transition:.2s ease}
.wcrs-submit-btn:hover{filter:brightness(.96)}
.wcrs-submit-btn:disabled{opacity:.7;cursor:not-allowed}
.wcrs-form-message{font-weight:600;min-height:24px}
.wcrs-form-message.is-success{color:#25733e}
.wcrs-form-message.is-error{color:#c23232}
.wcrs-buyer-message{margin-top:28px;padding:18px 20px;display:flex;gap:10px;align-items:flex-start;color:#4d5260}
.wcrs-buyer-message p{margin:0}
.wcrs-lock-icon{font-size:18px;line-height:1.2}
.wcrs-notice,.wcrs-empty{padding:18px 20px;color:#636978}
.wcrs-review-results.is-loading{opacity:.5;pointer-events:none;transition:opacity .2s ease}
@media (max-width:768px){
	.wcrs-summary-grid{grid-template-columns:1fr}
	.wcrs-review-card{grid-template-columns:56px 1fr;padding:18px}
	.wcrs-avatar img{width:56px;height:56px}
	.wcrs-review-top{flex-direction:column;align-items:flex-start}
}
@media (max-width:560px){
	.wcrs-heading{font-size:26px}
	.wcrs-score{font-size:44px}
	.wcrs-bar-row{grid-template-columns:44px 1fr 24px}
}
@media (prefers-reduced-motion:reduce){
	.wcrs-page-btn,.wcrs-submit-btn,.wcrs-review-results{transition:none}
}
