/* ============================================================
   СПБ Переезд — страница отзывов (page-reviews.php)
   ============================================================ */

.sp-reviews-page{background:var(--bg-2);padding-bottom:8px}

/* --- шапка --- */
.sp-reviews-hero{background:linear-gradient(135deg,var(--ink),var(--brand-dk));
  color:#fff;padding:110px 0 100px;position:relative;background-size:cover;background-position:center}
.sp-reviews-hero__overlay{position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(12,22,38,.86),rgba(31,95,240,.55));pointer-events:none}
.sp-reviews-hero__content{position:relative;z-index:1}
.sp-reviews-hero h1{font-size:clamp(26px,4vw,42px);font-weight:800;margin:0 0 12px;line-height:1.15}
.sp-reviews-hero p{font-size:16.5px;color:rgba(255,255,255,.85);margin:0;max-width:660px;line-height:1.5}

/* --- табы --- */
.sp-rv-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:30px 0 8px}
.sp-rv-tab{background:var(--card);border:1px solid var(--line);border-radius:99px;
  padding:10px 22px;font-size:14.5px;font-weight:500;color:var(--ink-2);cursor:pointer;
  transition:var(--dur) var(--ease);white-space:nowrap}
.sp-rv-tab:hover{border-color:var(--brand);color:var(--brand)}
.sp-rv-tab.is-active{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}

/* --- панели --- */
.sp-rv-pane{display:none;padding:24px 0 8px}
.sp-rv-pane.is-active{display:block}
.sp-rv-lead{font-size:15px;color:var(--ink-3);margin:0 0 24px;max-width:720px;line-height:1.6}

.sp-rv-block{margin-bottom:36px}
.sp-rv-block__title{font-size:21px;font-weight:800;color:var(--ink);margin:0 0 16px;
  padding-left:13px;border-left:4px solid var(--brand);line-height:1.3}
.sp-rv-embed{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:24px;box-shadow:var(--sh)}
.sp-rv-embed img{border-radius:var(--r-sm)}

/* --- письма: список --- */
.sp-letters-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.sp-letter-item{display:grid;grid-template-columns:130px 1fr;gap:20px;
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:20px;box-shadow:var(--sh);
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.sp-letter-item:hover{transform:translateY(-3px);box-shadow:var(--sh-lg)}

.sp-letter-item__thumb{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);
  aspect-ratio:1/1.414;background:var(--bg-2)}
.sp-letter-item__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.sp-letter-item__ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--brand-soft),#dde7ff)}
.sp-letter-item__ph svg{width:38px;height:38px;stroke:var(--brand);opacity:.5}

.sp-letter-item__body{display:flex;flex-direction:column}
.sp-letter-item__company{font-size:17px;font-weight:700;color:var(--ink);margin:0 0 3px;line-height:1.3}
.sp-letter-item__person{font-size:12.5px;color:var(--brand);margin-bottom:10px}
.sp-letter-item__frag{font-size:13.5px;color:var(--ink-2);line-height:1.6;margin:0 0 14px;flex:1}
.sp-letter-item__more{display:inline-flex;align-items:center;gap:7px;margin-top:auto;
  background:none;border:none;padding:0;cursor:pointer;
  font-size:14px;font-weight:600;color:var(--brand);font-family:inherit;text-align:left}
.sp-letter-item__more svg{width:16px;height:16px;transition:transform var(--dur) var(--ease)}
.sp-letter-item__more:hover svg{transform:translateX(3px)}

/* --- модал письма --- */
.sp-letter-modal__box{width:min(860px,calc(100vw - 32px));padding:28px}
.sp-letter-modal__grid{display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:start}
.sp-letter-modal__img{display:block;position:relative;border-radius:var(--r);overflow:hidden;
  border:1px solid var(--line);text-decoration:none}
.sp-letter-modal__img img{width:100%;display:block}
.sp-letter-modal__zoom{position:absolute;left:0;right:0;bottom:0;
  background:rgba(12,22,38,.72);color:#fff;font-size:12.5px;text-align:center;padding:8px;
  opacity:0;transition:opacity var(--dur) var(--ease)}
.sp-letter-modal__img:hover .sp-letter-modal__zoom{opacity:1}
.sp-letter-modal__text h3{font-size:20px;font-weight:800;color:var(--ink);margin:0 0 4px;line-height:1.3}
.sp-letter-modal__person{font-size:13px;color:var(--brand);margin-bottom:16px}
.sp-letter-modal__body{font-size:14.5px;color:var(--ink-2);line-height:1.7;
  max-height:50vh;overflow-y:auto}
.sp-letter-modal__body p{margin:0 0 12px}

