/* c-review — stars, optional text, up to 3 photos; then the posted review. Hero, stars, text area and bar are shared. */
.c-review { gap: 0; }
.c-review .status-hero__body { color: var(--neutral-700); font-weight: 400; }
.c-review .heading-row + .status-hero__notes,
.c-review .heading-row ~ p { margin-top: var(--space-8); }
.c-review p { margin: 0; }
.c-review__rating { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-8); margin-top: var(--rhythm-section); }
.c-review__rating .stars--input { margin-left: calc(var(--space-12) * -1 + var(--space-2)); }
@media (max-width: 18.75em) { .c-review__rating .stars--input { margin-left: 0; } }   /* P1-2 zoom tier */
.c-review__word { font-weight: 500; }
.c-review__word:empty { display: none; }
.c-review__error { color: var(--error-ink); font-weight: 600; }
.c-review__text { margin-top: var(--rhythm-section); }
.c-review__photosec { display: flex; flex-direction: column; gap: var(--space-8); margin-top: var(--rhythm-section); }
.c-review__photos { display: flex; flex-wrap: wrap; gap: var(--space-16); padding-top: var(--space-12); padding-right: var(--space-12); }
.c-review__photo { position: relative; display: block; width: 64px; height: 64px; }
.c-review__photo .photo-tile { display: block; width: 64px; height: 64px; border-radius: var(--radius-md); }
.c-review__remove {
  position: absolute; top: -22px; right: -22px; width: 44px; height: 44px; padding: 0; border: 0; background: none;
  display: flex; align-items: center; justify-content: center; cursor: pointer; border-radius: var(--radius-full);
}
.c-review__x {
  display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: var(--radius-full);
  background: var(--ink); color: var(--white); box-shadow: 0 0 0 2px var(--neutral-50);
}
.c-review__remove:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: -2px; }
.c-review__add {
  display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; padding: 0;
  background: none; border: 1.5px dashed var(--neutral-300); border-radius: var(--radius-md); color: var(--neutral-600); cursor: pointer;
}
.c-review__add:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 2px; }
.c-review__add:disabled, .c-review__remove:disabled { cursor: default; opacity: .5; }
.c-review__photonote { text-wrap: pretty; }
.c-review__posted { gap: var(--space-12); }
.c-review__posted .review-row { padding: 0; }
