.review-open-btn { white-space: nowrap; }
.testimonials-head-row { display: flex; align-items: end; justify-content: space-between; gap: 22px; }

.review-dialog {
  width: min(92vw, 680px);
  max-height: min(88vh, 760px);
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(212,137,26,.34);
  border-radius: 22px;
  background: var(--bg-elevated);
  color: var(--text-body);
  box-shadow: 0 30px 90px rgba(0,0,0,.68);
}
.review-dialog::backdrop { background: rgba(0,0,0,.72); backdrop-filter: blur(8px); }
.review-form { max-height: inherit; overflow-y: auto; padding: clamp(24px, 5vw, 42px); }
.review-dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 26px; }
.review-dialog-head h2 { margin: 0; font-family: var(--fd); font-size: clamp(38px, 6vw, 56px); line-height: .95; text-transform: uppercase; }
.review-close { flex: 0 0 auto; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: var(--input-bg); border: 1px solid var(--color-border); font-size: 28px; }
.review-close:hover { border-color: var(--gold); color: var(--gold); }
.review-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.review-field { display: flex; flex-direction: column; gap: 7px; color: var(--text-muted); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.review-field input, .review-field select, .review-field textarea {
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  background: var(--input-bg);
  color: var(--text-body);
  outline: none;
  text-transform: none;
  letter-spacing: normal;
  font-weight: 500;
}
.review-field textarea { min-height: 140px; resize: vertical; }
.review-field input:focus, .review-field select:focus, .review-field textarea:focus { border-color: var(--gold); }
.review-field select option { color: #111; background: #fff; }
.review-comment-field { grid-column: 1 / -1; }
.review-rating-field { grid-column: 1 / -1; margin: 0; padding: 0; border: 0; }
.review-rating-field legend { margin-bottom: 7px; color: var(--text-muted); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.review-stars { display: flex; gap: 5px; }
.review-star { padding: 0; background: transparent; color: rgba(212,137,26,.28); font-size: 33px; line-height: 1; transition: transform .18s, color .18s; }
.review-star.is-active, .review-star:hover { color: var(--gold); transform: translateY(-1px); }
.review-actions { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--color-border); }
.review-note { margin: 0; color: var(--text-muted); font-size: 12px; }
.review-actions .btn-submit { flex: 0 0 auto; }

.adventure-review-row { display: flex; justify-content: flex-end; margin: -8px 0 22px; }
.adventure-review-row .btn-secondary { min-height: 42px; padding: 9px 16px; font-size: 12px; }

@media (max-width: 700px) {
  .testimonials-head-row { align-items: flex-start; flex-direction: column; }
  .review-grid { grid-template-columns: 1fr; }
  .review-comment-field, .review-rating-field { grid-column: auto; }
  .review-actions { align-items: stretch; flex-direction: column; }
  .review-actions .btn-submit { width: 100%; }
  .review-dialog { width: calc(100vw - 20px); }
}
