.reviews-page{ padding:64px 0 96px; min-height:70vh; }
.reviews-page h1{ font-size:clamp(28px,4vw,40px); }

.review-form{
  background:var(--umber);
  border-radius:4px;
  padding:28px;
  margin:32px 0 56px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.form-row{
  display:flex;
  gap:14px;
  align-items:center;
  flex-wrap:wrap;
}
.review-form input[type="text"],
.review-form textarea{
  background:var(--ink-black);
  border:1px solid rgba(201,162,92,.25);
  color:var(--paper);
  border-radius:2px;
  padding:12px 14px;
  font-family:var(--font-body);
  font-size:15px;
}
.review-form input[type="text"]{ flex:1; min-width:160px; }
.review-form textarea{ width:100%; min-height:110px; resize:vertical; }
.review-form input:focus, .review-form textarea:focus{ outline:1px solid var(--brass); }

.star-input{ font-size:24px; letter-spacing:2px; cursor:pointer; user-select:none; }
.star-input span{ color:rgba(236,228,211,.25); transition:color .15s; }
.star-input span.on{ color:var(--brass); }

.form-row-file{ font-size:14px; color:var(--paper-dim); }
.file-label{ display:flex; align-items:center; gap:10px; cursor:pointer; }
.file-label input[type="file"]{ font-size:13px; color:var(--paper-dim); }
.file-name{ font-size:13px; color:var(--brass); }

.review-form .btn{ align-self:flex-start; cursor:pointer; border:none; font-family:var(--font-body); }
.review-form .btn:disabled{ opacity:.5; cursor:not-allowed; }

.rv-status{ font-size:14px; color:var(--brass); min-height:1.2em; margin:0; }

.review-list{ display:flex; flex-direction:column; gap:18px; }
.rv-loading, .rv-empty{ color:var(--paper-dim); font-size:15px; }

.review-card{
  border-top:1px solid rgba(201,162,92,.18);
  padding-top:18px;
}
.rv-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:8px;
  flex-wrap:wrap;
}
.rv-nickname{ font-weight:600; }
.rv-stars{ color:var(--brass); letter-spacing:1px; font-size:14px; }
.rv-date{ font-size:13px; color:var(--paper-dim); margin-left:auto; }
.rv-text{ color:var(--paper-dim); margin:0 0 12px; white-space:pre-wrap; }
.rv-photo{ max-width:320px; border-radius:3px; margin-bottom:12px; display:block; }

.rv-like-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:transparent;
  border:1px solid rgba(201,162,92,.3);
  color:var(--paper-dim);
  border-radius:20px;
  padding:6px 14px;
  font-size:13.5px;
  cursor:pointer;
  transition:border-color .15s, color .15s;
  font-family:var(--font-body);
}
.rv-like-btn:hover{ border-color:var(--brass); color:var(--brass); }
.rv-like-btn.liked{ border-color:var(--rust); color:var(--rust-soft); }
