/* reviews.css — визуал карточек отзывов 1:1 Google Play + модал полного списка.
   Использует реальные классы Play Store (.Jwxk6d, .h3YV2d, .NC0Ppb, .D3Qfie,
   .T75of, .VfPpkd-Bz112c-LgbsSe) + доп ps-rev-* для разметки. */

/* карточка отзыва */
.ps-rev {
  padding: 16px 0;
  border-bottom: 1px solid #dadce0;
}
.ps-rev:last-child { border-bottom: none; }
.ps-rev-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.ps-rev-authorwrap { display: flex; align-items: center; gap: 12px; }
.ps-rev-avatar {
  width: 36px; height: 36px; border-radius: 50%;
  object-fit: cover; flex-shrink: 0;
  background: #c6dafc;
}
.ps-rev-avatar--ph {
  display: flex; align-items: center; justify-content: center;
  color: #1a56c4; font: 600 14px 'Google Sans', 'Roboto', sans-serif;
}
.ps-rev-authormeta { display: flex; flex-direction: column; gap: 2px; }
.ps-rev-author { font: 500 14px 'Google Sans', 'Roboto', sans-serif; color: #202124; }
.ps-rev-stars { display: flex; gap: 1px; }
.ps-rev-more {
  width: 36px; height: 36px; border: none; background: transparent;
  border-radius: 50%; cursor: pointer; color: #5f6368;
  display: inline-flex; align-items: center; justify-content: center;
}
.ps-rev-more:hover { background: #f1f3f4; }
.ps-rev-date { color: #5f6368; font-size: 13px; margin: 6px 0 8px; padding-left: 48px; }
.ps-rev-body { color: #202124; font-size: 14px; line-height: 1.55; }
.ps-rev-helpfulrow {
  display: flex; align-items: center; flex-wrap: wrap;
  gap: 12px; margin-top: 12px;
  color: #5f6368; font-size: 13px;
}
.ps-rev-ynwrap { display: inline-flex; gap: 8px; }
.ps-rev-yn {
  padding: 6px 16px; border: 1px solid #dadce0; border-radius: 999px;
  background: #fff; color: #1a73e8; font: 500 13px 'Google Sans', 'Roboto', sans-serif;
  cursor: pointer; user-select: none;
}
.ps-rev-yn:hover { background: #f8f9fa; }
.ps-rev-yn.ps-rev-voted { background: #e8f0fe; border-color: #1a73e8; color: #1a73e8; }
.ps-rev-thanks { color: #1a73e8; font-weight: 600; animation: ps-fade .2s ease; }

/* ответ разработчика — РЕАЛЬНЫЕ классы .ocpBU/.T6E0ze/.I6j64d/.I9Jtec/.ras4vb
   стилизуются оригинальным Play Store CSS. Доп. разметка только для позиционирования. */
.ps-rev-reply {
  margin-top: 16px;
}
.ps-rev-replyhead {
  display: flex; align-items: baseline; gap: 8px; margin-bottom: 6px;
}
.ps-rev-replydev { font: 600 14px 'Google Sans', 'Roboto', sans-serif; color: #202124; }
.ps-rev-replydate { color: #5f6368; font-size: 12px; }
.ps-rev-replytext { color: #202124; font-size: 14px; line-height: 1.55; }

/* 3-dot меню */
.ps-rev-menu {
  position: absolute; right: 0; top: 40px; z-index: 30;
  background: #fff; border: 1px solid #dadce0; border-radius: 8px;
  box-shadow: 0 2px 10px rgba(60,64,67,.2);
  padding: 6px 0; min-width: 200px;
}
.ps-rev { position: relative; }
.ps-rev-menuitem {
  display: block; padding: 10px 16px; width: 100%; text-align: left;
  cursor: pointer; color: #202124; font-size: 14px;
}
.ps-rev-menuitem:hover { background: #f1f3f4; }

/* модал полного списка отзывов */
.ps-rev-full {
  position: fixed; inset: 0; z-index: 9000;
  background: rgba(0,0,0,.5); display: flex; align-items: flex-start; justify-content: center;
  padding: 40px 16px; overflow-y: auto;
  animation: ps-fade .2s ease;
}
.ps-rev-full__card {
  background: #fff; border-radius: 16px; max-width: 720px; width: 100%;
  padding: 24px 28px; box-shadow: 0 8px 40px rgba(0,0,0,.3);
  font-family: 'Google Sans', 'Roboto', sans-serif;
}
.ps-rev-full__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.ps-rev-full__title { font: 600 20px 'Google Sans', 'Roboto', sans-serif; }
.ps-rev-full__close {
  width: 40px; height: 40px; border: none; border-radius: 50%;
  background: #f1f3f4; color: #5f6368; font-size: 22px; cursor: pointer;
}
.ps-rev-full__close:hover { background: #e4e7e5; }
.ps-rev-full__chips { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 8px; padding-bottom: 12px; border-bottom: 1px solid #dadce0; }
.ps-rev-chipgroup { display: inline-flex; gap: 8px; }
.ps-rev-devchip, .ps-rev-sortchip {
  padding: 8px 16px; border: 1px solid #dadce0; border-radius: 999px;
  background: #fff; color: #5f6368; font: 500 13px 'Google Sans', 'Roboto', sans-serif;
  cursor: pointer;
}
.ps-rev-devchip:hover, .ps-rev-sortchip:hover { background: #f8f9fa; }
.ps-rev-devchip.is-on, .ps-rev-sortchip.is-on { background: #e8f0fe; border-color: #1a73e8; color: #1a73e8; }
.ps-rev-full__list { max-height: 60vh; overflow-y: auto; padding-right: 4px; }

/* dropdowns (Most relevant / Star rating) — как в оригинале */
.ps-rev-dropdown { position: relative; display: inline-block; }
.ps-rev-dropbtn {
  display: inline-flex; align-items: center; gap: 2px;
  padding: 8px 12px; border: 1px solid #dadce0; border-radius: 999px;
  background: #fff; color: #5f6368; font: 500 13px 'Google Sans', 'Roboto', sans-serif;
  cursor: pointer;
}
.ps-rev-dropbtn:hover { background: #f8f9fa; }
.ps-rev-dropbtn svg { color: #5f6368; }
.ps-rev-dropdownmenu {
  position: absolute; top: calc(100% + 4px); left: 0; z-index: 40;
  background: #fff; border: 1px solid #dadce0; border-radius: 8px;
  box-shadow: 0 2px 10px rgba(60,64,67,.2); padding: 6px 0; min-width: 150px;
}
.ps-rev-dropdownitem {
  padding: 10px 16px; cursor: pointer; color: #202124; font-size: 14px;
  white-space: nowrap;
}
.ps-rev-dropdownitem:hover { background: #f1f3f4; }

/* toast */
.ps-toast {
  position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%) translateY(20px);
  background: #202124; color: #fff; padding: 12px 20px; border-radius: 8px;
  font: 500 14px 'Google Sans', 'Roboto', sans-serif; z-index: 9999;
  opacity: 0; transition: opacity .25s ease, transform .25s ease;
  box-shadow: 0 4px 16px rgba(0,0,0,.3); max-width: 90vw;
}
.ps-toast.is-show { opacity: 1; transform: translateX(-50%) translateY(0); }

@keyframes ps-fade { from { opacity: 0; } to { opacity: 1; } }
