.ichingo-reviews {
	margin-top: 2rem;
	padding: 1.5rem;
	background: var(--ichingo-bg-surface);
	border: 1px solid var(--ichingo-border-subtle);
	border-radius: var(--ichingo-radius-lg, 16px);
}

.ichingo-reviews__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.25rem; }
.ichingo-reviews__head h2 { margin: 0; font-size: 1.05rem; }

.ichingo-reviews__summary { display: flex; align-items: center; gap: .5rem; }
.ichingo-reviews__avg { font-size: 1.3rem; font-weight: 800; color: var(--ichingo-color-primary-dark, var(--ichingo-color-primary)); }
.ichingo-reviews__stars { color: var(--ichingo-color-accent-gold); font-size: 1.05rem; letter-spacing: 1px; }
.ichingo-reviews__count { font-size: .78rem; color: var(--ichingo-text-muted); }

/* --- Form --- */
.ichingo-reviews__form {
	display: flex;
	flex-direction: column;
	gap: .75rem;
	padding: 1.1rem;
	margin-bottom: 1.5rem;
	background: var(--ichingo-bg-surface-alt);
	border: 1px solid var(--ichingo-border-subtle);
	border-radius: 14px;
}

.ichingo-reviews__star-picker { display: flex; gap: .2rem; }
.ichingo-reviews__star {
	background: none;
	border: none;
	font-size: 1.6rem;
	line-height: 1;
	padding: 0 .1rem;
	cursor: pointer;
	color: var(--ichingo-border-subtle);
	transition: transform .1s ease, color .15s ease;
}
.ichingo-reviews__star:hover,
.ichingo-reviews__star:hover ~ .ichingo-reviews__star { transform: none; }
.ichingo-reviews__star.is-filled { color: var(--ichingo-color-accent-gold); }
.ichingo-reviews__star:hover { transform: scale( 1.15 ); }
.ichingo-reviews__star-picker--shake { animation: ichingo-reviews-shake .35s ease; }
@keyframes ichingo-reviews-shake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }

.ichingo-reviews__form textarea,
.ichingo-reviews__guest-fields input {
	width: 100%;
	border: 1px solid var(--ichingo-border-subtle);
	border-radius: 10px;
	padding: .65em .85em;
	font-size: .88rem;
	font-family: inherit;
	background: var(--ichingo-bg-surface);
	color: var(--ichingo-text-ink);
	resize: vertical;
}
.ichingo-reviews__form textarea:focus,
.ichingo-reviews__guest-fields input:focus { outline: 2px solid var(--ichingo-color-primary); outline-offset: 1px; }

.ichingo-reviews__guest-fields { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
@media ( max-width: 480px ) { .ichingo-reviews__guest-fields { grid-template-columns: 1fr; } }

.ichingo-reviews__as { margin: 0; font-size: .8rem; color: var(--ichingo-text-muted); }

.ichingo-reviews__submit {
	align-self: flex-start;
	background: var(--ichingo-color-primary);
	color: #fff;
	border: none;
	border-radius: var(--ichingo-radius-pill, 999px);
	padding: .6em 1.6em;
	font-weight: 700;
	font-size: .85rem;
	cursor: pointer;
	transition: filter .15s ease;
}
.ichingo-reviews__submit:hover { filter: brightness(1.08); }

/* --- List --- */
.ichingo-reviews__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1rem; }
.ichingo-reviews__item { display: flex; gap: .75rem; }
.ichingo-reviews__avatar { border-radius: 50%; flex-shrink: 0; }
.ichingo-reviews__item-body { flex: 1; min-width: 0; }
.ichingo-reviews__item-head { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem .6rem; margin-bottom: .2rem; }
.ichingo-reviews__item-head strong { font-size: .85rem; }
.ichingo-reviews__item-stars { color: var(--ichingo-color-accent-gold); font-size: .82rem; letter-spacing: 1px; }
.ichingo-reviews__item-head time { font-size: .72rem; color: var(--ichingo-text-muted); }
.ichingo-reviews__item p { margin: 0; font-size: .86rem; line-height: 1.55; color: var(--ichingo-text-ink); }
