:root{ --bg:#f6eefc; --card:#ffffff; --ink:#2e194a; --muted:#7e6b98; --accent:#8b5cf6; }
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;color:var(--ink);background:linear-gradient(180deg,#fff 0,#f7f2ff 60%,#f9f6ff 100%)}

.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.72);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid #eee}
.site-header .wrap{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:10px 16px}
.site-header .brand{font-weight:800;text-decoration:none;color:#2e194a}
.main-nav{display:flex;gap:8px;flex-wrap:wrap}
.main-nav a{display:inline-block;text-decoration:none;color:#2e194a;background:#f5f0ff;border:1px solid #ede7ff;padding:8px 10px;border-radius:999px;font-weight:600}
.main-nav a:hover{background:#ece2ff}
.main-nav a.active{background:#e4d7ff;border-color:#d6c6ff}
.main-nav a.cta{background:#c4b5fd;color:#2c1247;border-color:#b6a7fb}

.container{max-width:1100px;margin:24px auto;padding:0 16px}
.box{background:rgba(255,255,255,.7);border:1px solid #eee;border-radius:18px;padding:18px 20px;margin-bottom:20px;box-shadow:0 8px 28px rgba(62,0,143,.06)}
h1{margin:0 0 12px;font-size:28px} h2{margin:0 0 12px;font-size:26px}

.review-form .row{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:8px}
label{display:block;font-weight:600;margin:8px 0}
input[type=text],textarea{width:100%;border:1px solid #e3dff1;border-radius:10px;padding:10px 12px;font-size:16px;background:#fff;outline:none}
input[type=text]:focus,textarea:focus{border-color:#c4b5fd;box-shadow:0 0 0 3px rgba(139,92,246,.15)}
.stars{user-select:none;font-size:24px;color:#f7b500;margin:6px 0 8px}
.stars span{cursor:pointer;opacity:.35;margin-right:2px}
.stars span.active{opacity:1}
#counter{display:block;text-align:right;color:var(--muted);margin-top:4px}
button{background:#c4b5fd;border:none;color:#2c1247;padding:10px 16px;border-radius:12px;font-weight:700;cursor:pointer}
button[disabled]{opacity:.55;cursor:not-allowed}
.toast{display:none;margin-top:10px;padding:10px 12px;border-radius:10px;background:#e7f8ee;color:#146c43}
.toast.err{background:#fde2e2;color:#7f1d1d}
.toast.show{display:block}
.badge{margin-top:10px;color:var(--muted);font-size:14px}

#reviews{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.card{background:var(--card);border:1px solid #eee;border-radius:14px;padding:14px 16px;box-shadow:0 6px 20px rgba(62,0,143,.06)}
.card .meta{font-weight:700;margin:.25rem 0 .35rem}
.card .stars{margin:0 0 .25rem 0;font-size:18px}
.card .text{white-space:normal;word-break:break-word;overflow:hidden;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical}
.card.expanded .text{-webkit-line-clamp:unset}
.card .more{margin-top:6px;font-size:14px;color:#6d28d9;cursor:pointer}



.wheel, .wheel-track { display: none !important; }
main, main.container, .container, .box { display: block !important; visibility: visible !important; opacity: 1 !important; }
#reviews, #review-form { display: block !important; }
  position:fixed; right:16px; bottom:16px; z-index:60;
  display:flex; align-items:center; gap:8px;
  text-decoration:none; background:#e9d5ff; color:#2c1247;
  border:1px solid #d8c4ff; padding:10px 14px; border-radius:999px;
  font-weight:800; box-shadow:0 10px 24px rgba(100,0,200,.12)
}

.qnav-btn{
  position:fixed; left:16px; bottom:16px; z-index:60;
  width:44px; height:44px; border-radius:999px; border:0; cursor:pointer;
  background:#111; color:#fff; font-size:22px; line-height:0;
  display:grid; place-items:center; box-shadow:0 10px 24px rgba(0,0,0,.25)
}
.qnav-btn:focus{ outline:3px solid rgba(139,92,246,.35); outline-offset:2px }

.qnav-panel{
  position:fixed; left:16px; bottom:72px; z-index:60;
  background:#fff; border:1px solid #eee; border-radius:14px;
  box-shadow:0 12px 34px rgba(20,0,60,.16);
  padding:10px; display:grid; gap:8px; min-width:220px
}
.qnav-panel a{
  display:block; text-decoration:none; color:#2e194a;
  padding:8px 10px; border-radius:10px
}
.qnav-panel a:hover{ background:#f5f0ff }
.qnav-panel a.cta{ background:#c4b5fd; color:#2c1247; font-weight:700; text-align:center }

main, .container, .box, #reviews, #review-form{ display:block !important; opacity:1 !important; visibility:visible !important }

.rev-nav-fab .bar{display:block;width:22px;height:2px;background:#fff;margin:3px 0;border-radius:2px}

.rev-nav-sheet{position:fixed; inset:0; display:none; z-index:69}
.rev-nav-sheet.open{display:block}
.rev-nav-sheet .scrim{position:absolute; inset:0; background:rgba(0,0,0,.5)}
.rev-nav-sheet .panel{
  position:absolute; left:0; top:0; bottom:0; width:300px;
  background:#fff; padding:16px 14px; overflow:auto;
  border-top-right-radius:14px; border-bottom-right-radius:14px;
  box-shadow: 0 8px 28px rgba(0,0,0,.18);
}
.rev-nav-sheet .title{font-weight:800;color:#34245d;margin:4px 0 12px}
.rev-nav-sheet .list a{
  display:block; padding:12px 6px; text-decoration:none; color:#2e194a;
  border-bottom:1px solid #eee;
}
.rev-nav-sheet .list a:hover{background:#f6f1ff}
body.no-scroll{overflow:hidden}

main, .container, .box, #reviews, #review-form{display:block !important; opacity:1 !important; visibility:visible !important}

/* ---------- Reviews: локальная плавающая навигация ---------- */
.rv-nav-fab{
  position:fixed; left:16px; bottom:16px; z-index:70;
  width:56px; height:56px; border-radius:50%; border:none; cursor:pointer;
  background:#111; color:#fff; box-shadow:0 12px 28px rgba(0,0,0,.25);
  display:inline-grid; place-items:center;
}
.rv-nav-fab .rv-bars{display:grid; gap:4px}
.rv-nav-fab .rv-bars i{display:block; width:22px; height:3px; border-radius:2px; background:#fff}
.rv-nav-fab:focus{outline:3px solid rgba(139,92,246,.35); outline-offset:2px}

/* Drawer */
.rv-nav-drawer{position:fixed; inset:0; z-index:69; display:block}
.rv-nav-drawer[hidden]{display:none}
.rv-nav-drawer::before{content:""; position:absolute; inset:0; background:rgba(0,0,0,.35); backdrop-filter:blur(2px)}
.rv-nav-panel{
  position:absolute; left:0; top:0; bottom:0; width:300px; max-width:86vw;
  background:#fff; padding:14px 16px; border-right:1px solid #eee;
  box-shadow:0 10px 30px rgba(0,0,0,.18); overflow:auto;
}
.rv-nav-panel h3{margin:4px 4px 10px; font-size:18px; color:#29143f}
.rv-nav-panel nav{display:grid}
.rv-nav-panel nav a{
  display:flex; align-items:center; padding:12px 10px; text-decoration:none;
  color:#1e1630; border-bottom:1px solid #f1ecff;
}
.rv-nav-panel nav a[aria-current="page"]{background:#efe9ff; font-weight:700}

/* Не даём «колесу»/чужим эффектам перекрывать reviews */
.wheel, .wheel-track{display:none !important;}
/* Контент всегда видим */
main, main.container, .container, .box{display:block !important; visibility:visible !important; opacity:1 !important;}
/* rv-safe */
.wheel, .wheel-track{display:none !important;}
main, main.container, .container, .box{display:block !important; visibility:visible !important; opacity:1 !important;}
/* rv-safe */
.wheel, .wheel-track{display:none !important;}
main, main.container, .container, .box{display:block !important; visibility:visible !important; opacity:1 !important;}
/* rv-safe */
.wheel, .wheel-track{display:none !important;}
main, main.container, .container, .box{display:block !important; visibility:visible !important; opacity:1 !important;}
/* rv-safe */
.wheel,.wheel-track{display:none!important}
main,main.container,.container,.box{display:block!important;visibility:visible!important;opacity:1!important}
/* kill-old-qnav */
.qnav-btn, .qnav-panel { display:none !important; visibility:hidden !important; }
