/* Фото в отзывах (с 2026-10-21): превью в карточке отзыва и просмотр крупно поверх страницы.
   Разметку строит reviews.js (photosHtml); просмотр — встроенный в браузер popover, без
   скриптов. Подключён на главной, в карточке товара и на /otzyvy — там, где есть отзывы. */
.review__photos{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.review__photo{flex:none;padding:0;border:0;border-radius:10px;overflow:hidden;background:var(--bg-alt);line-height:0;cursor:zoom-in}
.review__photo img{display:block;width:72px;height:72px;object-fit:cover;transition:transform .2s}
.review__photo:hover img{transform:scale(1.06)}
.review__photo:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

.review-viewer{padding:0;border:0;background:transparent;overflow:visible;max-width:none;max-height:none}
.review-viewer::backdrop{background:rgba(16,14,12,.86)}
.review-viewer img{display:block;width:auto;height:auto;max-width:92vw;max-height:88vh;border-radius:12px;background:#2a2622;box-shadow:0 20px 60px rgba(0,0,0,.45)}
.review-viewer__close{position:absolute;top:-16px;right:-16px;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:#fff;color:var(--ink);font-size:26px;line-height:40px;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.3)}
.review-viewer__close:hover{background:var(--bg-alt)}
@media (max-width:600px){
  .review-viewer img{max-width:96vw;max-height:84vh}
  .review-viewer__close{top:8px;right:8px}
}

/* Отзывы о товаре (с 2026-10-24): блок над отзывами о мастерской на карточках свечей и форм.
   Разметку блока строит product-reviews.js, форму — review-form.js. */
.reviews--product{padding-bottom:8px}
.reviews--product .section-head__sub b{color:var(--ink)}
.pr-more{margin:20px 0 0}
.pr-more>summary{display:inline-block;cursor:pointer;color:var(--brand);font-weight:600;list-style:none}
.pr-more>summary::-webkit-details-marker{display:none}
.pr-more>summary:hover{text-decoration:underline}
.pr-more[open]>summary{margin-bottom:20px}
.pr-cta{margin-top:24px;padding:22px 24px;border:1px dashed var(--line);border-radius:var(--radius-lg);background:var(--bg-alt)}
.pr-cta__text{margin:0 0 14px;max-width:640px;color:var(--ink-2)}
.pr-cta__text--done{margin:0}
.pr-form{display:flex;flex-direction:column;gap:16px;max-width:640px}
.pr-form__title{font-size:18px}
.pr-form__rating{margin:0;padding:0;border:0}
.pr-form__rating legend{padding:0;margin-bottom:4px;font-size:13px;font-weight:600;color:var(--ink-2)}
.pr-stars{display:inline-flex;flex-direction:row-reverse;gap:2px}
.pr-stars input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.pr-stars label{font-size:32px;line-height:1;color:#D4D4D4;cursor:pointer;padding:2px;transition:color .1s}
.pr-stars label:hover,.pr-stars label:hover~label,.pr-stars input:checked~label{color:var(--accent)}
.pr-stars input:focus-visible+label{outline:2px solid var(--brand);outline-offset:1px;border-radius:4px}
.pr-photos__label{display:block;margin-bottom:6px;font-size:13px;font-weight:600;color:var(--ink-2)}
.pr-photos__label em{color:var(--muted);font-style:normal;font-weight:500}
.pr-photos__list{display:flex;flex-wrap:wrap;gap:10px}
.pr-photo,.pr-photos__add{position:relative;width:88px;height:88px;border-radius:10px;flex:none}
.pr-photo{background:var(--line-2);overflow:hidden}
.pr-photo img{width:100%;height:100%;object-fit:cover}
.pr-photo.is-busy::after{content:'…';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:22px}
.pr-photo__del{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;background:rgba(16,14,12,.7);color:#fff;font-size:16px;line-height:24px;padding:0}
.pr-photo__del:hover{background:var(--hot)}
.pr-photos__add{display:flex;align-items:center;justify-content:center;text-align:center;padding:8px;border:1.5px dashed var(--brand);background:#fff;color:var(--brand);font-size:12.5px;font-weight:600;line-height:1.3;cursor:pointer}
.pr-photos__add[hidden]{display:none}
.pr-photos__add:hover{background:var(--brand-50)}
.pr-photos__add:focus-within{outline:2px solid var(--brand);outline-offset:2px}
.pr-photos__add input{position:absolute;opacity:0;width:1px;height:1px}
.pr-form__nick{margin:0;font-size:14px;color:var(--ink-2)}
.pr-form__nick a{color:var(--brand);font-weight:600;text-decoration:underline}
.pr-form .hint{margin:0}
.pr-form__error{margin:0;padding:10px 14px;border-radius:8px;background:#FDECEC;color:#B3261E;font-size:14px}
.pr-form__error[hidden]{display:none}
.pr-form__actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.pr-form__actions .btn:disabled{opacity:.6;cursor:default}
.pr-form__cancel{color:var(--muted);font-weight:600}
.pr-form__cancel:hover{color:var(--ink)}
@media (max-width:600px){
  .pr-cta{padding:18px 16px}
  .pr-photo,.pr-photos__add{width:76px;height:76px}
}
