﻿.rv-wrap{padding-top:var(--pt);padding-bottom:var(--pb)}
.rv-inner{max-width:1400px;margin:0 auto;padding:0 1.25rem}
.rv-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}
.rv-top-l{display:flex;align-items:center;gap:.5rem}
.rv-gstars{color:var(--acc);font-size:var(--fs-stars);letter-spacing:2px;line-height:1}
.rv-cnt{font-size:var(--fs-count);font-weight:600;opacity:.8}
.rv-write-btn{background:none;border:1.5px solid currentColor;border-radius:4px;padding:.45rem 1.1rem;font-size:var(--fs-btn);font-weight:600;cursor:pointer;transition:background .2s,color .2s;font-family:inherit}
.rv-write-btn:hover{background:#000;color:#fff;border-color:#000}
.rv-grid{columns:var(--cols);column-gap:1rem}
.rv-card{background:#fff;border-radius:var(--cr);overflow:hidden;margin-bottom:1rem;break-inside:avoid;box-shadow:0 1px 6px rgba(0,0,0,.08);display:flex;flex-direction:column}
.rv-card-hd{background:var(--hbg);color:var(--hc);padding:.4rem .75rem;text-align:center}
.rv-badge{font-size:var(--fs-badge);font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.rv-photo{width:100%;overflow:hidden;line-height:0}
.rv-img{width:100%;height:auto;display:block;object-fit:cover;transition:transform .35s ease}
.rv-card:hover .rv-img{transform:scale(1.03)}
.rv-body{padding:.85rem;display:flex;flex-direction:column;gap:.4rem;flex:1}
.rv-meta{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}
.rv-name{font-size:var(--fs-name);font-weight:700}
.rv-ok{display:inline-flex;align-items:center}
.rv-date{font-size:calc(var(--fs-name) - 2px);opacity:.45;margin-left:auto}
.rv-stars{display:flex;gap:1px}
.rv-s{font-size:var(--fs-text);color:#d1d5db}
.rv-sf{color:var(--acc)}
.rv-txt{font-size:var(--fs-text);line-height:1.55;margin:0;opacity:.8;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.rv-prod{display:flex;align-items:center;gap:.5rem;margin-top:.35rem;padding-top:.5rem;border-top:1px solid rgba(0,0,0,.06)}
.rv-pimg{width:40px;height:40px;object-fit:cover;border-radius:4px;flex-shrink:0}
.rv-plbl{font-size:calc(var(--fs-text) - 1px);opacity:.55}
.rv-empty{text-align:center;padding:3rem;opacity:.5;border:2px dashed currentColor;border-radius:12px}
.rv-top-r{display:flex;align-items:center;gap:.5rem}
.rv-sum-wrap{position:relative}
.rv-cnt-btn{display:inline-flex;align-items:center;gap:.3rem;background:none;border:none;cursor:pointer;padding:0;font-family:inherit;font-size:inherit;line-height:1}
.rv-cnt-btn .rv-cnt{font-size:var(--fs-count);font-weight:600;opacity:.8}
.rv-chev{transition:transform .25s ease;flex-shrink:0;opacity:.6}
.rv-cnt-btn[aria-expanded="true"] .rv-chev{transform:rotate(180deg)}
.rv-summary{position:absolute;top:calc(100% + 8px);left:0;z-index:150;background:#fff;border-radius:16px;box-shadow:0 8px 40px rgba(0,0,0,.15);border:1px solid rgba(0,0,0,.08);padding:20px 24px;display:flex;align-items:center;gap:24px;white-space:nowrap}
.rv-summary[hidden]{display:none!important}
.rv-sum-avg{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:80px}
.rv-avg-n{font-size:48px;font-weight:700;line-height:1;letter-spacing:-1px}
.rv-avg-stars{display:flex;gap:1px;font-size:22px;color:var(--acc)}
.rv-sum-cnt{font-size:13px;opacity:.5;white-space:nowraw;margin-top:2px}
.rv-bars{display:flex;flex-direction:column;gap:8px;flex:1}
.rv-bar-row{display:flex;align-items:center;gap:10px}
.rv-bar-lbl{display:flex;align-items:center;gap:0;flex-shrink:0;width:88px}
.rv-sl-f{font-size:15px;color:var(--acc);letter-spacing:1px;line-height:1}
.rv-sl-e{font-size:15px;color:#d1d5db;letter-spacing:1px;line-height:1}
.rv-bar-track{flex:1;height:10px;background:#e5e7eb;border-radius:5px;overflow:hidden;min-width:160px}
.rv-bar-fill{height:100%;background:var(--acc);border-radius:5px;transition:width .4s ease}
.rv-bar-n{font-size:13px;opacity:.55;width:38px;flex-shrink:0;text-align:right}
.rv-filter-wrap{position:relative}
.rv-filter-btn{display:flex;align-items:center;justify-content:center;background:none;border:1.5px solid currentColor;border-radius:4px;padding:.42rem .55rem;cursor:pointer;transition:background .2s,color .2s;font-family:inherit}
.rv-filter-btn:hover{background:#000;color:#fff}
.rv-filter-dd{position:absolute;right:0;top:calc(100% + 6px);background:#fff;border-radius:10px;box-shadow:0 8px 32px rgba(0,0,0,.13);min-width:280px;z-index:200;padding:6px 0;border:1px solid rgba(0,0,0,.07)}
.rv-dd-header{padding:14px 20px 8px;font-size:13px!important;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.45;pointer-events:none}
.rv-dd-item{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;padding:14px 20px;font-size:15px!important;line-height:1.4;cursor:pointer;text-align:left;font-family:inherit;transition:background .15s}
.rv-dd-item:hover{background:#f3f4f6}
.rv-dd-item.rv-dd-active{font-weight:600}
.rv-dd-chk{color:var(--acc)}
.rv-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(3px);z-index:9998}
.rv-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);border:none;border-radius:16px;padding:0;max-width:520px;width:calc(100% - 2rem);max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.18);z-index:9999;background:#fff}
.rv-mbox{padding:1.75rem}
.rv-mhd{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}
.rv-mtitle{font-size:1.2rem;font-weight:700;margin:0}
.rv-mclose{background:none;border:none;cursor:pointer;opacity:.5;display:flex;align-items:center;padding:.2rem;transition:opacity .2s}
.rv-mclose:hover{opacity:1}
.rv-success{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem 0;text-align:center}
.rv-success[hidden]{display:none!important}
.rv-form{display:flex;flex-direction:column;gap:1rem}
.rv-frow{display:flex;flex-direction:column;gap:.3rem}
.rv-lbl{font-size:var(--fs-form);font-weight:600}
.rv-spick{display:flex;gap:4px}
.rv-sp{font-size:2rem;color:#d1d5db;background:none;border:none;cursor:pointer;padding:0;line-height:1;transition:color .15s,transform .15s;font-family:inherit}
.rv-sp.on{color:var(--acc);transform:scale(1.1)}
.rv-inp,.rv-ta{border:1.5px solid #e5e7eb;border-radius:8px;padding:.6rem .85rem;font-size:var(--fs-form);font-family:inherit;outline:none;transition:border-color .2s;width:100%;box-sizing:border-box}
.rv-inp:focus,.rv-ta:focus{border-color:#000}
.rv-ta{resize:vertical;min-height:90px}
.rv-upload{border:2px dashed #d1d5db;border-radius:8px;padding:1.25rem;text-align:center;font-size:var(--fs-form);color:#6b7280;cursor:pointer;position:relative;transition:border-color .2s,background .2s}
.rv-upload:hover,.rv-upload.drag-over{border-color:#000;background:rgba(0,0,0,.03)}
.rv-upload svg{display:block;margin:0 auto .4rem;opacity:.5}
.rv-fi{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.rv-prev{display:flex;align-items:center;gap:1rem;margin-top:.5rem}
.rv-rmp{background:none;border:none;cursor:pointer;font-size:var(--fs-form);color:#ef4444;padding:0;font-family:inherit}
.rv-sub{background:#000;color:#fff;border:none;border-radius:8px;padding:.85rem;font-size:var(--fs-form);font-weight:600;cursor:pointer;width:100%;font-family:inherit;transition:opacity .2s}
.rv-sub:hover{opacity:.82}
@media(max-width:749px){.rv-grid{columns:var(--colsm);column-gap:.6rem}.rv-card{margin-bottom:.6rem}.rv-body{padding:.65rem}.rv-mbox{padding:1.25rem}}