/* Sewn Reviews — public styles */

.sewn-reviews-form-wrap {
	max-width: 560px;
	margin: 24px auto;
	padding: 24px;
	background: #fafafa;
	border: 1px solid #e5e5e5;
	border-radius: 6px;
	font-family: inherit;
}
.sewn-reviews-form-wrap h3 { margin-top: 0; }
.sewn-reviews-form-wrap label { display: block; margin: 14px 0 4px; font-weight: 600; }
.sewn-reviews-form-wrap input[type="text"],
.sewn-reviews-form-wrap input[type="email"],
.sewn-reviews-form-wrap textarea {
	width: 100%; padding: 8px 10px; border: 1px solid #ccc; border-radius: 4px;
	font-size: 15px; box-sizing: border-box;
}
.sewn-reviews-form-wrap textarea { resize: vertical; min-height: 120px; }
.sewn-reviews-form-wrap .sewn-note { color: #666; font-size: 13px; margin-top: 16px; }

.sewn-button {
	display: inline-block; padding: 10px 22px; border: 0; background: #2c3e50;
	color: #fff; font-size: 15px; font-weight: 600; border-radius: 4px; cursor: pointer;
	text-decoration: none;
}
.sewn-button:hover { background: #1a252f; color: #fff; }
.sewn-button-primary { background: #b8865b; }
.sewn-button-primary:hover { background: #9a6f48; }

.sewn-error { background: #fcf2f2; border-left: 3px solid #d63638; padding: 10px 14px; margin-bottom: 16px; color: #5a1d1d; }

/* Star rating input */
.sewn-rating-field { border: 0; padding: 0; margin: 14px 0; }
.sewn-rating-field legend { font-weight: 600; padding: 0; margin-bottom: 4px; }
.sewn-rating-input { display: inline-flex; flex-direction: row-reverse; gap: 2px; }
.sewn-rating-input input[type="radio"] { position: absolute; opacity: 0; pointer-events: none; }
.sewn-rating-input label { margin: 0; cursor: pointer; }
.sewn-rating-star { font-size: 32px; line-height: 1; color: #ccc; transition: color .15s; }
.sewn-rating-input label:hover .sewn-rating-star,
.sewn-rating-input label:hover ~ label .sewn-rating-star,
.sewn-rating-input input:checked ~ label .sewn-rating-star {
	color: #f5a623;
}

/* Star display (read-only) */
.sewn-stars { display: inline-block; line-height: 1; font-size: 16px; }
.sewn-stars .sewn-star.filled { color: #f5a623; }
.sewn-stars .sewn-star.empty  { color: #ddd; }

/* Verified badge */
.sewn-verified-badge {
	display: inline-flex; align-items: center; gap: 4px;
	background: #edfaef; color: #1f7a3e;
	padding: 2px 10px; border-radius: 999px;
	font-size: 11px; font-weight: 600; letter-spacing: .3px;
	text-transform: uppercase;
}
.sewn-verified-check { font-size: 13px; line-height: 1; }

/* Reviews list */
.sewn-reviews-section { margin: 32px 0; }
.sewn-reviews-section .sewn-reviews-header { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 16px; border-bottom: 1px solid #eee; padding-bottom: 8px; }
.sewn-reviews-section h2 { margin: 0; font-size: 22px; }
.sewn-reviews-section .sewn-reviews-summary { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; color: #555; }
.sewn-reviews-section .sewn-avg-num { font-weight: 600; color: #222; }
.sewn-reviews-section .sewn-total-num { color: #888; }
.sewn-reviews-list { list-style: none; padding: 0; margin: 0; }
.sewn-review { padding: 14px 0; border-bottom: 1px solid #f0f0f0; }
.sewn-review:last-child { border-bottom: none; }
.sewn-review-top { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 6px; font-size: 14px; }
.sewn-review-author { font-weight: 600; }
.sewn-review-date { color: #888; font-size: 12px; margin-left: auto; }
.sewn-review-text { font-size: 15px; line-height: 1.55; color: #333; }
.sewn-review-text p { margin: 0 0 8px; }

/* Thanks page */
.sewn-reviews-thanks {
	max-width: 560px; margin: 32px auto; padding: 24px; text-align: center;
	background: #fafafa; border: 1px solid #e5e5e5; border-radius: 6px;
}
.sewn-reviews-thanks h3 { margin-top: 0; font-size: 22px; color: #2c5e3a; }
