/* ===========================================================================
   Отзывы на сайте
   =========================================================================== */

/* ——— форма ——— */
.pss-rv-form{background:var(--paper); border:1px solid var(--border); border-radius:var(--r); padding:26px 28px; max-width:720px;}
.pss-rv-form-title{font-family:var(--font-head); font-size:20px; font-weight:800; color:var(--navy); margin:0 0 6px;}
.pss-rv-form-sub{font-size:14px; color:var(--grey); margin:0 0 20px; line-height:1.6;}
.pss-rv-fl{margin-bottom:15px;}
.pss-rv-fl label{display:block; font-size:12px; font-weight:600; color:var(--grey); margin-bottom:6px;}
.pss-rv-opt{font-weight:400; color:var(--grey);}
.pss-rv-fl input[type=text], .pss-rv-fl textarea{width:100%; height:48px; padding:0 14px; border:1px solid var(--border); border-radius:var(--r); font-family:var(--font-text); font-size:14px; color:var(--ink); background:var(--paper); outline:none; box-sizing:border-box;}
.pss-rv-fl textarea{height:120px; padding:12px 14px; resize:vertical; line-height:1.6;}
.pss-rv-fl input:focus, .pss-rv-fl textarea:focus{border-color:var(--navy);}
.pss-rv-two{display:grid; grid-template-columns:1fr 1fr; gap:14px;}

.pss-rv-stars{display:flex; gap:5px;}
.pss-rv-stars span{font-size:30px; line-height:1; color:var(--border); cursor:pointer; transition:color .12s, transform .12s;}
.pss-rv-stars span.on{color:var(--amber);}
.pss-rv-stars span:hover{transform:scale(1.12);}

/* переключатель способа подтверждения */
.pss-rv-switch{display:inline-flex; background:var(--slate); border:1px solid var(--border); border-radius:var(--r); padding:3px; margin-bottom:8px;}
.pss-rv-switch button{border:none; background:none; padding:8px 16px; border-radius:2px; font-family:var(--font-text); font-size:13px; color:var(--grey); cursor:pointer; transition:all .18s;}
.pss-rv-switch button.on{background:var(--paper); color:var(--navy); font-weight:600; box-shadow:0 1px 3px rgba(20,25,55,.1);}
.pss-rv-hint{font-size:11.5px; color:var(--grey); margin-top:7px; line-height:1.5;}

.pss-rv-drop{display:block; border:1.5px dashed var(--border); border-radius:var(--r); padding:20px; text-align:center; background:var(--slate); cursor:pointer; transition:border-color .2s;}
.pss-rv-drop:hover{border-color:var(--navy);}
.pss-rv-drop b{display:block; font-family:var(--font-head); font-size:13.5px; color:var(--navy); margin-bottom:3px;}
.pss-rv-drop span{font-size:12.5px; color:var(--grey);}
.pss-rv-previews{display:flex; gap:8px; flex-wrap:wrap; margin-top:10px;}
.pss-rv-previews img{width:72px; height:72px; object-fit:cover; border-radius:var(--r); border:1px solid var(--border);}

