/* Отзывы о магазине: список и форма. Ширину и клиренс даёт .cartp;
   здесь только то, чего там нет. Страницу рисует geizer-chemistry/reviews.php */

.rv-sum {
  margin: 18px 0 0;
  color: #9fb6d6;
  font-size: 14px;
}
.rv-sum b { color: #fff; font-variant-numeric: tabular-nums; }

.rv-note {
  margin: 20px 0 0;
  padding: 14px 16px;
  border-radius: 14px;
  font-size: 14px;
  line-height: 1.55;
}
.rv-note.is-ok { border: 1px solid rgba(127, 214, 166, .34); background: rgba(18, 62, 44, .42); color: #d6f4e4; }
.rv-note.is-bad { border: 1px solid rgba(255, 150, 150, .34); background: rgba(70, 24, 24, .42); color: #ffd9d9; }

.rv-empty {
  margin: 26px 0 0;
  padding: 22px;
  border: 1px dashed rgba(112, 166, 226, .28);
  border-radius: 16px;
  background: rgba(8, 31, 67, .45);
}
.rv-empty b { display: block; color: #fff; font-size: 17px; margin-bottom: 8px; }
.rv-empty p { margin: 0; color: #9fb6d6; font-size: 14px; line-height: 1.6; }

.rv-list {
  list-style: none;
  margin: 26px 0 0;
  padding: 0;
  display: grid;
  gap: 12px;
}
.rv-item {
  padding: 18px 20px;
  border: 1px solid rgba(112, 166, 226, .16);
  border-radius: 16px;
  background: rgba(8, 31, 67, .5);
}
.rv-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px;
  font-size: 13px;
  color: #8fa8c8;
}
.rv-head b { color: #fff; font-size: 15px; }
.rv-org { color: #b9cfea; }
.rv-date { margin-left: auto; font-variant-numeric: tabular-nums; }
.rv-rate { margin: 8px 0 0; color: #ffc400; letter-spacing: .12em; font-size: 14px; }
.rv-body { margin: 10px 0 0; color: #dbe8f8; font-size: 14.5px; line-height: 1.65; }
.rv-reply {
  margin: 12px 0 0;
  padding: 12px 14px;
  border-left: 2px solid rgba(69, 187, 255, .5);
  border-radius: 0 12px 12px 0;
  background: rgba(11, 39, 80, .6);
  color: #cfe0f5;
  font-size: 14px;
  line-height: 1.6;
}
.rv-reply b { color: #fff; }

.rvp h2 { margin: 40px 0 10px; font-size: 21px; }
.rv-lead { margin: 0 0 18px; color: #9fb6d6; font-size: 14px; line-height: 1.65; max-width: 70ch; }

.rv-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  padding: 22px;
  border: 1px solid rgba(112, 166, 226, .18);
  border-radius: 18px;
  background: rgba(8, 31, 67, .6);
}
.rv-form label {
  display: flex;
  flex-direction: column;
  gap: 7px;
  color: #bfd4ef;
  font-size: 13px;
  font-weight: 600;
}
.rv-form label span { color: #8fa8c8; font-weight: 500; }
.rv-form input, .rv-form select, .rv-form textarea {
  padding: 12px 14px;
  border: 1px solid rgba(120, 190, 255, .24);
  border-radius: 12px;
  background: #081f43;
  color: #fff;
  font: inherit;
  font-size: 16px;        /* меньше 16px — iOS зумит страницу при фокусе */
  outline: none;
}
.rv-form textarea { resize: vertical; line-height: 1.55; }
.rv-form input:focus, .rv-form select:focus, .rv-form textarea:focus {
  border-color: var(--cyan, #45bbff);
  box-shadow: 0 0 0 3px rgba(69, 187, 255, .18);
}
.rv-wide, .rv-consent { grid-column: 1 / -1; }
.rv-consent {
  flex-direction: row;
  align-items: flex-start;
  gap: 10px;
  font-weight: 500;
  font-size: 13px;
  line-height: 1.55;
}
.rv-consent input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 2px; }
.rv-consent a { color: #45bbff; }
.rv-form button { grid-column: 1 / -1; justify-self: start; }

@media (max-width: 720px) {
  .rv-form { grid-template-columns: 1fr; padding: 18px; gap: 12px; }
  .rv-date { margin-left: 0; }
  .rv-item { padding: 16px; }
}
