/* hero */
.page-hero{position:relative;background:var(--navy);color:#fff;overflow:hidden;padding:160px 0 90px}
.page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(900px 520px at 85% 12%,rgba(6,182,212,.22),transparent 60%),radial-gradient(700px 500px at 5% 92%,rgba(37,99,235,.2),transparent 60%)}
.page-hero .container{position:relative}
.breadcrumbs{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;color:var(--muted-light);margin-bottom:34px}
.breadcrumbs a:hover{color:var(--cyan-soft)}
.breadcrumbs svg{width:14px;height:14px;opacity:.6}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.hero-badge{display:inline-flex;align-items:center;gap:10px;padding:9px 18px;border-radius:100px;background:rgba(6,182,212,.12);border:1px solid rgba(6,182,212,.35);color:var(--cyan-soft);font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.hero-badge i{width:8px;height:8px;border-radius:50%;background:var(--mint);animation:pulse 2.4s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 12px rgba(45,212,191,0)}100%{box-shadow:0 0 0 0 rgba(45,212,191,0)}}
.page-hero h1{font-size:clamp(1.9rem,4vw,3.1rem);margin:24px 0 18px;font-weight:700}
.page-hero h1 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-sub{font-size:17px;color:var(--muted-light);max-width:540px}
.hero-sub b{color:#fff}
.hero-cta{display:flex;flex-wrap:wrap;gap:16px;margin-top:32px}
.rating-panel{background:rgba(255,255,255,.05);border:1px solid var(--line-dark);border-radius:30px;padding:40px;backdrop-filter:blur(10px);box-shadow:var(--shadow-dark)}
.rating-panel .big{font-family:'Unbounded';font-size:64px;font-weight:700;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.stars{display:flex;gap:5px;margin:16px 0 10px}
.stars svg{width:22px;height:22px;color:#fbbf24}
.rating-panel p{color:var(--muted-light);font-size:14px}
.rating-panel .srcs{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.rating-panel .srcs span{padding:7px 14px;border-radius:100px;font-size:12px;font-weight:700;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.85)}

/* toolbar */
.toolbar{position:sticky;top:78px;z-index:50;background:rgba(243,247,251,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:16px 0}
.toolbar-inner{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.search-box{position:relative;flex:0 0 300px}
.search-box svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted)}
.search-box input{width:100%;border:1.5px solid var(--line);background:#fff;border-radius:14px;padding:12px 18px 12px 46px;font-family:inherit;font-size:14.5px;outline:none;transition:border-color .25s,box-shadow .25s}
.search-box input:focus{border-color:var(--cyan);box-shadow:0 0 0 4px rgba(6,182,212,.14)}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.filters button{border:1.5px solid var(--line);background:#fff;border-radius:100px;padding:9px 18px;font-size:13px;font-weight:700;color:var(--muted);transition:.25s}
.filters button:hover{border-color:var(--cyan);color:var(--blue)}
.filters button.on{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 10px 22px -10px rgba(6,182,212,.7)}
.found-count{width:100%;font-size:13px;color:var(--muted);font-weight:700}

/* REVIEWS CSS — эти же классы использует чанк tpl.review.card в MODX */
.reviews-sec{padding:64px 0 80px}
.rv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}
.rv-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;display:flex;flex-direction:column;gap:14px;transition:transform .35s,box-shadow .35s;animation:cardIn .5s cubic-bezier(.22,1,.36,1) both}
@keyframes cardIn{from{opacity:0;transform:translateY(22px)}}
.rv-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.rv-head{display:flex;gap:14px;align-items:center}
.rv-ava{width:48px;height:48px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;font-weight:800;font-size:16px;flex:none}
.rv-meta b{display:block;font-size:14.5px;line-height:1.3}
.rv-meta span{font-size:12px;color:var(--muted);font-weight:600}
.rv-stars{display:flex;gap:3px}
.rv-stars svg{width:16px;height:16px;color:#fbbf24}
.rv-text{font-size:14.5px;color:#28405a;white-space:pre-line;overflow:hidden;position:relative}
.rv-text.clamped{display:-webkit-box;-webkit-line-clamp:9;-webkit-box-orient:vertical}
.rv-more{align-self:flex-start;background:none;border:none;color:var(--blue);font-weight:800;font-size:13.5px;display:inline-flex;align-items:center;gap:6px;padding:0}
.rv-more svg{width:14px;height:14px;transition:transform .3s}
.rv-more.open svg{transform:rotate(180deg)}
.rv-empty{grid-column:1/-1;text-align:center;padding:80px 20px;color:var(--muted);font-weight:700;font-size:16px}

/* pagination — классы совпадают с чанками tpl.review.page / pagewrapper */
.pg-nav{display:flex;justify-content:center;margin-top:48px}
.pg-wrap{display:flex;gap:8px;list-style:none;flex-wrap:wrap;justify-content:center}
.pg-btn{min-width:46px;height:46px;padding:0 14px;border-radius:14px;border:1.5px solid var(--line);background:#fff;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;transition:.25s}
.pg-btn:hover{border-color:var(--cyan);color:var(--blue);transform:translateY(-2px)}
.pg-btn.active{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 12px 26px -10px rgba(6,182,212,.7)}
.pg-btn.disabled{opacity:.4;pointer-events:none}

/* CTA */
.cta{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.cta::before{content:"";position:absolute;inset:0;background:radial-gradient(800px 460px at 88% 10%,rgba(6,182,212,.2),transparent 60%)}
.cta .container{position:relative;text-align:center}
.cta h2{font-size:clamp(1.5rem,3vw,2.3rem);margin:16px 0 14px}
.cta p{color:var(--muted-light);max-width:620px;margin:0 auto 34px}
.eyebrow{display:inline-flex;align-items:center;gap:12px;color:var(--cyan);font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.eyebrow::before{content:"";width:34px;height:2px;border-radius:2px;background:var(--grad)}
.cta .btn-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

@media(max-width:1080px){.rv-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:960px){
  .mainnav,.topbar-phone{display:none}
  .burger{display:flex}
  .hero-grid{grid-template-columns:1fr;gap:44px}
  .page-hero{padding-top:130px}
  .search-box{flex:1 1 100%}
  .filters{margin-left:0;width:100%}
  .toolbar{top:64px}
  .ft-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .rv-grid{grid-template-columns:1fr}
  .ft-grid{grid-template-columns:1fr}
  .rating-panel{padding:30px 24px}
}