:root{
  --line: rgba(255,255,255,.12);
  --card: rgba(255,255,255,.04);
}

.container{
  width: 92%;
  max-width: 1200px;
  margin: 0 auto;
}

.section{ padding: 22px 0; }
.page-head{ margin: 8px 0 18px; }
.page-head h1{ margin: 0 0 6px; }
.muted{ opacity:.75; }
.tiny{ font-size: 12px; }

.section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin: 18px 0 12px;
}

/* верхний рейтинг */
.rating-row{
  display:grid;
  gap: 12px;
  margin: 10px 0 18px;
}
.rating-row-one{ grid-template-columns: 1fr; }

.rating-card{
  border: 1px solid var(--line);
  background: var(--card);
  border-radius: 16px;
  padding: 14px;
}
.rating-brand{ opacity:.8; font-weight:700; }
.rating-score{ font-size: 30px; font-weight: 800; margin-top: 6px; }
.rating-stars{ letter-spacing: 2px; margin-top: 6px; opacity:.95; }
.rating-note{ margin-top: 6px; opacity:.7; font-size: 12px; }

/* строка среднего рейтинга сайта */
.site-avg-line{
  display:flex;
  align-items:center;
  gap:10px;
  margin: 6px 0 14px;
  opacity: .95;
}
.stars-inline{
  letter-spacing: 2px;
  opacity: .9;
}

.reviews-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 10px 0 22px;
}
@media (max-width: 980px){
  .reviews-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .reviews-grid{ grid-template-columns: 1fr; }
}

.review-card{
  border: 1px solid var(--line);
  background: var(--card);
  border-radius: 16px;
  padding: 14px;
  transition: .2s;
}
.review-card:hover{ transform: translateY(-3px); }

.review-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom: 10px;
}

.badge{
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--line);
  white-space: nowrap;
}
.badge-airbnb{ background: rgba(255,56,92,.12); }
.badge-site{ background: rgba(0,255,160,.10); }

.stars{ letter-spacing: 1px; opacity:.95; }

.review-name{ font-weight: 700; margin: 0 0 8px; }
.review-text{ margin: 0; line-height: 1.55; opacity: .92; }

.review-meta{
  margin-top: 12px;
  display:flex;
  justify-content:space-between;
  gap:10px;
  font-size: 12px;
  opacity: .7;
}

.review-actions{
  margin-top: 10px;
  display:flex;
  justify-content:flex-end;
}

/* форма */
.form-card{
  border: 1px solid var(--line);
  background: var(--card);
  border-radius: 16px;
  padding: 14px;
  margin-top: 8px;
}

.review-form{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}
.review-form .full{ grid-column: 1 / -1; }
.form-row{ display:flex; flex-direction:column; gap:6px; }

.review-form input,
.review-form textarea{
  border: 1px solid var(--line);
  background: transparent !important;
  color: inherit !important;
  border-radius: 12px;
  padding: 10px 12px;
  outline: none;
}
.review-form textarea{ resize: vertical; }

.form-actions{
  grid-column: 1 / -1;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top: 4px;
}

.btn{
  display:inline-block;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: transparent;
  color: inherit;
  cursor: pointer;
  transition: .2s;
}
.btn:hover{ transform: translateY(-1px); opacity: 1; }
.btn-ghost{ opacity: .75; }
.btn-ghost:hover{ opacity: 1; }

/* звёзды */
.star-picker{
  display:flex;
  gap:6px;
  align-items:center;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: transparent;
  user-select:none;
}
.star{
  font-size: 20px;
  line-height: 1;
  cursor:pointer;
  opacity:.55;
  transition:.15s;
  background: transparent;
  border: 0;
  color: inherit;
}
.star.on{ opacity: 1; transform: translateY(-1px); }
.star:focus{ outline: 2px solid var(--line); outline-offset: 2px; }

/* активный язык */
.button-group .panel2.active{
  outline: 2px solid var(--line);
  transform: translateY(-1px);
  opacity: 1 !important;
}




/* ===== FORCE GREEN BUTTONS (site-wide) ===== */
:root{
  --btn-green:#22c55e;
  --btn-green-bg:rgba(34,197,94,.16);
  --btn-green-bg2:rgba(34,197,94,.24);
  --btn-green-border:rgba(34,197,94,.65);
}

button,
input[type="button"],
input[type="submit"],
.btn,
.panel2{
  background: linear-gradient(135deg,var(--btn-green-bg),rgba(34,197,94,.08));
  border-color: var(--btn-green-border) !important;
  color: var(--text, #f4f6fb) !important;
}

button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
.btn:hover,
.panel2:hover{
  background: linear-gradient(135deg,var(--btn-green-bg2),rgba(34,197,94,.12));
  transform: translateY(-1px);
}

button:disabled,
input[type="button"]:disabled,
input[type="submit"]:disabled,
.btn:disabled,
.btn[disabled],
.panel2:disabled{
  opacity:.55;
  cursor:not-allowed;
}

