/* Avis clients : liste publique + formulaire de soumission. */

.cwc-reviews-wrap {
	display: flex;
	flex-direction: column;
	gap: var(--cwc-space-5);
}

.cwc-reviews-list {
	display: flex;
	flex-direction: column;
	gap: var(--cwc-space-4);
}

.cwc-reviews-list__empty {
	color: var(--cwc-color-text-muted);
}

.cwc-review-card {
	border: 1px solid var(--cwc-color-border);
	border-radius: var(--cwc-radius-md);
	padding: var(--cwc-space-4) var(--cwc-space-5);
	background: var(--cwc-color-bg);
}

.cwc-review-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--cwc-space-3);
	margin-bottom: var(--cwc-space-2);
}

.cwc-review-card__name {
	font-weight: 700;
	color: var(--cwc-color-primary);
}

.cwc-review-card__stars {
	color: #f59e0b;
	letter-spacing: 1px;
}

.cwc-review-card__comment {
	margin: 0 0 var(--cwc-space-2);
	color: #374151;
}

.cwc-review-card__date {
	font-size: var(--cwc-font-size-caption);
	color: var(--cwc-color-text-muted);
}

/* Formulaire */
.cwc-reviews-form-wrap .cwc-form__field > span {
	display: block;
	font-weight: 600;
	font-size: var(--cwc-font-size-label);
	margin-bottom: var(--cwc-space-2);
	color: #374151;
}

.cwc-reviews-form__message {
	padding: var(--cwc-space-3) var(--cwc-space-4);
	border-radius: var(--cwc-radius-md);
	margin-bottom: var(--cwc-space-4);
	font-size: var(--cwc-font-size-body);
}

.cwc-reviews-form__message--success {
	background: #ecfdf5;
	border: 1px solid #a7f3d0;
	color: #065f46;
}

.cwc-reviews-form__message--error {
	background: #fef2f2;
	border: 1px solid #fecaca;
	color: #991b1b;
}

.cwc-star-rating {
	position: relative;
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	gap: 2px;
	width: fit-content;
}

.cwc-star-rating input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.cwc-star-rating label {
	cursor: pointer;
	font-size: 1.75rem;
	line-height: 1;
	color: var(--cwc-color-border-strong);
	transition: color 0.1s ease;
}

.cwc-star-rating input:checked ~ label,
.cwc-star-rating label:hover,
.cwc-star-rating label:hover ~ label {
	color: #f59e0b;
}

.cwc-star-rating input:focus-visible + label {
	outline: 2px solid var(--cwc-color-primary);
	outline-offset: 2px;
}

.cwc-button[disabled] {
	opacity: 0.6;
	cursor: not-allowed;
}

/* Bascule Avis / Réclamation */
.cwc-feedback-tabs {
	display: flex;
	gap: var(--cwc-space-2);
	border-bottom: 1px solid var(--cwc-color-border);
	margin-bottom: var(--cwc-space-5);
}

.cwc-feedback-tab {
	appearance: none;
	background: none;
	border: none;
	border-bottom: 2px solid transparent;
	padding: var(--cwc-space-3) var(--cwc-space-2);
	font-size: var(--cwc-font-size-body);
	font-weight: 600;
	color: var(--cwc-color-text-muted);
	cursor: pointer;
}

.cwc-feedback-tab:hover {
	color: var(--cwc-color-primary);
}

.cwc-feedback-tab.is-active {
	color: var(--cwc-color-primary);
	border-bottom-color: var(--cwc-color-primary);
}

/* Formulaire de réclamation */
.cwc-form__row {
	display: flex;
	flex-wrap: wrap;
	gap: var(--cwc-space-4);
}

.cwc-form__row .cwc-form__field {
	flex: 1 1 220px;
}

.cwc-claim-form__previews {
	display: flex;
	flex-wrap: wrap;
	gap: var(--cwc-space-2);
	margin-top: var(--cwc-space-2);
}

.cwc-claim-form__preview-item {
	font-size: var(--cwc-font-size-caption);
	background: var(--cwc-color-bg-subtle, #f3f4f6);
	border: 1px solid var(--cwc-color-border);
	border-radius: var(--cwc-radius-md);
	padding: 4px 10px;
	color: #374151;
}
