/* WebX Reviews Pro — frontend */
.wrp-wrap{--wrp-star:#f5a623;--wrp-accent:#111827;font-size:15px;line-height:1.55;color:#222;max-width:920px}
.wrp-wrap *{box-sizing:border-box}

/* Stars */
.wrp-stars{display:inline-flex;letter-spacing:1px;font-size:1em;line-height:1}
.wrp-star{color:#d9d9d9}
.wrp-star--full{color:var(--wrp-star)}
.wrp-star--half{position:relative;color:#d9d9d9}
.wrp-star--half::before{content:"★";position:absolute;left:0;top:0;width:50%;overflow:hidden;color:var(--wrp-star)}

/* Summary */
.wrp-summary{display:flex;flex-wrap:wrap;gap:32px;align-items:center;padding:20px;background:#fafafa;border:1px solid #eee;border-radius:12px;margin-bottom:20px}
.wrp-summary-score{text-align:center;min-width:140px}
.wrp-avg{display:block;font-size:44px;font-weight:800;line-height:1;color:var(--wrp-accent)}
.wrp-summary-score .wrp-stars{font-size:20px;margin:6px 0}
.wrp-count{display:block;font-size:13px;color:#666}
.wrp-summary-bars{flex:1;min-width:220px}
.wrp-bar-row{display:flex;align-items:center;gap:10px;margin:4px 0;font-size:13px}
.wrp-bar-label{width:28px;color:#666}
.wrp-bar{flex:1;height:8px;background:#eee;border-radius:6px;overflow:hidden}
.wrp-bar-fill{display:block;height:100%;background:var(--wrp-star);border-radius:6px}
.wrp-bar-count{width:32px;text-align:right;color:#888}

/* Toolbar */
.wrp-toolbar{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin:16px 0}
.wrp-filters{display:flex;flex-wrap:wrap;gap:6px}
.wrp-filter{border:1px solid #ddd;background:#fff;border-radius:20px;padding:5px 12px;font-size:13px;cursor:pointer;transition:.15s}
.wrp-filter:hover{border-color:var(--wrp-accent)}
.wrp-filter.is-active{background:var(--wrp-accent);color:#fff;border-color:var(--wrp-accent)}
.wrp-sort-select{padding:6px 10px;border:1px solid #ddd;border-radius:8px;font-size:13px}

/* Write button */
.wrp-write-btn{background:var(--wrp-accent);color:#fff;border:0;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer;margin-bottom:16px}
.wrp-write-btn:hover{opacity:.9}

/* Form */
.wrp-form-wrap{border:1px solid #eee;border-radius:12px;padding:20px;margin-bottom:24px;background:#fff}
.wrp-field{margin-bottom:14px}
.wrp-field-row{display:flex;gap:14px}
.wrp-field-row .wrp-field{flex:1}
.wrp-field label{display:block;font-weight:600;font-size:13px;margin-bottom:5px}
.wrp-field input[type=text],.wrp-field input[type=email],.wrp-field input[type=tel],.wrp-field input[type=url],.wrp-field textarea{width:100%;padding:9px 11px;border:1px solid #ddd;border-radius:8px;font-size:14px;font-family:inherit}
.wrp-field small{color:#888;font-size:12px}
.wrp-star-input{display:flex;gap:2px}
.wrp-star-btn{background:none;border:0;font-size:30px;color:#d9d9d9;cursor:pointer;line-height:1;padding:0 2px}
.wrp-star-btn.is-on,.wrp-star-btn:hover,.wrp-star-btn.is-hover{color:var(--wrp-star)}
.wrp-preview{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.wrp-preview img{width:60px;height:60px;object-fit:cover;border-radius:6px;border:1px solid #eee}
.wrp-actions{display:flex;align-items:center;gap:14px}
.wrp-submit{background:var(--wrp-star);color:#111;border:0;border-radius:8px;padding:11px 22px;font-size:14px;font-weight:700;cursor:pointer}
.wrp-submit:disabled{opacity:.6;cursor:not-allowed}
.wrp-form-msg{font-size:13px}
.wrp-form-msg.is-ok{color:#15803d}
.wrp-form-msg.is-err{color:#b91c1c}

/* Review cards */
.wrp-list{display:flex;flex-direction:column;gap:18px}
.wrp-review{border-bottom:1px solid #eee;padding-bottom:18px}
.wrp-review-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.wrp-avatar{width:36px;height:36px;border-radius:50%;background:var(--wrp-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px}
.wrp-review-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.wrp-author{font-weight:700;font-size:14px}
.wrp-verified{background:#e7f7ec;color:#15803d;font-size:11px;font-weight:600;padding:2px 8px;border-radius:12px}
.wrp-date{color:#999;font-size:12px}
.wrp-review .wrp-stars{font-size:16px;margin:2px 0}
.wrp-review-title{margin:6px 0 4px;font-size:15px;font-weight:700}
.wrp-review-body{color:#333;font-size:14px}
.wrp-review-media{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.wrp-media-item img{width:80px;height:80px;object-fit:cover;border-radius:8px;border:1px solid #eee;transition:.15s}
.wrp-media-item img:hover{transform:scale(1.04)}
.wrp-review-video{margin-top:10px;max-width:480px}
.wrp-review-video iframe,.wrp-review-video video{max-width:100%;border-radius:8px}
.wrp-merchant-reply{margin-top:10px;background:#f6f7f9;border-left:3px solid var(--wrp-accent);padding:10px 14px;border-radius:0 8px 8px 0;font-size:13px}
.wrp-merchant-reply p{margin:4px 0 0}
.wrp-review-foot{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:13px}
.wrp-helpful-label{color:#888}
.wrp-vote{border:1px solid #ddd;background:#fff;border-radius:16px;padding:3px 12px;cursor:pointer;font-size:13px}
.wrp-vote:hover{border-color:var(--wrp-accent)}
.wrp-vote.is-voted{background:#f0f0f0;cursor:default}
.wrp-empty{color:#888;padding:20px 0}

/* Pagination */
.wrp-pagination{text-align:center;margin-top:20px}
.wrp-load-more{border:1px solid var(--wrp-accent);background:#fff;color:var(--wrp-accent);border-radius:8px;padding:9px 20px;font-size:14px;cursor:pointer;font-weight:600}
.wrp-load-more:hover{background:var(--wrp-accent);color:#fff}

/* Loop badge */
.wrp-loop-badge{display:flex;align-items:center;gap:5px;font-size:14px;margin:3px 0}
.wrp-loop-count{color:#888;font-size:12px}

/* Badge shortcode */
.wrp-badge{display:inline-flex;align-items:center;gap:6px;font-size:14px}
.wrp-badge-count{color:#666;font-size:13px}

/* Carousel */
.wrp-carousel{display:flex;gap:16px;overflow-x:auto;padding:8px 2px 16px;scroll-snap-type:x mandatory}
.wrp-carousel-item{flex:0 0 280px;scroll-snap-align:start;border:1px solid #eee;border-radius:12px;padding:16px;background:#fff}
.wrp-carousel-item .wrp-stars{font-size:16px}
.wrp-carousel-text{font-size:14px;color:#333;margin:8px 0}
.wrp-carousel-author{font-size:13px;font-weight:600;color:#555;display:block}
.wrp-carousel-prod{font-size:12px;color:#2563eb;text-decoration:none;display:block;margin-top:6px}

/* Modal (lightbox for images handled by browser default via target) */
@media(max-width:600px){
	.wrp-field-row{flex-direction:column;gap:0}
	.wrp-summary{gap:18px}
	.wrp-avg{font-size:36px}
}