.pss-rv-agree{display:flex; gap:10px; align-items:flex-start; font-size:12.5px; color:var(--grey); line-height:1.5; margin:14px 0 16px; cursor:pointer;}
.pss-rv-trap{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
.pss-rv-submit{display:inline-flex; align-items:center; justify-content:center; height:50px; padding:0 28px; background:var(--amber); color:#fff; border:none; border-radius:var(--r); font-family:var(--font-head); font-size:14.5px; font-weight:700; cursor:pointer; transition:transform .18s;}
.pss-rv-submit:hover{transform:translateY(-2px);}
.pss-rv-submit:disabled{background:var(--grey); transform:none; cursor:default;}
.pss-rv-result{margin-top:16px; padding:14px 16px; border-radius:var(--r); font-size:13.5px; line-height:1.6;}
.pss-rv-result.ok{background:var(--amber-soft); border:1px solid #ffd9b8; color:#8A3E00;}
.pss-rv-result.err{background:#FFF7F2; border:1px solid #f2c2c4; color:#8a2424;}

/* ——— сводка ——— */
.pss-rv-summary{display:grid; grid-template-columns:220px 1fr; gap:26px; background:var(--navy); border-radius:var(--r); padding:24px 28px; color:#fff; margin-bottom:20px; align-items:center;}
.pss-rv-summary-num{font-family:var(--font-head); font-size:46px; font-weight:800; letter-spacing:-0.03em; line-height:1;}
.pss-rv-summary-stars{color:var(--amber); font-size:18px; letter-spacing:2px; margin-top:6px;}
.pss-rv-summary-sub{font-size:12.5px; color:rgba(255,255,255,.6); margin-top:6px;}
.pss-rv-summary-bars > div{display:flex; align-items:center; gap:11px; font-size:12.5px; color:rgba(255,255,255,.75); margin-bottom:7px;}
.pss-rv-summary-bars > div:last-child{margin-bottom:0;}
.pss-rv-summary-bars i{flex:1; height:6px; background:rgba(255,255,255,.15); border-radius:3px; overflow:hidden;}
.pss-rv-summary-bars i b{display:block; height:100%; background:var(--amber);}
.pss-rv-summary-bars em{font-style:normal; min-width:26px; text-align:right;}

/* ——— фильтры ——— */
.pss-rv-filters{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:18px;}
.pss-rv-filters button{background:var(--paper); border:1px solid var(--border); border-radius:var(--r); padding:9px 16px; font-family:var(--font-text); font-size:13px; color:var(--grey); cursor:pointer; transition:all .2s;}
.pss-rv-filters button:hover{border-color:var(--navy); color:var(--navy);}
.pss-rv-filters button.on{background:var(--navy); border-color:var(--navy); color:#fff;}
.pss-rv-filters em{font-style:normal; margin-left:5px; opacity:.6;}

/* ——— карточка отзыва ——— */
.pss-rv{background:var(--paper); border:1px solid var(--border); border-radius:var(--r); padding:22px 24px; margin-bottom:14px;}
.pss-rv-head{display:flex; align-items:center; gap:12px; margin-bottom:12px; flex-wrap:wrap;}
.pss-rv-ava{width:42px; height:42px; border-radius:50%; background:var(--slate); display:flex; align-items:center; justify-content:center; font-family:var(--font-head); font-weight:700; color:var(--navy); font-size:15px; flex-shrink:0;}
.pss-rv-who b{display:block; font-family:var(--font-head); font-size:15px; font-weight:700; color:var(--navy);}
.pss-rv-who span{font-size:12px; color:var(--grey);}
.pss-rv-meta{margin-left:auto; display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.pss-rv-verified{background:var(--amber-soft); color:#8A3E00; border-radius:2px; padding:4px 9px; font-size:11.5px; white-space:nowrap;}
.pss-rv-source{border:1px solid var(--border); background:var(--slate); color:var(--grey); border-radius:2px; padding:4px 9px; font-size:11.5px; text-decoration:none;}
a.pss-rv-source:hover{border-color:var(--navy); color:var(--navy);}
.pss-rv-source.src-yandex{background:#fff4e5; border-color:#ffd9a8; color:#8a5200;}
.pss-rv-source.src-gis{background:#e9f5ff; border-color:#b8dcf7; color:#0b5a8a;}
.pss-rv-source.src-site{background:#edfaef; border-color:#b8e6bf; color:#00650a;}
.pss-rv-stars-out{color:var(--amber); letter-spacing:2px; font-size:15px; margin-bottom:9px;}
.pss-rv-stars-out span{color:var(--border);}
.pss-rv-text{font-size:14.5px; line-height:1.7; color:var(--ink); margin-bottom:12px;}
.pss-rv-photos{display:flex; gap:8px; flex-wrap:wrap;}
.pss-rv-photo img{width:88px; height:88px; object-fit:cover; border-radius:var(--r); border:1px solid var(--border); display:block; cursor:zoom-in;}
/* Строка товара над отзывом.

   Прежняя ссылка «К товару» стояла внизу текстом — изделие по ней
   не узнать. Здесь миниатюра, подпись и название: видно, о чём отзыв,
   ещё до чтения. Отделяется линией, а не фоном, чтобы не спорить
   с фотографиями клиентов ниже. */

.pss-rv-top{display:flex; align-items:center; gap:10px; text-decoration:none;
  padding-bottom:11px; margin-bottom:12px; border-bottom:1px solid var(--border);}
.pss-rv-top__im{width:36px; height:36px; border-radius:3px; overflow:hidden; flex:none;
  background:var(--slate); display:flex; align-items:center; justify-content:center;}
.pss-rv-top__im img{width:100%; height:100%; object-fit:cover; display:block;}
.pss-rv-top__im i{font-style:normal; font-family:var(--font-head); font-weight:700; color:var(--navy);}
.pss-rv-top__tx{font-size:12.5px; color:var(--grey); min-width:0; line-height:1.35;}
.pss-rv-top__tx b{display:block; font-family:var(--font-head); font-size:13px; font-weight:600;
  color:var(--navy); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.pss-rv-top__go{margin-left:auto; color:var(--grey); font-size:15px; padding-left:8px;}
.pss-rv-top:hover .pss-rv-top__go{color:var(--amber);}
.pss-rv-top:hover .pss-rv-top__tx b{color:var(--amber);}
.pss-rv-empty{background:var(--paper); border:1px solid var(--border); border-radius:var(--r); padding:32px; text-align:center; color:var(--grey); font-size:14px;}

@media (max-width:700px){
  .pss-rv-two{grid-template-columns:1fr;}
  .pss-rv-summary{grid-template-columns:1fr; gap:18px;}
  .pss-rv-meta{margin-left:0; width:100%;}
}

/* вкладка отзывов в карточке товара */
.woocommerce-tabs .panel .pss-rv-none{font-size:14.5px; color:var(--grey); line-height:1.7; margin-bottom:20px;}
.woocommerce-tabs .panel .blk{margin-bottom:22px;}
.woocommerce-tabs .panel .blk:last-child{margin-bottom:0;}
.woocommerce-tabs .panel .pss-rv-form{max-width:100%;}

/* ——— о каком товаре отзыв ———

   Плашка того же вида, что метки применённых фильтров: слейт, рамка,
   радиус 4. Стоит над оценкой, высоты почти не занимает. */

.pss-rv-about{display:inline-flex; align-items:center; gap:9px; margin-bottom:14px;
  padding:7px 12px; background:var(--slate); border:1px solid var(--border);
  border-radius:var(--r); font-size:12.5px; color:var(--navy); line-height:1.35;}
.pss-rv-about b{font-family:var(--font-head); font-weight:600;}
.pss-rv-about__im{width:22px; height:22px; border-radius:3px; object-fit:cover; flex:none;}

/* Звёздочка обязательного поля. Оранжевая и мелкая: это пометка,
   а не часть названия. */
.pss-rv-req{color:var(--amber); font-weight:700; margin-left:2px;}

/* Переключатель во всю ширину: на телефоне две кнопки в строку помещаются,
   а попасть по ним проще. */
.pss-rv-switch{display:grid; grid-template-columns:1fr 1fr; width:100%; max-width:340px;}
.pss-rv-switch button{text-align:center;}

@media (max-width:640px){
	.pss-rv-switch{max-width:none;}
	.pss-rv-about{width:100%;}
}