/* --- CTA --- */
.sp-rv-cta{display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;
  background:linear-gradient(135deg,var(--ink),var(--brand-dk));color:#fff;
  border-radius:var(--r-lg);padding:32px 36px;margin:32px 0 48px;box-shadow:var(--sh-lg)}
.sp-rv-cta h2{font-size:23px;font-weight:800;margin:0 0 8px;color:#fff}
.sp-rv-cta p{font-size:15px;color:rgba(255,255,255,.8);margin:0;line-height:1.55;max-width:520px}

/* --- SEO --- */
.sp-rv-seo{padding:44px 0;background:var(--card);border-top:1px solid var(--line)}

/* --- адаптив --- */
@media(max-width:900px){
  .sp-letters-list{grid-template-columns:1fr}
}
@media(max-width:600px){
  .sp-reviews-hero{padding:54px 0 48px}
  .sp-letter-item{grid-template-columns:96px 1fr;gap:14px;padding:14px}
  .sp-letter-item__company{font-size:15.5px}
  .sp-rv-embed{padding:16px}
  .sp-letter-modal__box{padding:20px}
  .sp-letter-modal__grid{grid-template-columns:1fr;gap:18px}
  .sp-letter-modal__img{max-width:220px;margin:0 auto}
  .sp-rv-cta{flex-direction:column;align-items:stretch;padding:24px 20px}
  .sp-rv-cta .sp-btn{width:100%;justify-content:center}
}

/* ============================================================
   Карточки отзывов клиентов (ручные)
   ============================================================ */
.sp-rv-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}

.sp-rv-card{position:relative;background:var(--card);border:1px solid var(--line);
  border-radius:var(--r-lg);padding:26px 24px 22px;box-shadow:var(--sh);
  display:flex;flex-direction:column;overflow:hidden;
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),
             border-color var(--dur) var(--ease)}
.sp-rv-card:hover{transform:translateY(-4px);box-shadow:var(--sh-lg);border-color:var(--brand-lt)}
/* синяя полоса сверху появляется при наведении */
.sp-rv-card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;
  background:var(--brand);transform:scaleX(0);transform-origin:left;
  transition:transform var(--dur) var(--ease)}
.sp-rv-card:hover::before{transform:scaleX(1)}

/* декоративная кавычка в углу */
.sp-rv-card__quote{position:absolute;right:16px;top:14px;color:var(--brand-soft);
  pointer-events:none;transition:color var(--dur) var(--ease)}
.sp-rv-card__quote svg{width:44px;height:44px;display:block}
.sp-rv-card:hover .sp-rv-card__quote{color:#dfe9ff}

/* звёзды */
.sp-rv-card__stars{display:flex;gap:3px;margin-bottom:14px;position:relative;z-index:1}
.sp-rv-card__stars svg{width:17px;height:17px;color:var(--line)}
.sp-rv-card__stars svg.is-on{color:#f5a623}

/* текст */
.sp-rv-card__text{font-size:14.5px;color:var(--ink-2);line-height:1.65;
  margin:0 0 20px;flex:1;position:relative;z-index:1}

/* подпись */
.sp-rv-card__foot{display:flex;align-items:center;gap:13px;margin-top:auto;
  padding-top:16px;border-top:1px solid var(--line-2)}
.sp-rv-card__ava{flex:none;width:46px;height:46px;border-radius:50%;
  background-size:cover;background-position:center;background-color:var(--bg-2)}
.sp-rv-card__ava--ini{display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--brand),var(--brand-dk));color:#fff;
  font-family:var(--f-display);font-weight:700;font-size:16px;letter-spacing:.02em}
.sp-rv-card__who{display:flex;flex-direction:column;min-width:0}
.sp-rv-card__name{font-size:15px;font-weight:700;color:var(--ink);line-height:1.3}
.sp-rv-card__meta{font-size:12.5px;color:var(--ink-3);margin-top:2px;line-height:1.35}

@media(max-width:980px){
  .sp-rv-cards{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .sp-rv-cards{grid-template-columns:1fr;gap:14px}
  .sp-rv-card{padding:20px 18px 18px}
  .sp-rv-card__quote svg{width:36px;height:36px}
  .sp-rv-card__text{font-size:14px}
}

/* лупа на миниатюре письма (клик → PhotoSwipe) */
.sp-letter-item__zoomlink{display:block;position:relative;width:100%;height:100%}
.sp-letter-item__zoomlink img{width:100%;height:100%;object-fit:cover;display:block}
.sp-letter-item__zoom{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(12,22,38,.42);color:#fff;opacity:0;transition:opacity var(--dur) var(--ease)}
.sp-letter-item__zoomlink:hover .sp-letter-item__zoom{opacity:1}
.sp-letter-item__zoom svg{width:30px;height:30px}
