/* === PDP V2 — Этап 1.0b: hero + sticky-nav + crumbs (по мокапу v11-pdp) === */

.pdp-main{
  background:#fafbfc;
  min-height:60vh;
  font-family:'Manrope', Inter, system-ui, sans-serif;
  color:var(--ink, #1a2330);
  padding:0 0 80px;
}
.pdp-main .container{
  max-width:1280px;
  margin:0 auto;
  padding:0 32px;
}

/* === CRUMBS === */
.pdp-crumbs{
  padding:18px 0 4px;
  color:var(--muted, #6c7785);
  font-size:13px;
}
.pdp-crumbs a{
  color:var(--muted, #6c7785);
  text-decoration:none;
}
.pdp-crumbs a:hover{ color:var(--navy, #13374f); }
.pdp-crumbs .sep{ margin:0 8px; color:#cdd4dd; }
.pdp-crumbs .here{ color:var(--ink, #1a2330); }

/* === HERO === */
.pdp-hero-block{ padding:14px 0 32px; }
.pdp-hero-grid{
  display:grid;
  grid-template-columns:1.6fr 1fr;
  gap:24px;
}
.pdp-hero-photo{
  position:relative;
  border-radius:20px;
  overflow:hidden;
  aspect-ratio:16/10;
  background:#0c2030;
  box-shadow:0 1px 2px rgba(19,55,79,.04), 0 8px 24px rgba(19,55,79,.06);
}
.pdp-hero-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.pdp-hero-photo-empty{
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  color:#5a7a92;
  font-size:14px;
}
/* === HERO: photo выравнивается по высоте карточки на 2-колоночном layout (29.05 hero-height-align) === */
@media (min-width:1024px){
  .pdp-hero-photo{ aspect-ratio:16/9; min-height:0; }
}

.pdp-badge-stack{
  position:absolute; left:20px; top:20px;
  display:flex; gap:8px; flex-wrap:wrap;
  z-index:2;
}
.pdp-pill{
  background:rgba(255,255,255,.92);
  color:var(--ink, #1a2330);
  padding:7px 12px; border-radius:999px;
  font-size:12px; font-weight:700;
  display:inline-flex; align-items:center; gap:6px;
  backdrop-filter:blur(8px);
  letter-spacing:.02em;
}
.pdp-pill--teal{ background:var(--teal, #17b7bf); color:#fff; }
.pdp-pill--green{ background:var(--green, #a3d977); color:var(--green-dark, #163d10); }

.pdp-hero-thumbs{
  position:absolute; left:20px; bottom:20px;
  display:flex; gap:6px;
  z-index:2;
}
.pdp-hero-thumb{
  width:60px; height:44px;
  border-radius:6px; overflow:hidden;
  border:2px solid rgba(255,255,255,.6);
  cursor:pointer;
  transition:border-color .15s;
}
.pdp-hero-thumb:hover{ border-color:#fff; }
.pdp-hero-thumb--active{ border-color:#fff; }
.pdp-hero-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }

.pdp-photo-count{
  position:absolute; right:20px; bottom:20px;
  background:rgba(0,0,0,.55); color:#fff;
  padding:8px 14px; border-radius:10px;
  font-size:13px; font-weight:600;
  display:inline-flex; gap:6px; align-items:center;
  backdrop-filter:blur(4px);
  z-index:2;
}

.pdp-hero-card{
  background:#fff; border-radius:20px; padding:28px;
  box-shadow:0 1px 2px rgba(19,55,79,.04), 0 8px 24px rgba(19,55,79,.06);
  display:flex; flex-direction:column; gap:18px;
}
.pdp-hero-title{
  font-size:34px; font-weight:800;
  line-height:1.1;
  color:var(--navy, #13374f);
  margin:0;
  letter-spacing:-.02em;
}
.pdp-hero-loc{
  display:inline-flex; align-items:center; gap:8px;
  color:var(--muted, #6c7785);
  font-size:14px;
  margin-top:6px;
  text-decoration:none;
  cursor:pointer;
  transition:color .15s ease;
}
a.pdp-hero-loc:hover{ color:var(--canon-teal, #17b7bf); }
a.pdp-hero-loc:hover span.pdp-hero-loc-txt{ text-decoration:underline; text-underline-offset:2px; }
.pdp-hero-meta{
  display:grid; grid-template-columns:1fr 1fr;
  gap:14px;
  padding:16px 0;
  border-top:1px solid #e6e8ec;
  border-bottom:1px solid #e6e8ec;
}
.pdp-hero-meta .item .lbl{
  font-size:11px;
  color:var(--muted, #6c7785);
  text-transform:uppercase;
  letter-spacing:.04em;
}
.pdp-hero-meta .item .val{
  font-size:15px; font-weight:600;
  margin-top:4px;
  color:var(--ink, #1a2330);
}

.pdp-hero-price{
  display:flex; align-items:center; gap:18px;
}
.pdp-hero-price-main{ display:flex; align-items:baseline; gap:8px; flex:0 0 auto; }
.pdp-hero-price .from{ color:var(--muted, #6c7785); font-size:14px; }
.pdp-hero-price .num{
  font-size:36px; font-weight:800;
  color:var(--navy, #13374f);
  letter-spacing:-.01em;
}
.pdp-hero-price .unit{ color:var(--muted, #6c7785); font-size:14px; }
/* Компактный список диапазонов цен по типам — справа от крупной цены */
.pdp-hero-ptypes{
  flex:1 1 auto; min-width:0;
  display:grid; grid-template-columns:auto auto;
  gap:2px 14px; align-content:center;
  padding-left:18px; border-left:1px solid #e6e8ec;
}
.pdp-hero-ptype{ display:contents; }
.pdp-hero-ptype .t{ font-size:12px; color:var(--muted, #6c7785); white-space:nowrap; }
.pdp-hero-ptype .v{ font-size:12.5px; font-weight:700; color:var(--navy, #13374f); white-space:nowrap; text-align:right; }
.pdp-hero-ptype .v .u{ font-weight:600; color:var(--muted, #6c7785); font-size:11px; }

.pdp-hero-checks{ display:flex; flex-wrap:wrap; gap:10px; }
.pdp-check{
  display:inline-flex; align-items:center; gap:6px;
  font-size:12px;
  color:var(--ink-2, #3a4754);
  background:#eef7f1;
  padding:6px 12px; border-radius:999px;
  font-weight:600;
}
.pdp-check svg{ color:#3a8a44; }

.pdp-hero-stat-row{
  display:grid; grid-template-columns:1fr 1fr;
  gap:14px;
}
.pdp-hero-stat{
  background:#f5f7fa;
  border-radius:12px;
  padding:8px 14px;
}
.pdp-hero-stat .num{
  font-size:20px; font-weight:800;
  color:var(--navy, #13374f);
  line-height:1;
}
.pdp-hero-stat .lbl{
  font-size:11px;
  color:var(--muted, #6c7785);
  margin-top:2px;
}
.pdp-hero-stat-bar{
  margin-top:5px;
  height:4px;
  background:#dee5eb;
  border-radius:2px;
  overflow:hidden;
}
.pdp-hero-stat-bar span{
  display:block; height:100%;
  background:linear-gradient(90deg, var(--teal, #17b7bf), var(--green, #a3d977));
  border-radius:2px;
}

.pdp-hero-cta{ display:flex; gap:10px; }
.pdp-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:12px 22px; border-radius:12px;
  font-weight:700; font-size:15px;
  border:1px solid transparent;
  transition:all .15s ease;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
  font-family:inherit;
}
.pdp-btn--primary{
  background:var(--green, #a3d977);
  color:var(--green-dark, #163d10);
  border-color:var(--green, #a3d977);
  flex:1;
}
.pdp-btn--primary:hover{ background:#8cc55f; border-color:#8cc55f; }
.pdp-btn--ghost{
  background:#fff;
  color:var(--navy, #13374f);
  border-color:#e6e8ec;
  flex:1;
}
.pdp-btn--ghost:hover{ border-color:var(--navy, #13374f); }
.pdp-btn--sm{ padding:8px 14px; font-size:13px; }

/* === STICKY SUBNAV === */
.pdp-subnav{
  /* Прилипает 2-й шапкой ПОД основным sticky-хедером (66px, z50). top=высота хедера */
  position:sticky; top:66px; z-index:40;
  background:#fff;
  border-top:1px solid #e6e8ec;
  border-bottom:1px solid #e6e8ec;
  padding:12px 0;
  box-shadow:0 2px 8px rgba(19,55,79,.03);
  transition:padding .15s ease;
}
/* Якорный переход (subnav-ссылки + ссылка локации в HERO): заголовок секции
   не должен прятаться под стек «хедер(66) + залипшая subnav(~46)». */
.pdp-main section[id]{ scroll-margin-top:124px; }
/* −30% высоты ТОЛЬКО когда subnav прилипла 2-й шапкой (класс вешает JS onScroll).
   В обычном потоке страницы высота навигации остаётся полной. */
.pdp-subnav--stuck{ padding:5px 0; }
.pdp-subnav--stuck .pdp-icon-btn{ width:32px; height:32px; border-radius:8px; }
.pdp-subnav--stuck .pdp-icon-btn svg{ width:16px; height:16px; }
.pdp-subnav--stuck .pdp-btn--sm{ padding:6px 16px; font-size:13px; border-radius:9px; }
.pdp-subnav--stuck .pdp-subnav-link{ padding:4px 0; }
.pdp-subnav--stuck .pdp-subnav-more > summary.pdp-subnav-more-btn{ padding:4px 0; }
.pdp-subnav-row{
  display:flex; align-items:center; gap:18px;
  position:relative;
}
.pdp-subnav-anchors{
  display:flex; gap:22px;
  font-size:14px;
  color:var(--ink-2, #3a4754);
  overflow-x:auto;
  scrollbar-width:thin;
}
.pdp-subnav-anchors::-webkit-scrollbar{ height:4px; }
.pdp-subnav-anchors::-webkit-scrollbar-thumb{ background:#cdd4dd; border-radius:2px; }
.pdp-subnav-link{
  padding:6px 0;
  color:var(--ink-2, #3a4754);
  text-decoration:none;
  border-bottom:2px solid transparent;
  white-space:nowrap;
  font-weight:500;
  transition:all .12s;
}
.pdp-subnav-link:hover{ color:var(--navy, #13374f); }
.pdp-subnav-link--active{
  color:var(--navy, #13374f);
  font-weight:700;
  border-bottom-color:var(--green, #a3d977);
}
.pdp-subnav-cta{
  display:flex; gap:8px; align-items:center;
  flex-shrink:0;
  margin-left:auto;
}
.pdp-subnav-price{
  font-weight:700;
  color:var(--navy, #13374f);
  font-size:14px;
  margin-right:8px;
}
/* === SUBNAV «Ещё ▼» dropdown (29.05 subnav-cleanup) === */
.pdp-subnav-more{ position:relative; flex-shrink:0; }
.pdp-subnav-more > summary.pdp-subnav-more-btn{
  list-style:none; cursor:pointer;
  padding:6px 0;
  color:var(--ink-2, #3a4754);
  border-bottom:2px solid transparent;
  white-space:nowrap; font-weight:500; font-size:14px;
  display:inline-flex; align-items:center; gap:5px;
  transition:color .12s;
  user-select:none;
}
.pdp-subnav-more > summary::-webkit-details-marker{ display:none; }
.pdp-subnav-more > summary::marker{ content:''; }
.pdp-subnav-more > summary.pdp-subnav-more-btn:hover{ color:var(--navy, #13374f); }
.pdp-subnav-more[open] > summary.pdp-subnav-more-btn{
  color:var(--navy, #13374f); font-weight:700;
}
.pdp-subnav-more.pdp-subnav-more--active > summary.pdp-subnav-more-btn{
  color:var(--navy, #13374f); font-weight:700;
  border-bottom-color:var(--green, #a3d977);
}
.pdp-subnav-more > summary svg{ transition:transform .15s; }
.pdp-subnav-more[open] > summary svg{ transform:rotate(180deg); }
.pdp-subnav-more-menu{
  position:absolute; top:calc(100% + 10px); right:0;
  background:#fff;
  border:1px solid #e6e8ec; border-radius:12px;
  box-shadow:0 10px 28px rgba(19,55,79,.10);
  padding:6px; min-width:200px;
  display:flex; flex-direction:column;
  z-index:50;
}
.pdp-subnav-more-link{
  padding:8px 12px !important;
  border-bottom:none !important;
  border-radius:8px;
  white-space:nowrap;
  color:var(--ink-2, #3a4754);
  font-size:14px;       /* как у ссылок 2-й шапки */
  font-weight:500;
}
.pdp-subnav-more-link:hover{
  background:#f4f6f8;
  color:var(--navy, #13374f);
}
.pdp-subnav-more-link.pdp-subnav-link--active{
  color:var(--navy, #13374f);
  font-weight:700;
}
@media (max-width:760px){
  .pdp-subnav-more-menu{ right:auto; left:0; }
}

.pdp-icon-btn{
  width:40px; height:40px; border-radius:10px;
  display:inline-flex; align-items:center; justify-content:center;
  background:#e6f7f8;
  color:var(--navy, #13374f);
  text-decoration:none;
  transition:all .15s;
}
.pdp-icon-btn:hover{
  background:var(--teal, #17b7bf);
  color:#fff;
}
.pdp-icon-btn svg{ width:18px; height:18px; }
.pdp-icon-btn--tg{ background:#229ED9; color:#fff; }
.pdp-icon-btn--tg:hover{ background:#1d8bc1; color:#fff; }

/* === SECTION FLATS === */
.pdp-section-flats{
  padding:48px 0;
  background:#fafbfc; /* как фон hero (.pdp-main--canon) — единый светлый, объём дают тени карточек */
}
.pdp-section-head{
  display:flex; justify-content:space-between;
  align-items:flex-end;
  margin-bottom:28px;
  gap:24px; flex-wrap:wrap;
}
.pdp-section-head h2{
  font-size:30px; font-weight:700;
  color:var(--navy, #13374f);
  margin:0;
  letter-spacing:-.01em;
}
.pdp-section-sub{
  color:var(--muted, #6c7785);
  margin-top:6px;
  font-size:15px;
}
.pdp-section-sub strong{ color:var(--ink, #1a2330); }
.pdp-section-aside{
  color:var(--muted, #6c7785);
  font-size:13px;
}

/* === TIMELINE ОЧЕРЕДЕЙ (карточки) === */
.pdp-timeline{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:4px 4px 12px;
  margin:0 -4px 24px;
  scrollbar-width:thin;
}
.pdp-timeline::-webkit-scrollbar{ height:6px; }
.pdp-timeline::-webkit-scrollbar-thumb{ background:#cdd4dd; border-radius:3px; }
.pdp-och{
  flex:1 0 130px;
  min-width:130px;
  padding:14px 16px;
  border-radius:14px;
  background:#fff;
  border:2px solid #e6e8ec;
  text-decoration:none;
  color:var(--ink, #1a2330);
  transition:all .15s ease;
  display:flex; flex-direction:column; gap:4px;
}
.pdp-och:hover{
  border-color:#cdd4dd;
  transform:translateY(-1px);
}
.pdp-och--active{
  background:var(--navy, #13374f);
  border-color:var(--navy, #13374f);
  color:#fff;
  box-shadow:0 4px 16px rgba(19,55,79,.16);
}
.pdp-och--active:hover{ background:var(--navy, #13374f); transform:translateY(-1px); }
.pdp-och--sold{ opacity:.55; }
.pdp-och--sold.pdp-och--active{ opacity:1; }
.pdp-och-label{
  font-size:13px; font-weight:700;
  text-transform:uppercase; letter-spacing:.04em;
}
.pdp-och-meta{ display:flex; align-items:baseline; gap:4px; margin-top:2px; }
.pdp-och-free{
  font-size:20px; font-weight:800;
  color:inherit;
}
.pdp-och--active .pdp-och-free{ color:#fff; }
.pdp-och-of{ font-size:11px; color:var(--muted, #6c7785); }
.pdp-och--active .pdp-och-of{ color:rgba(255,255,255,.7); }
.pdp-och-status{ font-size:13px; font-weight:600; }
.pdp-och-status--sold{ color:var(--muted, #6c7785); }
.pdp-och--active .pdp-och-status--sold{ color:rgba(255,255,255,.85); }
.pdp-och-sub{ font-size:11px; color:var(--muted, #6c7785); }
.pdp-och--active .pdp-och-sub{ color:rgba(255,255,255,.65); }

/* === ЛИТЕРЫ === */
.pdp-litery-head{
  display:flex; align-items:baseline;
  justify-content:space-between;
  gap:16px;
  margin:0 0 16px;
  flex-wrap:wrap;
}
.pdp-litery-head h3{
  margin:0;
  font-size:18px; font-weight:700;
  color:var(--navy, #13374f);
}
.pdp-litery-meta{ font-size:14px; color:var(--muted, #6c7785); }

.pdp-litery-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(180px, 1fr));
  gap:12px;
  margin-bottom:32px;
}
.pdp-liter{
  display:block;
  padding:14px 16px;
  border-radius:12px;
  background:#fff;
  border:2px solid #e6e8ec;
  text-decoration:none;
  color:var(--ink, #1a2330);
  transition:all .15s ease;
}
.pdp-liter:hover{
  border-color:var(--teal, #17b7bf);
  transform:translateY(-1px);
  box-shadow:0 4px 16px rgba(23,183,191,.12);
}
.pdp-liter--active{
  border-color:var(--navy, #13374f);
  background:linear-gradient(180deg, #fff 0%, #f0f6fa 100%);
  box-shadow:0 4px 16px rgba(19,55,79,.12);
}
.pdp-liter--sold{ opacity:.5; }
.pdp-liter-head{
  display:flex; align-items:baseline;
  justify-content:space-between;
  gap:8px;
  margin-bottom:8px;
}
.pdp-liter-name{
  font-size:15px; font-weight:700;
  color:var(--navy, #13374f);
}
.pdp-liter-srok{
  font-size:11px;
  color:var(--muted, #6c7785);
  white-space:nowrap;
}
.pdp-liter-bar{
  height:4px;
  background:#eef2f5;
  border-radius:2px;
  overflow:hidden;
  margin-bottom:10px;
}
.pdp-liter-bar-fill{
  display:block; height:100%;
  background:linear-gradient(90deg, var(--green, #a3d977) 0%, var(--teal, #17b7bf) 100%);
  border-radius:2px;
}
.pdp-liter--sold .pdp-liter-bar-fill{ background:#cdd4dd; }
.pdp-liter-meta{
  display:flex; align-items:baseline;
  justify-content:space-between;
  gap:8px;
  font-size:12px;
}
.pdp-liter-free{ color:var(--ink-2, #3a4754); font-weight:600; }
.pdp-liter-price{ color:var(--navy, #13374f); font-weight:700; }
.pdp-liter-status{ color:var(--muted, #6c7785); font-style:italic; }

/* === ЗАГЛУШКА КОНТЕНТА ЛИТЕРА === */
.pdp-liter-content{
  background:#fff;
  border-radius:16px;
  padding:24px;
  margin-top:16px;
  box-shadow:0 1px 2px rgba(19,55,79,.04), 0 8px 24px rgba(19,55,79,.06);
}
.pdp-liter-content-head h3{
  margin:0 0 4px;
  font-size:20px;
  color:var(--navy, #13374f);
}
.pdp-liter-content-sub{
  margin:0 0 20px;
  font-size:14px;
  color:var(--muted, #6c7785);
}
.pdp-liter-content-sub strong{ color:var(--ink, #1a2330); }
.pdp-tabs{
  display:flex; gap:8px;
  margin-bottom:16px;
  flex-wrap:wrap;
}
.pdp-tab{
  padding:10px 16px;
  border-radius:10px;
  border:1px solid #e6e8ec;
  background:#fff;
  font-size:14px; font-weight:600;
  color:var(--ink-2, #3a4754);
  cursor:pointer;
  font-family:inherit;
}
.pdp-tab--disabled{ opacity:.5; cursor:not-allowed; }
.pdp-placeholder-msg{
  padding:20px;
  background:#f5f7fa;
  border-radius:12px;
  border-left:4px solid var(--teal, #17b7bf);
  font-size:14px;
  color:var(--muted, #6c7785);
  line-height:1.55;
}
.pdp-placeholder-msg strong{ color:var(--ink, #1a2330); }

/* === RESPONSIVE === */
@media (max-width: 1023px){
  .pdp-hero-grid{ grid-template-columns:1fr; }
  .pdp-hero-photo{ aspect-ratio:16/9; }
  .pdp-subnav-cta .pdp-subnav-price{ display:none; }
  .pdp-subnav-cta .pdp-btn--sm{ display:none; }
  /* мобильный хедер ниже (60px) → subnav липнет под ним */
  .pdp-subnav{ top:60px; }
  .pdp-main section[id]{ scroll-margin-top:116px; }
}
@media (max-width: 768px){
  .pdp-main .container{ padding:0 16px; }
  .pdp-hero-block{ padding:8px 0 24px; }
  .pdp-hero-card{ padding:20px; border-radius:16px; }
  .pdp-hero-title{ font-size:26px; }
  .pdp-hero-price .num{ font-size:28px; }
  .pdp-hero-meta{ grid-template-columns:1fr 1fr; gap:10px; padding:12px 0; }
  .pdp-hero-meta .item .val{ font-size:14px; }
  .pdp-hero-stat-row{ grid-template-columns:1fr 1fr; gap:8px; }
  .pdp-hero-stat .num{ font-size:18px; }
  .pdp-section-flats{ padding:32px 0; }
  .pdp-section-head h2{ font-size:22px; }
  .pdp-litery-grid{ grid-template-columns:repeat(2, 1fr); gap:8px; }
  .pdp-liter{ padding:12px; }
  .pdp-liter-name{ font-size:14px; }
  .pdp-och{ flex:0 0 auto; min-width:110px; padding:10px 12px; }
  .pdp-och-free{ font-size:16px; }
  .pdp-subnav{ padding:8px 0; }
}
/* === PDP V2 — Этап 1.1: раздел Шахматка (строго по мокапу v11-pdp #shah) === */

.pdp-shah-filters{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:22px;
}
.pdp-chip{
  background:#fff;
  border:1px solid #e6e8ec;
  padding:10px 16px;
  border-radius:999px;
  font-size:14px;
  color:var(--ink-2, #3a4754);
  display:inline-flex;
  gap:6px;
  align-items:center;
  text-decoration:none;
  transition:all .12s;
  font-weight:600;
}
.pdp-chip:hover{ border-color:#cdd4dd; }
.pdp-chip .count{
  color:var(--muted, #6c7785);
  font-weight:500;
  font-size:13px;
}
.pdp-chip--active{
  background:var(--navy, #13374f);
  color:#fff;
  border-color:var(--navy, #13374f);
}
.pdp-chip--active .count{ color:rgba(255,255,255,.7); }
.pdp-chip--disabled{
  opacity:.55;
  cursor:not-allowed;
  pointer-events:none;
}

.pdp-shah-card{
  background:#fff;
  border-radius:20px;
  padding:24px;
  box-shadow:0 1px 2px rgba(19,55,79,.04), 0 8px 24px rgba(19,55,79,.06);
}

.pdp-shah-tabs{
  display:flex;
  gap:4px;
  padding:4px;
  background:#f5f7fa;
  border-radius:10px;
  margin-bottom:20px;
  width:fit-content;
  max-width:100%;
  overflow-x:auto;
}
.pdp-shah-tab{
  padding:10px 18px;
  background:transparent;
  border:0;
  border-radius:8px;
  font-size:14px;
  font-weight:600;
  color:var(--ink-2, #3a4754);
  text-decoration:none;
  white-space:nowrap;
  display:inline-flex;
  align-items:center;
  gap:8px;
  transition:all .12s;
}
.pdp-shah-tab:hover{ color:var(--navy, #13374f); }
.pdp-shah-tab--active{
  background:#fff;
  color:var(--navy, #13374f);
  box-shadow:0 1px 3px rgba(0,0,0,.07);
}
.pdp-shah-tab-free{
  font-size:12px;
  background:#e6f7f8;
  color:var(--navy, #13374f);
  padding:2px 8px;
  border-radius:999px;
  font-weight:700;
}
.pdp-shah-tab--active .pdp-shah-tab-free{
  background:#eef7f1;
  color:#3a8a44;
}

.pdp-shah-mobile-hint{
  display:none;
  font-size:13px;
  color:var(--muted, #6c7785);
  background:#f5f7fa;
  padding:10px 14px;
  border-radius:8px;
  margin-bottom:14px;
  text-align:center;
}

.pdp-shah-floors-wrap{
  overflow-x:auto;
  margin:0 -8px;
  padding:0 8px 4px;
  scrollbar-width:thin;
}
.pdp-shah-floors-wrap::-webkit-scrollbar{ height:8px; }
.pdp-shah-floors-wrap::-webkit-scrollbar-thumb{ background:#cdd4dd; border-radius:4px; }

.pdp-shah-floors{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:min-content;
}
.pdp-shah-floor{
  display:grid;
  grid-template-columns:30px 1fr;
  gap:10px;
  align-items:center;
}
.pdp-shah-floor-num{
  font-size:11px;
  color:var(--muted, #6c7785);
  font-weight:600;
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.pdp-shah-row{
  display:grid;
  grid-template-columns:repeat(var(--shah-cols, 20), minmax(20px, 1fr));
  gap:3px;
}
.pdp-shah-cell{
  aspect-ratio:1;
  border-radius:3px;
  background:#a3d977;
  position:relative;
  cursor:pointer;
  transition:transform .08s, box-shadow .08s;
  min-width:18px;
}
.pdp-shah-cell:hover{
  transform:scale(1.15);
  z-index:2;
  box-shadow:0 4px 8px rgba(19,55,79,.2);
}
.pdp-shah-cell--free{ background:#a3d977; }
.pdp-shah-cell--reserved{ background:#f3a14b; }
.pdp-shah-cell--sold{ background:#cfd5dc; cursor:default; }
.pdp-shah-cell--sold:hover{ transform:none; box-shadow:none; }
.pdp-shah-cell--empty{ background:transparent; cursor:default; }
.pdp-shah-cell--empty:hover{ transform:none; box-shadow:none; }
.pdp-shah-cell--dim{ opacity:.25; }

.pdp-shah-legend{
  display:flex;
  gap:18px;
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid #e6e8ec;
  font-size:13px;
  color:var(--ink-2, #3a4754);
  flex-wrap:wrap;
  align-items:center;
}
.pdp-shah-lg{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.pdp-shah-lg strong{ color:var(--navy, #13374f); }
.pdp-shah-lg--hint{
  margin-left:auto;
  color:var(--muted, #6c7785);
  font-style:italic;
}
.pdp-shah-sw{
  width:14px;
  height:14px;
  border-radius:3px;
  display:inline-block;
}
.pdp-shah-sw--free{ background:#a3d977; }
.pdp-shah-sw--reserved{ background:#f3a14b; }
.pdp-shah-sw--sold{ background:#cfd5dc; }

/* === RESPONSIVE === */
@media (max-width: 1023px){
  .pdp-shah-row{ grid-template-columns:repeat(var(--shah-cols, 20), 28px); }
  .pdp-shah-cell{ min-width:28px; }
  .pdp-shah-mobile-hint{ display:block; }
}
@media (max-width: 768px){
  .pdp-shah-card{ padding:16px; border-radius:14px; }
  .pdp-shah-tabs{ padding:3px; }
  .pdp-shah-tab{ padding:8px 12px; font-size:13px; }
  .pdp-shah-row{ grid-template-columns:repeat(var(--shah-cols, 20), 24px); gap:2px; }
  .pdp-shah-cell{ min-width:24px; }
  .pdp-shah-legend{ font-size:12px; gap:12px; }
  .pdp-shah-lg--hint{ display:none; }
}
/* === PDP V2 — Этап 1.2: раздел #plans (по мокапу v11-pdp) === */

.pdp-section-plans{
  padding:48px 0;
  background:#fff;
}

.pdp-plans-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:18px;
  margin-top:8px;
}

.pdp-plan{
  background:#fff;
  border-radius:14px;
  border:1px solid #e6e8ec;
  overflow:hidden;
  transition:all .15s ease;
  display:flex;
  flex-direction:column;
}
.pdp-plan:hover{
  border-color:transparent;
  box-shadow:0 1px 2px rgba(19,55,79,.04), 0 8px 24px rgba(19,55,79,.10);
  transform:translateY(-2px);
}

.pdp-plan-img{
  aspect-ratio:1;
  background:#f5f7fa;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  overflow:hidden;
}
.pdp-plan-img img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.pdp-plan-img-empty{
  color:#cdd4dd;
  font-size:14px;
}

.pdp-plan-body{
  padding:16px 18px;
  flex:1;
}
.pdp-plan-row1{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  font-size:13px;
  color:var(--muted, #6c7785);
  margin-bottom:6px;
}
.pdp-plan-type{
  font-weight:600;
  color:var(--ink-2, #3a4754);
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:12px;
}
.pdp-plan-area{
  font-size:14px;
  font-weight:700;
  color:var(--ink, #1a2330);
}
.pdp-plan-price{
  font-size:22px;
  font-weight:800;
  color:var(--navy, #13374f);
  margin:8px 0 12px;
  letter-spacing:-.01em;
}
.pdp-plan-row2{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  margin-top:8px;
  font-size:13px;
  color:var(--muted, #6c7785);
}
.pdp-plan-floor{
  color:var(--ink-2, #3a4754);
}
.pdp-plan-count{
  color:var(--muted, #6c7785);
}

.pdp-plan-cta{
  display:flex;
  padding:0 18px 18px;
  gap:8px;
}
.pdp-plan-cta .pdp-btn{
  flex:1;
  padding:10px 12px;
  font-size:13px;
}

/* === RESPONSIVE === */
@media (max-width: 1023px){
  .pdp-plans-grid{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width: 600px){
  .pdp-plans-grid{ grid-template-columns:1fr; }
  .pdp-plan-img{ aspect-ratio:16/9; }
  .pdp-section-plans{ padding:32px 0; }
}
/* === PDP V2 — Этапы 2-3: about + loc + mort + rem + sim + mgr + reviews + faq === */

/* ===== ABOUT ===== */
.pdp-section-about{
  padding:48px 0;
  background:#eef7f1;
}
.pdp-about-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:36px;
  align-items:start;
}
.pdp-about-text{
  font-size:15px;
  line-height:1.65;
  color:var(--ink-2, #3a4754);
}
.pdp-about-text p{ margin:0 0 14px; }
.pdp-about-lead{
  font-size:17px;
  font-weight:500;
  color:var(--ink, #1a2330);
  margin-bottom:22px;
}
.pdp-about-detail{
  font-size:15px;
  line-height:1.7;
}
.pdp-about-detail h2, .pdp-about-detail h3, .pdp-about-detail h4{
  color:var(--navy, #13374f);
  margin:26px 0 10px;
  font-weight:700;
  letter-spacing:-.005em;
  font-size:20px;
}
.pdp-about-detail h3:first-child, .pdp-about-detail h2:first-child{ margin-top:0; }
.pdp-about-detail p{ margin:0 0 14px; }
.pdp-about-detail ul, .pdp-about-detail ol{ padding-left:22px; margin:0 0 14px; }
.pdp-about-detail li{ margin-bottom:6px; }
.pdp-about-detail img{ max-width:100%; height:auto; border-radius:10px; margin:12px 0; }

.pdp-about-stats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:24px;
}
.pdp-about-stat{
  background:#fff;
  border:1px solid #e6e8ec;
  padding:16px 18px;
  border-radius:14px;
}
.pdp-about-stat .num{
  font-size:22px;
  font-weight:800;
  color:var(--navy, #13374f);
}
.pdp-about-stat .lbl{
  font-size:12px;
  color:var(--muted, #6c7785);
  margin-top:4px;
}

.pdp-about-video{
  position:relative;
  aspect-ratio:16/10;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(19,55,79,.10);
  background:#000;
}
.pdp-about-video iframe,
.pdp-about-video img{
  width:100%;
  height:100%;
  border:0;
  display:block;
  object-fit:cover;
}
.pdp-about-video-cap{
  position:absolute;
  left:18px; bottom:18px;
  color:#fff;
  font-size:13px;
  font-weight:600;
  background:rgba(0,0,0,.5);
  padding:6px 12px;
  border-radius:8px;
  backdrop-filter:blur(4px);
  pointer-events:none;
}

/* ===== LOCATION ===== */
.pdp-section-loc{
  padding:48px 0;
  background:#fff;
}
.pdp-loc-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:24px;
  align-items:stretch;
}
.pdp-loc-map{
  border-radius:20px;
  height:100%;
  min-height:420px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(19,55,79,.10);
  background:#e8eef0;
  position:relative;
}
.pdp-loc-map iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}
.pdp-loc-map-empty{
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  color:#9aa5b1;
  font-size:14px;
}
.pdp-loc-note{
  margin-top:16px;
  padding:12px 16px;
  background:#fff8e1;
  border-left:4px solid #d4a93b;
  border-radius:8px;
  font-size:13px;
  color:var(--muted, #6c7785);
}

.pdp-nearby{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.pdp-nearby-item{
  background:#fff;
  border:1px solid #eef1f4;
  border-radius:14px;
  box-shadow:0 8px 24px rgba(19,55,79,.10);
  padding:14px 16px;
  display:flex;
  align-items:center;
  gap:14px;
}
.pdp-nearby-item .ic{
  width:40px; height:40px;
  border-radius:10px;
  background:#e6f7f8;
  color:var(--navy, #13374f);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.pdp-nearby-item .ic svg{ width:20px; height:20px; }
.pdp-nearby-item .lbl{
  font-size:12px;
  color:var(--muted, #6c7785);
  text-transform:uppercase;
  letter-spacing:.04em;
}
.pdp-nearby-item .val{
  font-size:14px;
  color:var(--ink, #1a2330);
  font-weight:500;
  margin-top:2px;
}

/* ===== MORTGAGE ===== */
.pdp-section-mort{
  padding:48px 0;
  background:#eef5fb;
}
.pdp-mort-card{
  background:#fff;
  border-radius:24px;
  padding:32px;
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:32px;
  box-shadow:0 8px 24px rgba(19,55,79,.08);
}
.pdp-mort-controls{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.pdp-mort-row .head{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  margin-bottom:8px;
}
.pdp-mort-row .lbl{
  font-size:12px;
  color:var(--muted, #6c7785);
  text-transform:uppercase;
  letter-spacing:.04em;
}
.pdp-mort-row .val{
  font-size:16px;
  font-weight:700;
  color:var(--navy, #13374f);
}
.pdp-mort-row .range{
  position:relative;
  height:6px;
  background:#e6e8ec;
  border-radius:3px;
}
.pdp-mort-row .range .fill{
  position:absolute;
  left:0; top:0; bottom:0;
  background:var(--green, #a3d977);
  border-radius:3px;
}
.pdp-mort-row .range .knob{
  position:absolute;
  top:50%;
  transform:translate(-50%,-50%);
  width:18px; height:18px;
  background:#fff;
  border:3px solid var(--green, #a3d977);
  border-radius:50%;
  box-shadow:0 2px 6px rgba(0,0,0,.15);
}
.pdp-mort-progs{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.pdp-mort-result{
  background:linear-gradient(135deg, #eef7f1 0%, #d8ecdb 100%);
  border-radius:18px;
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.pdp-mort-result .lbl{
  font-size:12px;
  color:var(--ink-2, #3a4754);
  text-transform:uppercase;
  letter-spacing:.04em;
  font-weight:600;
}
.pdp-mort-result .num{
  font-size:36px;
  font-weight:800;
  color:#163d10;
  letter-spacing:-.01em;
  margin-top:6px;
}
.pdp-mort-result .num .unit{
  font-size:16px;
  color:var(--ink-2, #3a4754);
  font-weight:600;
}
.pdp-mort-result .meta{
  font-size:12px;
  color:var(--ink-2, #3a4754);
  margin-top:6px;
}
.pdp-mort-banks{
  display:flex;
  gap:10px;
  margin-top:24px;
  flex-wrap:wrap;
}
.pdp-bank{
  background:#fff;
  border:1px solid #e6e8ec;
  border-radius:10px;
  padding:8px 14px;
  font-size:13px;
  color:var(--ink-2, #3a4754);
  font-weight:600;
}
.pdp-bank .rate{
  color:#163d10;
  font-weight:700;
}

/* ===== REMONT ===== */
.pdp-section-rem{
  padding:48px 0;
  background:#fff;
}
.pdp-rem-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
}
.pdp-rem-card{
  background:#fff;
  border:1px solid #eae4d6;
  border-radius:20px;
  padding:28px;
  position:relative;
  overflow:hidden;
  box-shadow:0 1px 2px rgba(19,55,79,.04), 0 10px 28px rgba(19,55,79,.09);
  transition:transform .2s;
}
.pdp-rem-card:hover{ transform:translateY(-3px); }
.pdp-rem-card--featured{
  border:2px solid var(--green, #a3d977);
  box-shadow:0 1px 2px rgba(22,61,16,.06), 0 18px 40px rgba(22,61,16,.16);
  transform:translateY(-6px);
}
.pdp-rem-card .tag{
  position:absolute;
  right:16px; top:16px;
  background:var(--green, #a3d977);
  color:#163d10;
  padding:4px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.pdp-rem-card h3{
  font-size:20px;
  margin:0 0 6px;
  color:var(--navy, #13374f);
}
.pdp-rem-card .price{
  font-size:28px;
  font-weight:800;
  color:var(--ink, #1a2330);
  margin:14px 0 4px;
}
.pdp-rem-card .price .u{
  font-size:14px;
  color:var(--muted, #6c7785);
  font-weight:500;
}
.pdp-rem-card .term{
  font-size:13px;
  color:var(--muted, #6c7785);
}
.pdp-rem-card ul{
  padding:18px 0 0;
  margin:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.pdp-rem-card li{
  font-size:14px;
  color:var(--ink-2, #3a4754);
  display:flex;
  gap:8px;
  align-items:flex-start;
}
.pdp-rem-card li::before{
  content:'\2713';
  color:#3a8a44;
  font-weight:700;
  flex-shrink:0;
}
.pdp-rem-card .pdp-btn{
  margin-top:18px;
  width:100%;
}

/* ===== SIMILAR ===== */
.pdp-section-sim{
  padding:48px 0;
  background:#f5f1ea;
}
/* ===== СЛАЙДЕР «Похожие ЖК» ===== */
.pdp-sim-track{
  display:flex;
  gap:18px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -ms-overflow-style:none;
  padding:4px 2px 8px;
}
.pdp-sim-track::-webkit-scrollbar{ display:none; }
.pdp-sim-track:focus-visible{ outline:2px solid var(--teal,#17b7bf); outline-offset:3px; border-radius:16px; }
/* стрелки навигации (в шапке секции, на месте бывшей кнопки «Сравнить») */
.pdp-sim-nav{ display:flex; gap:8px; flex-shrink:0; }
.pdp-sim-arrow{
  width:42px; height:42px; flex:0 0 auto;
  display:flex; align-items:center; justify-content:center;
  border:1px solid #e6e8ec; border-radius:50%;
  background:#fff; color:var(--navy,#13374f);
  cursor:pointer;
  transition:background .15s, border-color .15s, color .15s, opacity .15s, box-shadow .15s;
}
.pdp-sim-arrow:hover{ background:#f1fbfb; border-color:#17b7bf; color:#17b7bf; box-shadow:0 4px 12px rgba(19,55,79,.10); }
.pdp-sim-arrow:focus-visible{ outline:2px solid var(--teal,#17b7bf); outline-offset:2px; }
.pdp-sim-arrow--prev .apr-ic{ transform:scaleX(-1); }
.pdp-sim-arrow[disabled]{ opacity:.35; pointer-events:none; }
/* блок комнатности «от–до» на карточке */
.pdp-sim-rooms{ margin-top:10px; padding-top:10px; border-top:1px solid #f0ece3; display:flex; flex-direction:column; gap:4px; }
.sim-room-row{ display:grid; grid-template-columns:auto 1fr auto; align-items:baseline; gap:8px; font-size:13px; line-height:1.5; }
.sim-room-row .t{ color:var(--navy,#13374f); font-weight:600; white-space:nowrap; }
.sim-room-row .d{ border-bottom:1px dotted #dbe1e7; transform:translateY(-3px); }
.sim-room-row .p{ color:var(--ink,#1a2330); font-weight:700; white-space:nowrap; }
.sim-room-row .p--na{ color:var(--muted,#6c7785); font-weight:500; }
@media (prefers-reduced-motion:reduce){ .pdp-sim-track{ scroll-behavior:auto; } }
.pdp-sim-card{
  flex:0 0 calc((100% - 36px) / 3);
  scroll-snap-align:start;
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(19,55,79,.10);
  transition:transform .15s;
  text-decoration:none;
  color:inherit;
  display:flex;
  flex-direction:column;
}
.pdp-sim-card:hover{ transform:translateY(-3px); }
.pdp-sim-img{
  aspect-ratio:5/3;
  position:relative;
  overflow:hidden;
  background:#f5f7fa;
}
.pdp-sim-img img{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
}
.pdp-sim-img-empty{
  width:100%; height:100%;
  display:flex; flex-direction:column; gap:6px; align-items:center; justify-content:center;
  color:#cdd4dd;
  font-size:13px;
}
.pdp-sim-img .pdp-pill{
  position:absolute;
  left:14px; top:14px;
  display:inline-flex; align-items:center; gap:4px;
}
.pdp-sim-body{
  padding:18px 20px;
  flex:1;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.pdp-sim-body .name{
  font-size:18px;
  font-weight:700;
  color:var(--navy, #13374f);
}
.pdp-sim-body .loc{
  font-size:13px;
  color:var(--muted, #6c7785);
  display:flex; align-items:center; gap:5px;
  overflow:hidden;
}
.pdp-sim-body .loc .apr-ic{ flex:0 0 auto; }
.pdp-sim-body .loc span{ overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.pdp-sim-body .price{
  font-size:20px;
  font-weight:800;
  color:var(--ink, #1a2330);
  margin-top:auto;
  padding-top:8px;
}

/* ===== MANAGER ===== */
.pdp-section-mgr{
  padding:48px 0;
  background:#eef5fb;
}
.pdp-mgr-card{
  background:#fff;
  border-radius:24px;
  overflow:hidden;
  display:grid;
  grid-template-columns:280px 1fr 1fr;
  box-shadow:0 8px 24px rgba(19,55,79,.10);
}
.pdp-mgr-photo{
  background:linear-gradient(135deg, #bcd7df, #90b8c5);
  position:relative;
  min-height:320px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.pdp-mgr-photo img{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
}
.pdp-mgr-initials{
  width:140px; height:140px;
  border-radius:50%;
  background:#fff;
  color:var(--navy, #13374f);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:46px;
  font-weight:800;
}
.pdp-mgr-info{
  padding:32px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.pdp-mgr-name{
  font-size:22px;
  font-weight:800;
  color:var(--navy, #13374f);
}
.pdp-mgr-position{
  font-size:13px;
  color:var(--muted, #6c7785);
  text-transform:uppercase;
  letter-spacing:.04em;
  font-weight:600;
}
.pdp-mgr-quote{
  font-size:15px;
  line-height:1.55;
  color:var(--ink-2, #3a4754);
  font-style:italic;
  margin:8px 0;
}
.pdp-mgr-channels{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:auto;
}
.pdp-mgr-channel{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 16px;
  border-radius:12px;
  text-decoration:none;
  font-weight:600;
  font-size:14px;
  transition:all .15s;
}
.pdp-mgr-channel svg{ width:18px; height:18px; flex-shrink:0; }
.pdp-mgr-channel--phone{
  background:#e6f7f8;
  color:var(--navy, #13374f);
}
.pdp-mgr-channel--phone:hover{ background:var(--teal, #17b7bf); color:#fff; }
.pdp-mgr-channel--tg{
  background:#229ED9;
  color:#fff;
}
.pdp-mgr-channel--tg:hover{ background:#1d8bc1; }
.pdp-mgr-channel--max{
  background:#7c4dff;
  color:#fff;
}
.pdp-mgr-channel--max:hover{ background:#6a3deb; }

.pdp-mgr-form{
  padding:32px;
  background:#f5f7fa;
}
.pdp-mgr-form h3{
  font-size:18px;
  color:var(--navy, #13374f);
  margin:0 0 6px;
}
.pdp-mgr-form p{
  font-size:13px;
  color:var(--muted, #6c7785);
  margin:0 0 16px;
}
.pdp-mgr-form-inner{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.pdp-mgr-form-inner input{
  padding:12px 16px;
  border-radius:10px;
  border:1px solid #e6e8ec;
  font-size:14px;
  font-family:inherit;
  outline:none;
  background:#fff;
}
.pdp-mgr-form-inner input:focus{
  border-color:var(--teal, #17b7bf);
  box-shadow:0 0 0 3px rgba(23,183,191,.12);
}
.pdp-mgr-form-inner button{
  margin-top:4px;
}
.pdp-mgr-form-hint{
  font-size:11px !important;
  color:var(--muted, #6c7785) !important;
  margin-top:6px !important;
}
.pdp-mgr-form-hint a{ color:var(--navy, #13374f); }

/* ===== REVIEWS ===== */
.pdp-section-reviews{
  padding:48px 0;
  background:#fff;
}
.pdp-reviews-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));
  gap:16px;
}
.pdp-review-card{
  background:#000;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(19,55,79,.10);
}
.pdp-review-frame{
  position:relative;
  aspect-ratio:16/9;
}
.pdp-review-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

/* ===== FAQ ===== */
.pdp-section-faq{
  padding:48px 0;
  background:#f5f7fa;
}
.pdp-section-faq .container{ max-width:920px; }
.pdp-faq-item{
  background:#fff;
  border:1px solid #e6e8ec;
  border-radius:14px;
  padding:0;
  margin-bottom:10px;
  overflow:hidden;
  transition:border-color .15s;
}
.pdp-faq-item[open]{
  border-color:var(--green, #a3d977);
  border-left:4px solid var(--green, #a3d977);
}
.pdp-faq-q{
  cursor:pointer;
  list-style:none;
  padding:18px 22px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  font-size:16px;
  font-weight:600;
  color:var(--navy, #13374f);
}
.pdp-faq-q::-webkit-details-marker{ display:none; }
.pdp-faq-icon{
  font-size:24px;
  font-weight:300;
  color:var(--muted, #6c7785);
  transition:transform .2s;
  flex-shrink:0;
}
.pdp-faq-item[open] .pdp-faq-icon{
  transform:rotate(45deg);
  color:var(--green, #a3d977);
}
.pdp-faq-a{
  padding:0 22px 22px;
  font-size:15px;
  line-height:1.65;
  color:var(--ink-2, #3a4754);
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1023px){
  .pdp-about-grid{ grid-template-columns:1fr; }
  .pdp-loc-grid{ grid-template-columns:1fr; }
  .pdp-loc-map{ aspect-ratio:16/10; height:auto; min-height:0; }
  .pdp-mort-card{ grid-template-columns:1fr; padding:24px; }
  .pdp-rem-grid{ grid-template-columns:1fr; gap:14px; }
  .pdp-rem-card--featured{ transform:none; }
  .pdp-sim-card{ flex-basis:calc((100% - 18px) / 2); }
  .pdp-mgr-card{ grid-template-columns:1fr; }
  .pdp-mgr-photo{ min-height:240px; }
  .pdp-mgr-info, .pdp-mgr-form{ padding:24px; }
}
@media (max-width: 600px){
  .pdp-section-about,
  .pdp-section-loc,
  .pdp-section-mort,
  .pdp-section-rem,
  .pdp-section-sim,
  .pdp-section-mgr,
  .pdp-section-reviews,
  .pdp-section-faq{ padding:32px 0; }
  .pdp-about-stats{ grid-template-columns:1fr; }
  .pdp-sim-card{ flex-basis:82%; }
  .pdp-mort-banks{ gap:6px; }
  .pdp-bank{ padding:6px 10px; font-size:12px; }
  .pdp-faq-q{ font-size:15px; padding:16px 18px; }
  .pdp-faq-a{ padding:0 18px 18px; font-size:14px; }
}

/* AP-R 2026-05-28: вторая строка ячейки «Сдача» (apr-delivery-sub) */
.pdp-hero-meta .item .val .apr-delivery-sub{
  display:inline-block;
  margin-top:2px;
  font-size:12.5px;
  font-weight:500;
  color:var(--muted, #6c7785);
  line-height:1.35;
}
.pdp-hero-meta .item.pdp-hero-delivery .val{
  line-height:1.3;
}
/* End AP-R 2026-05-28 */
/* ============================================================
   PDP V2 — Canon V11 add-on (28.05.2026)
   Прибавляется в конец pdp.css. Существующие правила не меняются.
   ============================================================ */

/* ---------- цветовые токены canon (рядом с существующими) ---------- */
:root{
  --canon-navy:#13374f;
  --canon-navy-deep:#02467a;
  --canon-blue:#0872ad;
  --canon-teal:#17b7bf;
  --canon-leaf-fresh:#6fb93f;
  --canon-leaf-sun:#a3d977;
  --canon-leaf-mid:#4a9b2a;
  --canon-leaf-shadow:#2c6e1f;
  --canon-leaf-deep:#163d10;
  --canon-paper:#fafaf6;
  --canon-paper-2:#f4f3ec;
  --canon-ink:#0a1430;
  --canon-ink-2:#1f2a44;
  --canon-muted:#6b7280;
  --canon-border:#e6e4dc;
  --canon-tg:#229ED9;
  --canon-max:#7c4dff;
}

/* ---------- общая полировка section-head--light для тёмных зон ---------- */
.pdp-section-head--light h2{color:#fff}
.pdp-section-head--light .pdp-section-sub{color:rgba(255,255,255,.78)}

/* ---------- кнопки-доп ---------- */
.pdp-btn--tg{background:var(--canon-tg);color:#fff;display:inline-flex;align-items:center;gap:6px;padding:11px 18px;border-radius:10px;font-weight:600;font-size:14px}
.pdp-btn--tg:hover{filter:brightness(1.08);color:#fff;text-decoration:none}
.pdp-btn--tg-light{background:#fff;color:var(--canon-tg);padding:10px 16px;border-radius:10px;font-weight:600;font-size:13.5px;white-space:nowrap}
.pdp-btn--tg-light:hover{background:#f0f8ff;text-decoration:none}
.pdp-btn--ghost-light{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.4);padding:9px 16px;border-radius:10px;font-weight:600;font-size:13px}
.pdp-btn--ghost-light:hover{background:rgba(255,255,255,.1);color:#fff;text-decoration:none}

/* ===================== 6. СТРОЙКА #build ===================== */
.pdp-section-build{padding:48px 0;background:var(--canon-paper)}
.pdp-build-status{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.pdp-build-stat{background:#fff;border:1px solid var(--canon-border);border-radius:14px;padding:16px 18px}
.pdp-build-stat .lbl{font-size:11.5px;color:var(--canon-muted);text-transform:uppercase;letter-spacing:.04em}
.pdp-build-stat .num{font-family:'Inter Tight','Inter',sans-serif;font-weight:800;font-size:24px;color:var(--canon-ink);line-height:1;margin-top:5px}
.pdp-build-stat .meta{font-size:12px;color:var(--canon-muted);margin-top:4px}
.pdp-build-stat--green .num{color:var(--canon-leaf-shadow)}
.pdp-build-stat--blue .num{color:var(--canon-blue)}
.pdp-build-empty{display:flex;align-items:center;gap:18px;background:linear-gradient(135deg,#fff 0%,var(--canon-paper-2) 100%);border:1px solid var(--canon-border);border-radius:14px;padding:18px 22px;flex-wrap:wrap}
.pdp-build-empty-ic{font-size:34px;line-height:1}
.pdp-build-empty>div{flex:1;min-width:240px}
.pdp-build-empty strong{display:block;color:var(--canon-navy);font-size:15px;margin-bottom:2px;font-family:'Inter Tight','Inter',sans-serif}
.pdp-build-empty p{font-size:13px;color:var(--canon-ink-2);margin:0}
@media (max-width:760px){
  .pdp-build-status{grid-template-columns:1fr 1fr}
}

/* ===================== 7. ВИДЕОТУР #video ===================== */
.pdp-section-video{padding:48px 0;background:var(--canon-paper-2)}
/* Кнопка «Смотреть предыдущие видеообзоры» в head видеотура → медиатека #reviews (2026-06-03) */
.pdp-video-prevbtn{display:inline-flex;align-items:center;gap:8px;align-self:center;padding:11px 18px;border-radius:12px;background:#fff;color:var(--navy,#13374f);border:1.5px solid #dfe3e8;font-weight:600;font-size:14px;line-height:1.1;white-space:nowrap;box-shadow:0 4px 14px rgba(19,55,79,.06);transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}
.pdp-video-prevbtn:hover{background:var(--navy,#13374f);color:#fff;border-color:var(--navy,#13374f);text-decoration:none;box-shadow:0 8px 22px rgba(19,55,79,.16);transform:translateY(-1px)}
.pdp-video-prevbtn svg{flex:none;opacity:.9}
@media(max-width:640px){.pdp-video-prevbtn{width:100%;justify-content:center}}
.pdp-video-wrap{background:#fff;border:1px solid var(--canon-border);border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(19,55,79,.06)}
.pdp-video-frame{position:relative;aspect-ratio:16/8;background:#0a1430}
.pdp-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.pdp-video-tg{display:flex;align-items:center;gap:16px;padding:18px 22px;background:linear-gradient(135deg,rgba(247,251,252,.88) 0%,rgba(226,241,243,.72) 100%);backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%);border-top:1px solid var(--canon-border);color:var(--canon-navy,#13374f);flex-wrap:wrap}
.pdp-video-tg-ico{width:42px;height:42px;background:#e6f7f8;color:var(--canon-teal,#17b7bf);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px}
.pdp-video-tg-text{flex:1;min-width:200px}
.pdp-video-tg-text b{display:block;font-family:'Inter Tight','Inter',sans-serif;font-weight:700;font-size:15.5px;margin-bottom:2px}
.pdp-video-tg-text small{font-size:12px;color:var(--canon-muted,#6c7785);display:block}
.pdp-video-tg-btns{display:flex;gap:10px;flex-shrink:0;flex-wrap:wrap}
.pdp-video-chan{display:inline-flex;align-items:center;gap:7px;padding:10px 18px;border-radius:10px;font-weight:700;font-size:13.5px;white-space:nowrap;text-decoration:none;transition:filter .15s,background .15s,color .15s}
.pdp-video-chan svg{width:17px;height:17px;flex-shrink:0}
.pdp-video-chan:hover{text-decoration:none;filter:brightness(1.04)}
.pdp-video-chan--tg{background:#229ed9;color:#fff}
.pdp-video-chan--tg:hover{background:#1f8fc4;color:#fff}
.pdp-video-chan--max{background:linear-gradient(135deg,#44ccff 0%,#5533ee 62%,#9933dd 100%);color:#fff}

/* ===================== 8. F1 МЕНЕДЖЕР canon (зелёная зона) ===================== */
.pdp-section-mgr--canon{background:linear-gradient(135deg,#2c6e1f 0%,#163d10 100%);padding:48px 0;border-radius:0}
.pdp-section-mgr--canon .pdp-mgr-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:18px;backdrop-filter:blur(4px)}
.pdp-section-mgr--canon .pdp-mgr-name,.pdp-section-mgr--canon .pdp-mgr-info h3{color:#fff}
.pdp-section-mgr--canon .pdp-mgr-position{color:rgba(255,255,255,.7)}
.pdp-section-mgr--canon .pdp-mgr-quote{color:rgba(255,255,255,.92);background:rgba(255,255,255,.06);border-left:3px solid var(--canon-leaf-sun);padding:12px 16px;border-radius:0 10px 10px 0;font-style:italic}
.pdp-section-mgr--canon .pdp-mgr-form{background:#fff;border-radius:14px}
.pdp-section-mgr--canon .pdp-mgr-form h3{color:var(--canon-ink)}
.pdp-section-mgr--canon .pdp-mgr-form p,.pdp-section-mgr--canon .pdp-mgr-form-hint{color:var(--canon-muted)}
.pdp-section-mgr--canon .pdp-mgr-channel{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.18)}
.pdp-section-mgr--canon .pdp-mgr-channel:hover{background:rgba(255,255,255,.18);color:#fff}
.pdp-mgr-eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.08em;color:var(--canon-leaf-sun);text-transform:uppercase;margin-bottom:8px}

/* ===================== 10. АНАЛИТИКА #analytics (NAVY DARK) ===================== */
.pdp-section-analytics{padding:48px 0;background:linear-gradient(180deg,#13374f 0%,#0c2434 100%);color:#e8eef3}
.pdp-section-analytics .pdp-btn--ghost-light{color:#fff;border-color:rgba(255,255,255,.4)}
.pdp-analytics-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:16px;margin-top:20px;margin-bottom:18px}
.pdp-analytics-main,.pdp-analytics-side{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:22px}
.pdp-analytics-main .lbl,.pdp-analytics-side .lbl{font-size:11.5px;color:var(--canon-leaf-sun);text-transform:uppercase;letter-spacing:.06em;font-weight:700;margin-bottom:8px}
.pdp-analytics-main .num{font-family:'Inter Tight','Inter',sans-serif;font-weight:800;font-size:48px;line-height:1;color:#fff}
.pdp-analytics-main .delta{display:inline-flex;align-items:center;font-size:18px;font-weight:700;color:var(--canon-leaf-sun);background:rgba(163,217,119,.14);padding:5px 12px;border-radius:99px;margin-left:10px;vertical-align:middle}
.pdp-analytics-main .meta,.pdp-analytics-side .meta{font-size:13px;color:rgba(255,255,255,.7);margin-top:8px}
.pdp-analytics-side .num{font-family:'Inter Tight','Inter',sans-serif;font-weight:700;font-size:24px;color:#fff;line-height:1}
.pdp-analytics-side .num .u{font-size:14px;color:rgba(255,255,255,.5);font-weight:500;margin-left:4px}
.pdp-analytics-note{display:inline-flex;align-items:center;gap:8px;background:rgba(163,217,119,.14);color:var(--canon-leaf-sun);padding:10px 16px;border-radius:99px;font-size:13px;margin-top:6px}
.pdp-analytics-note b{color:#fff;margin-left:4px}
.pdp-analytics-note a{color:#fff;text-decoration:underline}
@media (max-width:900px){.pdp-analytics-grid{grid-template-columns:1fr}}

/* ===================== 11. БЕЗОПАСНОСТЬ #safety ===================== */
.pdp-section-safety{padding:48px 0;background:var(--canon-paper)}
.pdp-safety-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:8px}
.pdp-safe-card{background:#fff;border:1px solid var(--canon-border);border-radius:14px;padding:18px}
.pdp-safe-card .ic{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#e8f3da,#cbe6ab);display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:10px}
.pdp-safe-card .bd{display:inline-block;font-size:10.5px;font-weight:700;color:var(--canon-leaf-shadow);background:var(--canon-leaf-sun);padding:2px 8px;border-radius:99px;margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}
.pdp-safe-card h4{font-size:15px;color:var(--canon-navy);margin:0 0 4px;font-family:'Inter Tight','Inter',sans-serif}
.pdp-safe-card p{font-size:13px;color:var(--canon-ink-2);line-height:1.5;margin:0}
@media (max-width:900px){.pdp-safety-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.pdp-safety-grid{grid-template-columns:1fr}}

/* ===================== 12. ДОКУМЕНТЫ #docs ===================== */
.pdp-section-docs{padding:48px 0;background:var(--canon-paper-2)}
.pdp-docs-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;margin-top:8px}
.pdp-docs-list{background:#fff;border:1px solid var(--canon-border);border-radius:14px;padding:8px}
.pdp-doc-row{display:flex;align-items:center;gap:14px;padding:14px;border-radius:10px;border-bottom:1px solid var(--canon-border)}
.pdp-doc-row:last-child{border-bottom:none}
.pdp-doc-row:hover{background:var(--canon-paper-2)}
.pdp-doc-row>div:not(.pdp-doc-ic){flex:1;min-width:0}
.pdp-doc-ic{flex:0 0 46px;width:46px;height:58px;background:linear-gradient(150deg,#ef5b5b 0%,#d23f3f 62%,#b83636 100%);border-radius:8px;color:#fff;font-size:10px;font-weight:800;letter-spacing:.6px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:8px;box-shadow:0 6px 14px rgba(196,62,62,.28);position:relative}
.pdp-doc-ic::before{content:"";position:absolute;left:9px;right:9px;top:13px;height:2px;border-radius:2px;background:rgba(255,255,255,.5);box-shadow:0 6px 0 rgba(255,255,255,.38),0 12px 0 rgba(255,255,255,.26)}
.pdp-doc-ic::after{content:"";position:absolute;top:0;right:0;width:14px;height:14px;background:#fff;clip-path:polygon(0 0,100% 100%,0 100%)}
.pdp-doc-name{font-size:14px;font-weight:600;color:var(--canon-ink)}
.pdp-doc-meta{font-size:11.5px;color:var(--canon-muted);margin-top:2px}
.pdp-docs-magnet{background:linear-gradient(160deg,#fff 0%,var(--canon-paper-2) 100%);border:1px solid var(--canon-border);border-radius:14px;padding:22px;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center}
.pdp-docs-stack{position:relative;height:130px;width:130px;margin-bottom:16px}
.pdp-docs-sheet{position:absolute;left:50%;width:96px;height:124px;background:#fff;border:1px solid var(--canon-border);border-radius:6px;box-shadow:0 8px 20px rgba(19,55,79,.15);transform-origin:bottom}
.pdp-docs-sheet::before{content:"";position:absolute;left:14px;right:14px;top:18px;height:2px;background:#e0ddd0;box-shadow:0 8px 0 #e0ddd0,0 16px 0 #e0ddd0,0 24px 0 #e0ddd0,0 32px 0 #e0ddd0,0 40px 0 #e0ddd0}
.pdp-docs-sheet--1{transform:translateX(-50%) rotate(-8deg) translateY(-2px)}
.pdp-docs-sheet--2{transform:translateX(-50%) rotate(-2deg)}
.pdp-docs-sheet--3{transform:translateX(-50%) rotate(5deg) translateY(-4px)}
.pdp-docs-magnet h4{font-size:16px;color:var(--canon-navy);margin:0 0 6px;font-family:'Inter Tight','Inter',sans-serif}
.pdp-docs-magnet p{font-size:13px;color:var(--canon-ink-2);margin-bottom:14px}
@media (max-width:900px){.pdp-docs-grid{grid-template-columns:1fr}}

/* ===================== 13. SEO-COLLAPSE (#about DETAIL_TEXT) ===================== */
.seo-text-wrap{position:relative;background:#fff;border:1px solid var(--canon-border);border-radius:14px;padding:22px 26px;margin-top:18px;overflow:hidden;transition:max-height .35s ease}
.seo-text-wrap.is-collapsed{max-height:560px}
.seo-text-wrap.is-collapsed::after{content:"";position:absolute;left:0;right:0;bottom:0;height:140px;background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.96) 60%,#fff 100%);pointer-events:none}
.seo-text-wrap .pdp-about-detail{font-size:14.5px;line-height:1.62;color:var(--canon-ink-2)}
.seo-text-wrap .pdp-about-detail h2{font-size:21px;color:var(--canon-navy);margin:4px 0 12px;line-height:1.2}
.seo-text-wrap .pdp-about-detail h3,.seo-text-wrap .pdp-about-detail h4{font-size:16px;color:var(--canon-navy);margin:18px 0 8px}
.seo-text-wrap .pdp-about-detail p{margin-bottom:10px}
.seo-text-wrap .pdp-about-detail ul,.seo-text-wrap .pdp-about-detail ol{margin:6px 0 14px 22px}
.seo-text-wrap .pdp-about-detail ul ul,.seo-text-wrap .pdp-about-detail ol ol{margin:4px 0 4px 18px}
.seo-text-wrap .pdp-about-detail li{margin-bottom:5px}
.seo-text-wrap .pdp-about-detail b,.seo-text-wrap .pdp-about-detail strong{color:var(--canon-ink);font-weight:600}
.seo-text-wrap .pdp-about-detail hr{border:none;height:1px;background:linear-gradient(90deg,transparent,var(--canon-border) 20%,var(--canon-border) 80%,transparent);margin:18px 0}
.seo-text-wrap .pdp-about-detail a{color:var(--canon-blue);text-decoration:underline;text-underline-offset:2px}
.seo-text-toggle{display:inline-flex;align-items:center;gap:8px;margin-top:12px;background:var(--canon-navy);color:#fff;border:none;border-radius:99px;padding:11px 22px;font-weight:600;font-size:13.5px;cursor:pointer;transition:background .2s}
.seo-text-toggle:hover{background:var(--canon-teal)}
.seo-text-toggle::after{content:"↓";display:inline-block;transition:transform .25s}
.seo-text-toggle[aria-expanded="true"]::after{transform:rotate(180deg)}
.seo-text-toggle .t-expanded{display:none}
.seo-text-toggle[aria-expanded="true"] .t-collapsed{display:none}
.seo-text-toggle[aria-expanded="true"] .t-expanded{display:inline}
@media (max-width:1023px){ .seo-text-wrap.is-collapsed{max-height:480px} }
@media (max-width:760px){ .seo-text-wrap.is-collapsed{max-height:380px} .seo-text-wrap{padding:18px} }

/* ===================== FAQ save-line ===================== */
.pdp-faq-save{margin-top:18px;background:var(--canon-paper-2);border-radius:12px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.pdp-faq-save b{font-size:14px;color:var(--canon-navy)}

/* ============================================================
   STICKY-RAIL — position:fixed справа на десктопе, скрыт ≤1200px
   ============================================================ */
.pdp-rail{
  position:fixed;right:24px;top:120px;width:336px;max-height:calc(100vh - 140px);
  overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;
  background:#fff;border:1px solid var(--canon-border);border-radius:18px;padding:18px;
  box-shadow:0 12px 36px rgba(19,55,79,.10);
  z-index:50;
  font-size:14px;color:var(--canon-ink-2);
  scrollbar-width:thin;scrollbar-color:#b7c0c9 transparent
}
.pdp-rail::-webkit-scrollbar{width:8px}
.pdp-rail::-webkit-scrollbar-thumb{background:#b7c0c9;border-radius:6px;border:2px solid #fff}
.pdp-rail::-webkit-scrollbar-thumb:hover{background:#97a3ad}
.pdp-rail-price{padding-bottom:14px;border-bottom:1px solid var(--canon-border);margin-bottom:14px}
.pdp-rail-price .lbl{font-size:11px;color:var(--canon-muted);text-transform:uppercase;letter-spacing:.05em}
.pdp-rail-price .v{font-family:'Inter Tight','Inter',sans-serif;font-weight:800;font-size:26px;color:var(--canon-navy);line-height:1;margin-top:3px}
.pdp-rail-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:14px}
.pdp-rail-meta .m{background:var(--canon-paper-2);border-radius:8px;padding:8px 9px}
.pdp-rail-meta .l{font-size:10px;color:var(--canon-muted);text-transform:uppercase;letter-spacing:.04em}
.pdp-rail-meta .v{font-family:'Inter Tight','Inter',sans-serif;font-weight:700;font-size:13.5px;color:var(--canon-ink);margin-top:2px}
.pdp-rail-rop{display:flex;gap:10px;align-items:center;padding:12px;background:linear-gradient(135deg,#f0f8e8,#fff);border-radius:12px;border:1px solid #e0eccd;margin-bottom:12px}
.pdp-rail-rop-photo{width:46px;height:46px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid #fff;box-shadow:0 4px 8px rgba(0,0,0,.12);background:#1f2820;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:13px;font-family:'Inter Tight','Inter',sans-serif}
.pdp-rail-rop-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
.pdp-rail-rop-info{flex:1;min-width:0}
.pdp-rail-rop-name{font-weight:700;font-size:13px;color:var(--canon-ink);line-height:1.15}
.pdp-rail-rop-role{font-size:11px;color:var(--canon-muted);margin-top:1px}
.pdp-rail-rop-status{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;color:var(--canon-leaf-shadow);margin-top:3px;font-weight:600}
.pdp-rail-rop-status::before{content:"";width:6px;height:6px;background:var(--canon-leaf-fresh);border-radius:50%;animation:pdp-rail-pulse 2s infinite}
@keyframes pdp-rail-pulse{0%,100%{opacity:1}50%{opacity:.5}}
.pdp-rail-btn{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:12px;border-radius:11px;font-weight:600;font-size:14px;text-align:center;margin-bottom:8px;text-decoration:none;border:none;cursor:pointer;font-family:inherit}
.pdp-rail-btn svg{flex-shrink:0}
.pdp-rail-btn--primary{background:var(--canon-leaf-fresh);color:#fff;box-shadow:0 4px 12px rgba(111,185,63,.32)}
.pdp-rail-btn--primary:hover{background:var(--canon-leaf-mid);color:#fff;text-decoration:none}
.pdp-rail-btn--ghost{background:transparent;color:var(--canon-navy);border:1.5px solid var(--canon-navy);margin-bottom:14px}
.pdp-rail-btn--ghost:hover{background:var(--canon-navy);color:#fff;text-decoration:none}
.pdp-rail-e3{background:linear-gradient(135deg,#fff7d6,#fbeaa9);border:1px solid #e8d77a;border-radius:11px;padding:11px 12px;display:flex;align-items:center;gap:9px;margin-bottom:14px;cursor:pointer}
.pdp-rail-e3:hover{filter:brightness(1.02)}
.pdp-rail-e3-ico{display:inline-flex;align-items:center;justify-content:center;line-height:1;color:#b8860b;flex-shrink:0}
.pdp-rail-e3-ico svg{width:18px;height:18px}
.pdp-rail-e3-text{flex:1;font-size:12px;color:#5d4800;line-height:1.35}
.pdp-rail-e3-text b{display:block;font-weight:700;color:#3d2f00;font-size:12.5px}
.pdp-rail-actions{display:flex;flex-direction:column;gap:2px}
.pdp-rail-actions a{display:flex;align-items:center;gap:8px;padding:9px 6px;font-size:13px;color:var(--canon-ink-2);border-radius:8px;text-decoration:none}
.pdp-rail-actions a:hover{background:var(--canon-paper-2);text-decoration:none;color:var(--canon-ink)}
.pdp-rail-actions a .ai{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;color:var(--canon-muted)}
.pdp-rail-actions a .ai svg{width:18px;height:18px}
.pdp-rail-actions a:hover .ai{color:var(--canon-teal,#17b7bf)}
.pdp-rail-foot{margin-top:14px;padding-top:12px;border-top:1px solid var(--canon-border);font-size:11px;color:var(--canon-muted);text-align:center;line-height:1.4}

/* === РЕЙЛ V2 (визитка ЖК + связь с менеджером) — классы .pr-* === */
.pr-id{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:13px;border-bottom:1px solid var(--canon-border)}
.pr-id .nm{font-weight:800;font-size:18px;color:var(--canon-navy);line-height:1.1;letter-spacing:-.01em}
.pr-id .nm em{font-style:normal;color:var(--canon-teal,#17b7bf)}
.pr-id .pr{font-weight:800;font-size:16px;color:var(--canon-navy);white-space:nowrap}
.pr-id .pr .from{font-weight:600;font-size:12px;color:var(--canon-muted);margin-right:3px}

.pr-fact{display:flex;align-items:center;gap:8px;margin:13px 0;font-size:13.5px;color:var(--canon-navy);font-weight:600}
.pr-fact .hot{width:8px;height:8px;border-radius:50%;background:#e8543f;flex-shrink:0;box-shadow:0 0 0 3px rgba(232,84,63,.16)}
.pr-fact b{color:#c0392b;font-weight:800}

.pr-mag{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#fff6cf,#ffe89a);border:1px solid #eccf63;border-radius:13px;padding:13px;margin-bottom:15px;cursor:pointer;text-decoration:none;transition:filter .15s,transform .15s}
.pr-mag:hover{filter:brightness(1.03);transform:translateY(-1px);text-decoration:none}
.pr-mag .ico{width:38px;height:38px;flex-shrink:0;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;color:#c79200;box-shadow:0 3px 8px rgba(160,120,0,.22)}
.pr-mag .ico svg{width:19px;height:19px}
.pr-mag .tx{font-size:12px;color:#6b5200;line-height:1.32}
.pr-mag .tx b{display:block;font-size:13.5px;color:#3d2f00;font-weight:800;margin-bottom:1px}
.pr-mag .tx .pct{font-weight:800;font-size:15px;color:#c0392b}

.pr-mgr{position:relative;display:flex;gap:11px;align-items:center;padding:12px;border-radius:13px;background:linear-gradient(135deg,#eef8e4,#fff);border:1px solid #dfeccd;margin-bottom:14px}
.pr-mgr .ph{width:48px;height:48px;border-radius:50%;flex-shrink:0;overflow:hidden;border:2px solid #fff;box-shadow:0 4px 9px rgba(0,0,0,.14);background:#c4cec6;display:flex;align-items:center;justify-content:center;color:#4a5b4d;font-weight:700;font-size:14px;cursor:zoom-in;transition:transform .15s ease}
.pr-mgr .ph:hover{transform:scale(1.06)}
/* увеличенное фото менеджера — всплывает В БОК (position:fixed, координаты ставит JS:
   чтобы не пряталось под шапку и не обрезалось overflow рейла) */
.pr-zoom{position:fixed;width:210px;padding:6px;background:#fff;border:1px solid var(--canon-border);border-radius:16px;box-shadow:0 16px 44px rgba(19,55,79,.22);opacity:0;visibility:hidden;transform:scale(.96);transform-origin:right center;pointer-events:none;transition:opacity .16s ease,transform .16s ease,visibility .16s;z-index:60}
.pr-zoom.is-on{opacity:1;visibility:visible;transform:scale(1)}
.pr-zoom img{display:block;width:100%;height:auto;border-radius:11px;object-fit:cover}

/* 2K+: рейл прижат к правому краю контент-колонки (max-width 1320, центрирована),
   а не к краю экрана — иначе на широких мониторах «улетает» вправо от контента */
/* рейл выровнен по симметричному промежутку: зазор справа (до края экрана) = зазору слева (до контента) */
@media (min-width:1200px){ .pdp-rail{ right:var(--side) } }
.pr-mgr .ph img{width:100%;height:100%;object-fit:cover;object-position:center top}
.pr-mgr .info{min-width:0}
.pr-mgr .nm{font-weight:700;font-size:14px;color:var(--canon-ink);line-height:1.15}
.pr-mgr .ro{font-size:12px;color:var(--canon-muted);margin-top:2px}
.pr-mgr .ro .on{display:inline-flex;align-items:center;gap:5px;color:#3e7a23;font-weight:600}
.pr-mgr .ro .on::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--canon-leaf-fresh,#6fb93f)}

.pr-lbl{font-size:11px;color:var(--canon-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-weight:600}
.pr-msgrow{display:flex;gap:9px}
.pr-msgrow a{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:13px 8px;border-radius:12px;font-weight:700;font-size:14.5px;text-decoration:none;color:#fff;transition:filter .15s,transform .15s}
.pr-msgrow a:hover{transform:translateY(-1px);text-decoration:none;color:#fff}
.pr-msgrow a svg{flex-shrink:0;width:19px;height:19px}
.pr-tg{background:#229ed9;box-shadow:0 5px 13px rgba(34,158,217,.3)}.pr-tg:hover{filter:brightness(1.05)}
.pr-max{background:linear-gradient(135deg,#44ccff 0%,#5533ee 62%,#9933dd 100%);box-shadow:0 5px 13px rgba(90,60,220,.3)}.pr-max:hover{filter:brightness(1.06)}

.pr-ghost{display:flex;align-items:center;justify-content:center;width:100%;padding:11px;border-radius:12px;background:#fff;color:var(--canon-navy);border:1.5px solid #d6dde3;font-weight:600;font-size:13.5px;text-decoration:none;margin-top:10px}
.pr-ghost:hover{border-color:var(--canon-navy);text-decoration:none;color:var(--canon-navy)}
.pr-phone{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:11px;font-size:13.5px;color:var(--canon-ink-2);text-decoration:none;font-weight:600}
.pr-phone svg{width:15px;height:15px;color:var(--canon-muted)}
.pr-phone:hover{color:var(--canon-navy);text-decoration:none}

.pr-sep{display:flex;align-items:center;gap:9px;margin:16px 0 7px;color:#aab3bc;font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.pr-sep::before,.pr-sep::after{content:"";flex:1;height:1px;background:var(--canon-border)}
.pr-links{display:flex;flex-direction:column;gap:1px}
.pr-links a{display:flex;align-items:center;gap:11px;padding:9px 6px;font-size:13px;color:var(--canon-ink-2);text-decoration:none;border-radius:8px}
.pr-links a:hover{background:var(--canon-paper-2);color:var(--canon-navy);text-decoration:none}
.pr-links a svg{width:17px;height:17px;flex-shrink:0;color:var(--canon-muted)}
.pr-links a:hover svg{color:var(--canon-teal,#17b7bf)}
.pr-links a .pr-maxico{display:inline-flex;width:17px;height:17px;flex-shrink:0;color:var(--canon-muted)}
.pr-links a .pr-maxico svg{width:17px;height:17px}
.pr-links a:hover .pr-maxico{color:var(--canon-teal,#17b7bf)}

@media (max-width:1199px){ .pdp-rail{display:none} }
/* ============================================================
/* ============================================================
/* ============================================================
/* ============================================================
   PDP V2 Canon V11 — FIXES после первого деплоя (28.05.2026 v2)
   Дописывается в конец pdp.css.
   Содержит: layout fix, eyebrows, 3D magnets, lead modal.
   ============================================================ */

/* ---------- 1. LAYOUT — симметричная композиция «контент + рейл» (UPD 01.06 вечер) ----------
   Модель равных промежутков: [side | контент(shell) | side | рейл(rail-w) | side].
   → рейл симметричен (зазор слева к контенту == зазор справа к краю экрана),
   → контент шире (до 1320px вместо ~876), поля растут симметрично на широких экранах.
   side = одинаковый промежуток (мин. 40px); shell = ширина контентной колонки (cap 1320). */
@media (min-width:1200px){
  /* переменные на :root — fixed-рейл #pdp-rail лежит ВНЕ .pdp-main--canon (в .compare-main),
     поэтому переменные должны наследоваться от общего корня, иначе right:var(--side) → auto */
  :root{
    --rail-w:336px;
    --pmin:40px;
    --shell:min(1320px, calc(100vw - var(--rail-w) - 3 * var(--pmin)));
    --side:calc((100vw - var(--shell) - var(--rail-w)) / 3);
  }
  /* Обычные контентные секции: колонка контента слева (shell), справа — промежуток + рейл */
  .pdp-main--canon > .container,
  .pdp-main--canon section > .container{
    max-width:none;
    width:var(--shell);
    margin-left:var(--side);
    margin-right:0;
  }
  /* Двухколоночные секции (Генплан, Шахматка): контейнер = контент+промежуток+рейл, центрирован (поля = side).
     Внутренняя сетка ставит свою правую колонку шириной rail-w с gap = side → правый рейл-столбец симметричен. */
  .pdp-main--canon #genplan.pdp-section-genplan > .container,
  .pdp-main--canon #shah.pdp-section-flats > .container{
    max-width:none !important;
    width:calc(var(--shell) + var(--side) + var(--rail-w)) !important;
    margin-left:auto !important; margin-right:auto !important;
    padding-right:0 !important;
  }
  /* Hero + subnav (липкая 2-я шапка): на всю ширину композиции, поля = side (левый край совпадает с секциями) */
  .pdp-main--canon .pdp-hero-block .container,
  .pdp-main--canon .pdp-subnav .container{
    max-width:none !important;
    width:calc(var(--shell) + var(--side) + var(--rail-w)) !important;
    margin-left:auto !important; margin-right:auto !important;
  }
  /* Тёмные/зелёные секции (Менеджер, Аналитика): фон full-width, контент = shell слева (как обычные секции) */
  .pdp-main--canon .pdp-section-mgr--canon > .container,
  .pdp-main--canon .pdp-section-analytics > .container{
    max-width:none !important;
    width:var(--shell) !important;
    margin-left:var(--side) !important; margin-right:0 !important;
    padding-right:32px !important;
  }
  /* 1-я шапка (topbar + header): раздвинуть по той же сетке, что hero/контент (композиция = vw - 2*side).
     Шапка лежит ВНЕ .pdp-main--canon, селекторы глобальные, но pdp.css грузится только на PDP. */
  .topbar > .container,
  .header > .container{
    max-width:none;
    width:calc(var(--shell) + var(--side) + var(--rail-w));
  }
}

/* ---------- 1b. RAIL появляется ТОЛЬКО когда hero уже проскроллен ---------- */
.pdp-rail{
  opacity:0;
  pointer-events:none;
  transform:translateX(20px);
  transition:opacity .35s ease, transform .35s ease
}
.pdp-rail.pdp-rail--shown{
  opacity:1;
  pointer-events:auto;
  transform:translateX(0)
}
/* у футера рейл уходит, чтобы не перекрывать колонки подвала */
.pdp-rail.pdp-rail--at-footer{
  opacity:0;
  pointer-events:none;
  transform:translateX(20px)
}

/* ---------- 1c. INLINE-вариант рейла: в правой колонке секции «Генплан» ----------
   Тот же рейл (.pr-*), но статично в sticky-колонке .pdp-genplan-aside (а не fixed).
   Сбрасываем fixed-позицию, скролл и анимацию появления (--shown вешается JS только
   на глобальный #pdp-rail) — иначе inline-копия осталась бы невидимой (opacity:0). */
.pdp-rail--inline{
  position:static !important; right:auto !important; top:auto !important;
  width:auto !important; max-height:none !important; overflow:visible !important;
  z-index:auto !important;
  opacity:1 !important; pointer-events:auto !important; transform:none !important;
  transition:none !important;
}

/* ---------- 2. EYEBROW — маркировка модулей по температуре воронки ---------- */
.pdp-section-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--canon-teal);margin-bottom:8px
}
.pdp-section-eyebrow .dot{width:6px;height:6px;background:var(--canon-leaf-fresh);border-radius:50%}
.pdp-section-eyebrow--tofu{color:var(--canon-blue)}
.pdp-section-eyebrow--mofu{color:var(--canon-teal)}
.pdp-section-eyebrow--bofu{color:var(--canon-leaf-mid)}
.pdp-section-eyebrow--exit{color:#b04848}
.pdp-section-eyebrow--exit .dot{background:#b04848}
.pdp-section-head--light .pdp-section-eyebrow{color:var(--canon-leaf-sun)}

/* ---------- 3. PDF-МАГНИТ 3D-РАЗВОРОТ (паттерн lm-*-spread) ---------- */
/* выравнивание inline-иконок aprIcon (для эмодзи-замен по странице) */
.apr-ic{flex:none;vertical-align:middle}
.pdp-magnet{
  display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:center;
  background:#fff;border-radius:18px;padding:28px;margin-top:24px;
  position:relative;overflow:hidden
}
.pdp-magnet::before{
  content:"";position:absolute;right:0;top:0;bottom:0;width:60%;
  background:var(--canon-paper-2);border-radius:24px 0 0 24px;z-index:0
}
.pdp-magnet > *{position:relative;z-index:1}
.pdp-magnet-spread{
  position:relative;transform:rotate(-1.5deg);margin-left:-4%;
  box-shadow:0 28px 56px rgba(19,55,79,.18);border-radius:6px;overflow:hidden;background:#fff
}
.pdp-magnet-spread::after{
  content:"";position:absolute;right:-12px;top:8px;bottom:8px;width:30%;
  background:#f4f0e3;border-radius:6px;transform:rotate(1.5deg);z-index:-1;
  box-shadow:0 18px 30px rgba(19,55,79,.12)
}
.pdp-spread{display:grid;grid-template-columns:1fr 1fr;background:#fff;min-height:280px;position:relative}
.pdp-spread::after{
  content:"";position:absolute;left:50%;top:6%;bottom:6%;width:2px;
  background:linear-gradient(180deg,transparent,rgba(19,55,79,.14) 12%,rgba(19,55,79,.18) 50%,rgba(19,55,79,.14) 88%,transparent);
  transform:translateX(-50%)
}
.pdp-spread .pg{padding:18px 16px;font-size:9.5px;color:var(--canon-ink-2);line-height:1.5}
.pdp-spread .pg h5{font-family:'Inter Tight','Inter',sans-serif;font-size:11px;color:var(--canon-navy);margin-bottom:6px}
.pdp-spread .pg .row{display:flex;justify-content:space-between;padding:3px 0;border-bottom:1px dotted #ddd9c6}
.pdp-spread .pg .row b{color:var(--canon-ink);font-weight:600}
.pdp-spread .pg .ph{height:42px;border-radius:3px;background:linear-gradient(135deg,#d6dec8,#9bb38c);margin-bottom:6px;position:relative}
.pdp-spread .pg .ph::after{content:"";position:absolute;inset:25% 30%;background:rgba(255,255,255,.2);border-radius:2px}
.pdp-spread .pg ul{padding-left:0;list-style:none;margin:6px 0}
.pdp-spread .pg li{padding-left:11px;position:relative;margin-bottom:2px}
.pdp-spread .pg li::before{content:"✓";position:absolute;left:0;color:var(--canon-leaf-fresh);font-weight:700}
.pdp-spread .pg .stamp{position:absolute;bottom:6px;right:8px;font-size:7px;letter-spacing:.1em;color:var(--canon-teal);font-weight:700;opacity:.5;text-transform:uppercase}
.pdp-magnet-body h3{font-size:21px;color:var(--canon-navy);line-height:1.18;margin:0 0 8px;font-family:'Inter Tight','Inter',sans-serif;font-weight:700}
.pdp-magnet-body h3 em{font-style:normal;color:var(--canon-teal)}
.pdp-magnet-eyebrow{display:inline-flex;align-items:center;gap:6px;background:var(--canon-leaf-sun);color:var(--canon-leaf-deep);padding:4px 10px;border-radius:99px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}
.pdp-magnet-lead{font-size:14px;color:var(--canon-ink-2);margin-bottom:12px}
.pdp-magnet-incl{display:grid;grid-template-columns:1fr 1fr;gap:5px 16px;margin-bottom:14px;font-size:13px;color:var(--canon-ink-2)}
.pdp-magnet-incl span{display:flex;align-items:flex-start;gap:6px}
.pdp-magnet-incl span::before{content:"✓";color:var(--canon-leaf-fresh);font-weight:700;margin-top:1px}
.pdp-magnet-cta{display:flex;gap:8px;flex-wrap:wrap}
.pdp-magnet-cta .btn-mag{background:var(--canon-leaf-fresh);color:#fff;padding:11px 16px;border-radius:10px;font-weight:600;font-size:13.5px;display:inline-flex;align-items:center;gap:7px;box-shadow:0 4px 14px rgba(111,185,63,.32);white-space:nowrap;border:none;cursor:pointer}
.pdp-magnet-cta .btn-mag:hover{background:var(--canon-leaf-mid);text-decoration:none;color:#fff}
.pdp-magnet-cta .btn-mag-tg{background:var(--canon-tg);color:#fff;padding:11px 16px;border-radius:10px;font-weight:600;font-size:13.5px;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;border:none;cursor:pointer}
.pdp-magnet-cta .btn-mag-tg:hover{filter:brightness(1.08);text-decoration:none;color:#fff}
.pdp-magnet-foot{margin-top:9px;font-size:11.5px;color:var(--canon-muted)}
@media (max-width:900px){
  .pdp-magnet{grid-template-columns:1fr;padding:22px}
  .pdp-magnet::before{display:none}
  .pdp-magnet-spread{transform:rotate(0);margin-left:0}
}

/* ---------- 3b. PDF-магнит с ФОТО-гайдом (журнал-разворот без фона, вылетает за рамку блока) ---------- */
.pdp-magnet--photo{overflow:visible;grid-template-columns:1.15fr 1fr;gap:30px;padding:24px 32px;align-items:center}
/* без белой подложки: фото лежит прямо на фоне секции; бежевая панель ::before (под текстом) остаётся */
.pdp-magnet--nobg{background:transparent}
/* фото ипотечного гайда чуть правее (базовый left -10% → -4%) */
.pdp-magnet--nobg .pdp-magnet-photo img{margin-left:-4%}
/* мобайл: тень не обрезать (странный фон), фото по центру (без десктоп-сдвига), контент и кнопки по центру под гайдом */
@media (max-width:900px){
  .pdp-magnet--photo.pdp-magnet--nobg{overflow:visible}
  .pdp-magnet--nobg .pdp-magnet-photo img{margin-left:auto}
  .pdp-magnet--nobg .pdp-magnet-body{text-align:center}
  .pdp-magnet--nobg .pdp-magnet-cta{justify-content:center}
}
/* бежевая панель full-bleed до правой границы страницы: тянем далеко вправо, секция клипает по краю вьюпорта.
   overflow-x:clip держит ось Y visible → sticky не ломается, гориз. скролла нет. На мобиле ::before скрыт. */
.pdp-section-plans{overflow-x:clip}
.pdp-magnet--photo::before{width:calc(54% + 1000px);right:-1000px;border-radius:24px 0 0 24px}
.pdp-magnet-photo{position:relative;align-self:center;z-index:2}
/* картинка прозрачная → height:auto держит пропорции (без него HTML-атрибут height ломал размер),
   тень повторяет силуэт разворота, border-radius не нужен — фон уже прозрачный.
   Масштаб уменьшен на 15% (120%→102%) по правке 02.06 */
.pdp-magnet-photo img{
  display:block;width:102%;height:auto;max-width:none;margin:-18px 0 -22px -10%;
  filter:drop-shadow(0 30px 55px rgba(19,55,79,.28)) drop-shadow(0 8px 18px rgba(19,55,79,.14))
}
@media (max-width:1100px){
  .pdp-magnet-photo img{width:97%;margin:-14px 0 -16px -6%}
}
@media (max-width:900px){
  .pdp-magnet--photo{grid-template-columns:1fr;overflow:hidden;padding:22px}
  .pdp-magnet-photo img{width:100%;height:auto;margin:0 auto 6px}
}

/* ---------- 4. A7 СРАВНЕНИЕ — 3 страницы side-by-side ---------- */
.pdp-magnet-compare{display:grid;grid-template-columns:1fr 1.3fr;gap:28px;align-items:center;background:linear-gradient(135deg,#fff 50%,var(--canon-paper-2) 100%);border:1px solid var(--canon-border);border-radius:18px;padding:28px;margin-top:24px}
.pdp-compare-pages{position:relative;height:200px;display:flex;justify-content:center;gap:6px}
.pdp-compare-pages .cp{width:88px;height:140px;background:#fff;border:1px solid var(--canon-border);border-radius:6px;box-shadow:0 12px 24px rgba(19,55,79,.15);padding:10px;font-size:7px;color:var(--canon-ink-2);align-self:center}
.pdp-compare-pages .cp h6{font-size:8.5px;color:var(--canon-navy);margin:0 0 5px;font-family:'Inter Tight','Inter',sans-serif}
.pdp-compare-pages .cp .bar{height:3px;background:linear-gradient(90deg,var(--canon-leaf-fresh),var(--canon-leaf-sun));border-radius:2px;margin-bottom:3px}
.pdp-compare-pages .cp .bar.r{background:linear-gradient(90deg,#e85959,#f0a04b)}
.pdp-compare-pages .cp .l{height:2px;background:#e8e6dc;border-radius:1px;margin-bottom:3px}
.pdp-compare-pages .cp:nth-child(1){transform:rotate(-5deg)}
.pdp-compare-pages .cp:nth-child(3){transform:rotate(5deg)}

/* ---------- 5. LEAD MAGNET MODAL (Имя + Телефон) ---------- */
.pdp-leadm{position:fixed;inset:0;background:rgba(10,20,48,.6);z-index:200;display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px)}
.pdp-leadm.is-open{display:flex}
.pdp-leadm-box{background:#fff;border-radius:18px;padding:28px;max-width:460px;width:100%;box-shadow:0 24px 80px rgba(19,55,79,.32);position:relative}
.pdp-leadm-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:50%;background:var(--canon-paper-2);border:none;font-size:18px;cursor:pointer;color:var(--canon-ink-2)}
.pdp-leadm-close:hover{background:var(--canon-border)}
.pdp-leadm-eyebrow{display:inline-block;background:var(--canon-leaf-sun);color:var(--canon-leaf-deep);padding:4px 10px;border-radius:99px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}
.pdp-leadm-title{font-family:'Inter Tight','Inter',sans-serif;font-size:21px;color:var(--canon-navy);margin:0 0 6px;line-height:1.2;font-weight:700}
.pdp-leadm-lead{font-size:13.5px;color:var(--canon-ink-2);margin-bottom:18px;line-height:1.5}
.pdp-leadm form{display:flex;flex-direction:column;gap:10px}
.pdp-leadm input{padding:12px 14px;border:1px solid var(--canon-border);border-radius:10px;font-size:14.5px;font-family:inherit;color:var(--canon-ink);width:100%}
.pdp-leadm input:focus{outline:none;border-color:var(--canon-leaf-fresh)}
.pdp-leadm button[type=submit]{background:var(--canon-leaf-fresh);color:#fff;padding:13px;border-radius:10px;font-weight:600;font-size:15px;border:none;cursor:pointer;box-shadow:0 4px 14px rgba(111,185,63,.32);font-family:inherit}
.pdp-leadm button[type=submit]:hover{background:var(--canon-leaf-mid)}
.pdp-leadm-hint{margin-top:8px;font-size:11.5px;color:var(--canon-muted);line-height:1.4}
.pdp-leadm-hint a{color:var(--canon-blue)}
.pdp-leadm-success{text-align:center;padding:20px 0}
.pdp-leadm-success .ic{font-size:48px;margin-bottom:10px}
.pdp-leadm-success h3{font-family:'Inter Tight','Inter',sans-serif;color:var(--canon-navy);margin:0 0 6px;font-size:20px}
.pdp-leadm-success p{font-size:13.5px;color:var(--canon-ink-2);margin:0 0 14px}
.pdp-leadm-success a{display:inline-flex;align-items:center;gap:6px;background:var(--canon-paper-2);color:var(--canon-navy);padding:10px 18px;border-radius:99px;font-weight:600;font-size:13px;text-decoration:none}

/* ---------- 5b. H1 teal-акцент на ЖК-имени (как в /about/ и /krasnodar/) ---------- */
.pdp-hero-title em{font-style:normal;color:var(--canon-teal)}

/* ---------- 6. FIX: цена в rail (без двойного "млн") ---------- */
.pdp-rail-price .v{font-size:24px}
.pdp-rail-price .v .unit{font-size:14px;color:var(--canon-muted);font-weight:600;margin-left:4px}
/* Сдача rail — мелкий 2-строчник */
.pdp-rail-meta .m .v.smaller{font-size:11.5px;line-height:1.3}


/* ===================================================================
 * Шахматка 14c (sticky-compact) — PDP V2 (перенос 2026-05-29).
 * Всё scoped под .shah2 / .s2-pop, чтобы не задеть остальной PDP.
 * =================================================================== */
.shah2, .s2-pop{
  --s2-ease:cubic-bezier(.4,0,.2,1); --s2-eo:cubic-bezier(.16,1,.3,1);
  --s2-line:#e6ebf0; --s2-ink1:#0c1e2e; --s2-ink2:#1f3247; --s2-ink3:#5a6a7a; --s2-ink4:#8a98a8;
  --s2-brand:#13374f; --s2-brand2:#17b7bf; --s2-accent:#a3d977;
}
.shah2{margin-top:18px;color:var(--s2-ink1);font-family:'Inter','Segoe UI',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}
.shah2 *, .s2-pop, .s2-pop *{box-sizing:border-box}

/* sticky nav: очередь + лента литеров (static — без sticky, чтобы не конфликтовать со sticky-subnav PDP) */
.shah2 .s2-nav{background:#fff;border:1px solid var(--s2-line);border-radius:14px;padding:10px 14px;margin-bottom:14px;display:flex;align-items:center;gap:14px;box-shadow:0 1px 3px rgba(12,30,46,.05)}
.shah2 .s2-qsel{position:relative;flex-shrink:0}
.shah2 .s2-qtrig{display:inline-flex;align-items:center;gap:8px;background:#f5f7fa;border:1px solid var(--s2-line);padding:8px 12px;border-radius:10px;font-size:13.5px;font-weight:700;color:var(--s2-ink1);cursor:pointer;font-family:inherit;letter-spacing:-.01em;transition:all 120ms var(--s2-ease)}
.shah2 .s2-qtrig:hover{border-color:#9eaab7}
.shah2 .s2-qtrig .lbl{font-size:10px;color:var(--s2-ink4);font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-right:2px}
.shah2 .s2-qtrig .when{font-size:11.5px;color:var(--s2-ink3);font-weight:600;margin-left:4px}
.shah2 .s2-qtrig .chev{margin-left:2px;color:var(--s2-ink4);transition:transform 200ms var(--s2-ease)}
.shah2 .s2-qsel.open .s2-qtrig .chev{transform:rotate(180deg)}
.shah2 .s2-qtrig.active{border-color:var(--s2-brand2);box-shadow:0 0 0 3px rgba(23,183,191,.10)}
.shah2 .s2-qdrop{position:absolute;top:calc(100% + 6px);left:0;min-width:280px;background:#fff;border:1px solid var(--s2-line);border-radius:12px;padding:6px;box-shadow:0 12px 28px rgba(12,30,46,.16);display:none;z-index:50}
.shah2 .s2-qsel.open .s2-qdrop{display:block}
.shah2 .s2-qopt{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:8px;cursor:pointer;font-size:13px;color:var(--s2-ink1);font-weight:600;transition:background 120ms var(--s2-ease)}
.shah2 .s2-qopt:hover{background:#f5f7fa}
.shah2 .s2-qopt.active{background:#eaf2f8;color:var(--s2-brand)}
.shah2 .s2-qopt .lbl{flex:1}
.shah2 .s2-qopt .when{font-size:11px;color:var(--s2-ink4);font-weight:500}
.shah2 .s2-qopt .cnt{font-size:10.5px;color:var(--s2-ink4);font-weight:700;background:#f5f7fa;padding:1px 6px;border-radius:9px}
.shah2 .s2-qopt.active .cnt{background:var(--s2-brand);color:#fff}
.shah2 .s2-divider{width:1px;height:24px;background:var(--s2-line);flex-shrink:0}
.shah2 .s2-lstrip{display:flex;gap:6px;overflow-x:auto;flex:1;padding:4px 0;scrollbar-width:none}
.shah2 .s2-lstrip::-webkit-scrollbar{display:none}
.shah2 .s2-label{font-size:10px;font-weight:800;color:var(--s2-ink4);text-transform:uppercase;letter-spacing:.08em;align-self:center;flex-shrink:0;padding-right:4px}
.shah2 .s2-pill{flex-shrink:0;background:transparent;border:1.5px solid var(--s2-line);padding:6px 12px 5px;font-size:12.5px;font-weight:700;color:var(--s2-ink2);cursor:pointer;border-radius:9px;font-family:inherit;letter-spacing:-.01em;display:inline-flex;flex-direction:column;align-items:center;gap:2px;min-width:60px;transition:all 130ms var(--s2-ease)}
.shah2 .s2-pill:hover{border-color:#9eaab7;transform:translateY(-1px)}
.shah2 .s2-pill.active{background:var(--s2-brand);color:#fff;border-color:var(--s2-brand);box-shadow:0 4px 10px rgba(19,55,79,.20)}
.shah2 .s2-pill .num{font-size:11px;font-weight:700;line-height:1.15;white-space:normal;overflow-wrap:anywhere;text-align:center}
.shah2 .s2-pill .free{font-size:10px;font-weight:600;color:var(--s2-ink4);letter-spacing:-.01em;white-space:nowrap}
.shah2 .s2-pill.active .free{color:rgba(255,255,255,.85)}
/* Распроданный литер (free=0): приглушённый «погашенный» вид + пометка «Продано».
   Номер литера в Самолёте не уникален (дубли по очередям, все проданы) → покупатель
   видит, что корпус продан, без «фантома непонятно откуда». PDP 2026-05-31 */
.shah2 .s2-pill--sold{background:#f4f6f8;border-color:#e6eaef;color:#9aa7b3}
.shah2 .s2-pill--sold:hover{border-color:#d4dbe2;transform:none;box-shadow:none}
.shah2 .s2-pill--sold .num{color:#8a98a6;font-weight:700}
.shah2 .s2-pill--sold .free{color:#9aa7b3;font-size:9px;text-transform:uppercase;letter-spacing:.02em}
.shah2 .s2-pill--sold.active{background:var(--s2-brand);border-color:var(--s2-brand);color:#fff}
.shah2 .s2-pill--sold.active .num,.shah2 .s2-pill--sold.active .free{color:#fff}
.shah2 .s2-qopt--sold .lbl{color:#8a98a6}
.shah2 .s2-qopt--sold .when{color:#aab4bf}
.shah2 .s2-empty{font-size:12px;color:var(--s2-ink4);padding:6px 4px}

/* card */
.shah2 .s2-card{background:#fff;border:1px solid var(--s2-line);border-radius:14px;overflow:hidden;box-shadow:0 10px 28px -12px rgba(12,30,46,.18),0 2px 6px rgba(12,30,46,.05)}
.shah2 .s2-head{padding:13px 18px;border-bottom:1px solid #f0f3f6;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.shah2 .s2-head .title{font-size:16px;font-weight:800;letter-spacing:-.02em;color:var(--s2-ink1)}
.shah2 .s2-head .title b{color:var(--s2-brand);margin-right:4px}
.shah2 .s2-head .legend{display:flex;gap:13px;font-size:11.5px;color:var(--s2-ink3);align-items:center}
.shah2 .s2-head .legend .lg{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.shah2 .s2-head .legend .sw{width:12px;height:12px;border-radius:3px;border:1px solid var(--s2-line)}
.shah2 .s2-head .legend .sw.free{background:#cce4f3}
.shah2 .s2-head .legend .sw.sold{background:#dde2e8;border-color:transparent}
.shah2 .s2-podrow{padding:11px 18px;border-bottom:1px solid #f0f3f6;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.shah2 .s2-podlabel{font-size:11.5px;font-weight:700;color:var(--s2-ink4);text-transform:uppercase;letter-spacing:.06em;margin-right:6px}
.shah2 .s2-podtab{background:#f5f7fa;border:none;padding:7px 13px;font-size:12.5px;font-weight:600;color:var(--s2-ink3);cursor:pointer;border-radius:8px;font-family:inherit;transition:all 120ms var(--s2-ease)}
.shah2 .s2-podtab.active{background:var(--s2-brand);color:#fff}
.shah2 .s2-podtab .c{font-size:10.5px;font-weight:700;opacity:.7;margin-left:4px}
.shah2 .s2-spacer{flex:1;min-width:8px}
.shah2 .s2-moderow{padding-top:9px;padding-bottom:9px}

/* toggle (чекбоксы) */
.shah2 .s2-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none;flex-shrink:0}
.shah2 .s2-toggle input{position:absolute;opacity:0;width:0;height:0}
.shah2 .s2-box{width:18px;height:18px;border-radius:5px;border:1.5px solid #c2ccd6;background:#fff;position:relative;transition:all 140ms var(--s2-ease);flex-shrink:0}
.shah2 .s2-box::after{content:'';position:absolute;left:5px;top:2px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform 140ms var(--s2-ease)}
.shah2 .s2-toggle input:checked + .s2-box{background:var(--s2-brand2);border-color:var(--s2-brand2)}
.shah2 .s2-toggle input:checked + .s2-box::after{transform:rotate(45deg) scale(1)}
.shah2 .s2-toggle:hover .s2-box{border-color:var(--s2-brand2)}
.shah2 .s2-lbl{font-size:12.5px;font-weight:700;color:var(--s2-ink1);letter-spacing:-.01em}
.shah2 .s2-toggle-row{display:flex;align-items:center;gap:7px;margin-bottom:10px}
.shah2-aside .s2-toggle-row .s2-toggle{margin-bottom:0}
.shah2 .s2-help-btn{width:18px;height:18px;flex:none;border:0;border-radius:50%;background:#e3eef0;color:#0e8c93;font-size:12px;font-weight:800;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:.14s}
.shah2 .s2-help-btn:hover{background:var(--s2-brand2);color:#fff}

/* scale-bar */
.shah2 .s2-scale{display:none;align-items:center;gap:10px;font-size:11px;color:var(--s2-ink3);flex-shrink:0}
.shah2 .s2-scale.show{display:inline-flex}
.shah2 .s2-scale .lbl{font-size:10.5px;font-weight:700;color:var(--s2-ink4);text-transform:uppercase;letter-spacing:.06em}
.shah2 .s2-scale .track{position:relative;width:180px;height:10px;border-radius:5px}
.shah2 .s2-scale.price .track{background:linear-gradient(90deg,#badd94 0%,#f7f8f6 50%,#f3b5a8 100%)}
.shah2 .s2-scale .min,.shah2 .s2-scale .max{font-size:10.5px;font-weight:700;color:var(--s2-ink2);letter-spacing:-.01em;white-space:nowrap}

/* grid + cells */
.shah2 .s2-grid{padding:14px 18px 18px;overflow-x:auto;transition:opacity .16s ease}
.shah2 .s2-grid.is-loading{opacity:.4}
.shah2 .s2-loading{text-align:center;padding:40px 0;color:var(--s2-ink4);font-size:13px}
.shah2 .fl-row{display:flex;align-items:center;margin-bottom:4px;width:max-content}
.shah2 .fl-floor{width:28px;font-size:12px;font-weight:700;color:var(--s2-ink3);text-align:right;padding-right:12px;flex-shrink:0;position:sticky;left:0;z-index:4;background:#fff;box-shadow:-22px 0 0 0 #fff,5px 0 7px -3px rgba(19,55,79,.16),1px 0 0 #e6ebf0}
.shah2 .cell{flex:0 0 82px;width:82px;height:44px;border-radius:7px;background:#fff;border:1.5px solid #8a99ab;margin-right:2px;display:flex;flex-direction:column;justify-content:space-between;padding:4px 6px;cursor:pointer;color:var(--s2-ink1);transition:transform 130ms var(--s2-ease),box-shadow 130ms var(--s2-ease),border-color 130ms var(--s2-ease);position:relative;user-select:none;overflow:visible}
.shah2 .cell:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(12,30,46,.14);border-color:#9eaab7;z-index:3}
.shah2 .cell .top{display:flex;justify-content:space-between;align-items:center;gap:6px}
.shah2 .cell .rchip{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:17px;padding:0 6px;border-radius:5px;font-size:10.5px;font-weight:800;letter-spacing:-.01em}
.shah2 .cell .rchip.r0,.shah2 .cell .rchip.r1{background:#dbe7f5;color:#1f4f8a}
.shah2 .cell .rchip.r2{background:#dcefcf;color:#3d6b1f}
.shah2 .cell .rchip.r3,.shah2 .cell .rchip.r4{background:#fce0c6;color:#8a4a08}
.shah2 .cell .sq{font-size:10.5px;color:#27384a;font-weight:800;background:#e6edf4;padding:1px 4px;border-radius:5px;letter-spacing:-.01em;white-space:nowrap}
.shah2 .cell .num-lbl{display:none;font-size:10px;font-weight:700;color:#54657a;letter-spacing:-.01em;line-height:1}
.shah2 .s2-grid.nums .cell{height:56px}
.shah2 .s2-grid.nums .cell .num-lbl{display:block}
.shah2 .cell .price{font-size:13px;font-weight:800;color:var(--s2-ink1);letter-spacing:-.02em;line-height:1;white-space:nowrap}
.shah2 .cell .disc-badge{position:absolute;top:-7px;right:6px;background:#e25a5a;color:#fff;font-size:9.5px;font-weight:800;padding:2px 6px;border-radius:4px;letter-spacing:-.01em;box-shadow:0 2px 6px rgba(226,90,90,.32);z-index:2}
.shah2 .s2-grid.heat .cell:not(.sold):not(.reserved) .rchip{background:rgba(19,55,79,.10);color:#34485c}
.shah2 .s2-grid.heat .cell:not(.sold):not(.reserved) .sq{background:rgba(255,255,255,.6);color:#1e3346}
.shah2 .cell.sold{background:#eef2f5 !important;border-color:transparent;cursor:default}
.shah2 .cell.sold:hover{transform:none;box-shadow:none;border-color:transparent}
.shah2 .cell.sold .rchip{background:#e0e6ec;color:#a4afba}
.shah2 .cell.sold .sq{background:transparent;color:#a4afba;text-decoration:line-through;text-decoration-thickness:.5px}
.shah2 .cell.sold .price{display:none}
.shah2 .cell.sold .sold-lbl{font-size:10.5px;color:#a4afba;font-weight:600;letter-spacing:-.01em}
.shah2 .cell .sold-lbl{display:none}
.shah2 .cell.sold .sold-lbl{display:block}
.shah2 .cell.reserved{border:1.5px solid #e0962a;background:#fff5e3 !important}
.shah2 .cell.reserved::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,rgba(220,140,25,.7) 0 2px,transparent 2px 6px);pointer-events:none;border-radius:6px}

/* «срез дома»: полоса-кровля сверху и коммерческий 1 этаж снизу */
.shah2 .fl-cap{margin-bottom:0}
.shah2 .fl-comm{margin-top:7px}
.shah2 .s2-capbar{height:32px;border-radius:8px;display:flex;align-items:center;gap:8px;padding:0 13px;font-size:11.5px;font-weight:700;letter-spacing:-.01em;white-space:nowrap}
.shah2 .s2-capbar svg{flex-shrink:0;opacity:.8}
.shah2 .s2-capbar.comm{background:repeating-linear-gradient(45deg,#f4efe4 0 9px,#efe8d9 9px 18px);color:#80704c;border:1px solid #e4dac4}
/* ступенчатая кровля — карниз над верхней квартирой каждого стояка, повторяет силуэт дома */
.shah2 .fl-row{margin-top:0}
.shah2 .cell.roof-top::after{content:'';position:absolute;left:-1.5px;right:.5px;top:-8px;height:7px;border-radius:2px 2px 0 0;background:linear-gradient(180deg,#8c98a4,#76838f);border-top:2.5px solid #5e6c79;box-shadow:0 1px 1px rgba(20,40,60,.12);pointer-events:none;z-index:1}

/* ===== Шахматка: ВСЕ подъезды в одной горизонтальной ленте (UPD 02.06) ===== */
.shah2 .s2-card{position:relative}
.shah2 .s2-grid{scroll-behavior:smooth}
.shah2 .s2-grid.is-dragging{scroll-behavior:auto;cursor:grabbing}
.shah2 .s2-pod-cells{display:flex;flex:0 0 auto}
.shah2 .s2-pod-sep{flex:0 0 22px}            /* тонкое расстояние между подъездами */
/* заголовки «Подъезд N» — сверху над крышей и снизу под первым рядом, по центру блока подъезда */
.shah2 .s2-podcaps{align-items:flex-end}
.shah2 .s2-podcaps-top{margin-bottom:7px}
.shah2 .s2-podcaps-bot{margin-top:7px}
.shah2 .s2-pod-cap{flex:0 0 auto;text-align:center;font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--s2-ink3);white-space:nowrap;overflow:hidden;transition:color .15s}
.shah2 .s2-pod-cap.is-active{color:var(--s2-brand)}
/* стрелки навигации по подъездам — компактные круглые кнопки по центру краёв (НЕ перекрывают данные) */
.shah2 .s2-grid-nav{position:absolute;top:0;bottom:0;width:48px;border:none;cursor:pointer;z-index:7;display:flex;align-items:center;padding:0;background:transparent;pointer-events:none}
.shah2 .s2-grid-nav--left{left:-6px;justify-content:flex-start}
.shah2 .s2-grid-nav--right{right:-6px;justify-content:flex-end}
.shah2 .s2-grid-nav svg{width:38px;height:38px;padding:7px;border-radius:50%;background:rgba(255,255,255,.96);color:#13374f;box-shadow:0 3px 13px rgba(19,55,79,.30),0 0 0 1px rgba(19,55,79,.07);transition:transform .15s,background .15s,box-shadow .15s;pointer-events:auto}
.shah2 .s2-grid-nav:hover svg{background:#fff;transform:scale(1.1);box-shadow:0 6px 18px rgba(19,55,79,.36)}
.shah2 .s2-grid-nav[hidden]{display:none}
/* стрелки — ТОЛЬКО в режиме шахматки (в Каталоге/плитках/списке/планировках их быть не должно) */
#s2-root:not(.view-shah) .s2-grid-nav{display:none !important}

/* hover popover (компактный, снизу от ячейки) */
.s2-pop{position:fixed;z-index:9000;display:none;width:362px;background:#fff;border:1px solid var(--s2-line);border-radius:18px;box-shadow:0 20px 48px rgba(12,30,46,.25);padding:14px;pointer-events:auto;font-family:'Inter','Segoe UI',system-ui,sans-serif;color:var(--s2-ink1)}
.s2-pop .fp-close{display:none;position:absolute;top:10px;right:10px;width:32px;height:32px;border:none;background:#f2f6fa;border-radius:50%;font-size:22px;line-height:1;color:var(--s2-ink3);cursor:pointer;align-items:center;justify-content:center;z-index:3;padding:0}
.s2-pop .fp-close:hover{background:#e6edf4}
.s2-pop .fp-top{display:flex;gap:13px;margin-bottom:13px}
.s2-pop .fp-plan{width:137px;flex-shrink:0;aspect-ratio:196/150;background:linear-gradient(165deg,#fbfdff,#eef3f8);border:1px solid var(--s2-line);border-radius:12px;padding:8px;display:flex}
.s2-pop .fp-plan.has-plan{aspect-ratio:1/1;background:#fff;padding:5px}
.s2-pop .fp-plan img{width:100%;height:100%;object-fit:contain;border-radius:8px;display:block}
.s2-pop .fp-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}
.s2-pop .fp-head{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.s2-pop .fp-type{font-size:17px;font-weight:800;letter-spacing:-.02em;color:var(--s2-ink1);line-height:1.1}
.s2-pop .fp-status{font-size:12px;font-weight:700;padding:4px 11px;border-radius:20px;white-space:nowrap;flex-shrink:0}
.s2-pop .fp-status.free{background:#e7f3ec;color:#2f7d4f}
.s2-pop .fp-status.res{background:#fdf1e0;color:#9a6a16}
.s2-pop .fp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.s2-pop .fp-stat{background:#f2f6fa;border-radius:11px;padding:8px 4px;text-align:center}
.s2-pop .fp-stat .l{display:block;font-size:10px;font-weight:600;color:var(--s2-ink4);letter-spacing:.01em;margin-bottom:3px}
.s2-pop .fp-stat .v{display:block;font-size:14px;font-weight:800;color:var(--s2-ink1);letter-spacing:-.02em;white-space:nowrap}
.s2-pop .fp-pricerow{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:11px}
.s2-pop .fp-total{font-size:24px;font-weight:800;letter-spacing:-.025em;color:var(--s2-ink1);line-height:1;white-space:nowrap}
.s2-pop .fp-ppm{font-size:14px;font-weight:600;color:var(--s2-ink4);white-space:nowrap}
.s2-pop .fp-disc{display:none;align-items:center;gap:6px;width:fit-content;background:#fdeaea;color:#d23b3b;font-size:14px;font-weight:800;letter-spacing:-.01em;padding:5px 13px;border-radius:10px;margin:-3px 0 11px}
.s2-pop .fp-disc.show{display:inline-flex}
.s2-pop .fp-disc::before{content:'';width:8px;height:8px;border-radius:2px;background:#d23b3b}
.s2-pop .fp-btn{display:block;width:100%;background:var(--s2-brand);color:#fff;border:none;padding:13px;border-radius:12px;font-size:15px;font-weight:800;letter-spacing:.02em;cursor:pointer;font-family:inherit;text-align:center;text-decoration:none;transition:background 130ms var(--s2-ease)}
.s2-pop .fp-btn:hover{background:#1f4a6b}

/* (старый мобильный блок s2-nav удалён — структура шахматки 14c изменена 30.05; мобильный режим ниже, после ≤1199) */

/* ============================================================
   Шахматка 14c — двухколоночная раскладка с правым sticky-пультом
   (2026-05-30). Слева сетка квартир, справа пульт управления + менеджер.
   Пульт прилипает в пределах секции; глобальный rail на #shah скрыт.
   ============================================================ */
@media (min-width:1200px){
  /* секция сама занимает правую зону — снимаем резерв под глобальный rail */
  .pdp-main--canon #shah.pdp-section-flats > .container{
    max-width:1320px; margin-left:auto; margin-right:auto; padding-right:32px;
  }
  /* глобальный rail скрыт, пока шахматка в зоне видимости (управление+менеджер в пульте) */
  .pdp-rail.pdp-rail--hidden-by-shah{display:none !important}
}

/* двухколоночная сетка */
.shah2-cols{display:block}
.shah2-main{min-width:0}
@media (min-width:1200px){
  .shah2-cols{display:grid;grid-template-columns:minmax(0,1fr) var(--rail-w,336px);gap:var(--side,24px);align-items:start}
}

/* правый пульт (карточка) */
.shah2-aside{margin-top:14px;background:#fff;border:1px solid var(--s2-line);border-radius:16px;box-shadow:0 10px 28px -12px rgba(12,30,46,.18),0 2px 6px rgba(12,30,46,.05);overflow:hidden}
@media (min-width:1200px){
  .shah2-aside{margin-top:0;position:sticky;top:120px;max-height:calc(100vh - 136px);display:flex;flex-direction:column}
}
.shah2-aside .s2a-body{padding:16px;display:flex;flex-direction:column;gap:16px}
@media (min-width:1200px){
  .shah2-aside .s2a-body{flex:1 1 auto;overflow:hidden;min-height:0}
  .shah2-aside.s2a-scroll-on .s2a-body{overflow-y:auto}
  .shah2-aside:not(.s2a-scroll-on) .s2-lgrid{overflow:hidden}
}
.shah2-aside .s2a-body::-webkit-scrollbar{width:6px}
.shah2-aside .s2a-body::-webkit-scrollbar-thumb{background:#d3dae1;border-radius:4px}
.s2a-label{font-size:10.5px;font-weight:800;color:var(--s2-ink4);text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px;display:flex;align-items:center;gap:7px}
.s2a-cnt{background:#eef2f6;color:var(--s2-ink3);font-size:10px;font-weight:800;padding:1px 7px;border-radius:9px;letter-spacing:0}
/* лейбл-счётчик литеров очереди (не заголовок секции «выбор литера») — фраза, потому без капса */
.s2a-label--liters{text-transform:none;letter-spacing:.01em;font-weight:600}
.s2a-label--liters b{color:var(--s2-ink2);font-weight:800}

/* очередь — селектор на всю ширину панели */
.shah2-aside .s2-qsel{width:100%;display:block}
.shah2-aside .s2-qtrig{width:100%;justify-content:flex-start;background:#f5f7fa;padding:11px 13px}
.shah2-aside .s2-qtrig #s2-qlabel{font-weight:800;font-size:15px}
.shah2-aside .s2-qtrig .when{margin-left:6px}
.shah2-aside .s2-qtrig .chev{margin-left:auto}
.shah2-aside .s2-qdrop{left:0;right:0;width:100%;min-width:0}

/* литеры — компактная сетка пилюль со скроллом */
.s2-lgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;max-height:240px;overflow-y:auto;padding:2px 4px 2px 0}
.s2-lgrid::-webkit-scrollbar{width:6px}
.s2-lgrid::-webkit-scrollbar-thumb{background:#d3dae1;border-radius:4px}
.s2-lgrid .s2-pill{min-width:0;width:100%;padding:7px 6px 6px}
.s2-lgrid .s2-empty{grid-column:1/-1;text-align:center;padding:14px 0}

/* подъезды в панели */
.shah2-aside .s2-podrow{padding:0;border:none;gap:6px}
.shah2-aside .s2-podtab{padding:7px 11px;flex:0 0 auto}

/* чекбоксы столбиком + шкала */
.shah2-aside .s2-toggle{display:flex;margin-bottom:10px}
.shah2-aside .s2-toggle:last-of-type{margin-bottom:0}
.shah2-aside .s2-scale{margin-top:12px;flex-wrap:wrap;gap:7px 9px}
.shah2-aside .s2-scale .lbl{flex:1 1 100%;order:0}
.shah2-aside .s2-scale .min{order:1}
.shah2-aside .s2-scale .max{order:2;margin-left:auto}
.shah2-aside .s2-scale .track{flex:1 1 100%;width:auto;order:3}

/* легенда */
.s2a-legend{display:flex;flex-wrap:wrap;gap:9px 14px;padding-top:14px;border-top:1px solid #eef2f6}
.s2a-legend .lg{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--s2-ink3)}
.s2a-legend .sw{width:12px;height:12px;border-radius:3px;border:1px solid var(--s2-line)}
.s2a-legend .sw.free{background:#fff;border-color:#8a99ab}
.s2a-legend .sw.sold{background:#dde2e8;border-color:transparent}
.s2a-legend .sw.res{background:#fff5e3;border-color:#e0962a}

/* компактный блок менеджера (низ пульта) */
.s2a-mgr{flex-shrink:0;border-top:1px solid var(--s2-line);padding:14px;background:linear-gradient(180deg,#fbfdff,#f2f7fb)}
.s2a-mgr-top{display:flex;align-items:center;gap:11px;margin-bottom:12px}
.s2a-mgr-photo{width:44px;height:44px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid #fff;box-shadow:0 3px 8px rgba(12,30,46,.16);background:var(--s2-brand);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:14px;font-family:'Inter',sans-serif;cursor:zoom-in;transition:transform .15s ease}
.s2a-mgr-photo:hover{transform:scale(1.06)}
.s2a-mgr-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
.s2a-mgr-info{min-width:0;flex:1}
.s2a-mgr-name{font-size:14px;font-weight:800;color:var(--s2-ink1);line-height:1.2;letter-spacing:-.01em}
.s2a-mgr-role{font-size:11px;color:var(--s2-ink3);margin-top:3px;display:flex;align-items:center;gap:6px;font-weight:600}
.s2a-mgr-role .dot{width:6px;height:6px;border-radius:50%;background:#46a836;flex-shrink:0;animation:s2pulse 2s infinite}
@keyframes s2pulse{0%,100%{opacity:1}50%{opacity:.4}}
/* пульт менеджера в Каталоге/Планировках — КРУПНАЯ карточка: цитата над фото → портрет → имя → кнопки */
.s2a-mgr-invite,.s2a-mgr-eyebrow{display:none}
#s2-root.view-catalog .s2a-mgr,#s2-root.view-plans .s2a-mgr{display:flex;flex-direction:column}
/* крупная карточка может быть выше вьюпорта → пульт скроллится внутри, не режет кнопки снизу */
#s2-root.view-catalog .shah2-aside,#s2-root.view-plans .shah2-aside{overflow-y:auto}
#s2-root.view-catalog .shah2-aside .s2a-body,#s2-root.view-plans .shah2-aside .s2a-body{flex:0 0 auto}
#s2-root.view-catalog .s2a-mgr-eyebrow,#s2-root.view-plans .s2a-mgr-eyebrow{display:flex;order:-2;align-items:center;gap:7px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#2e9b54;margin:0 0 10px}
#s2-root.view-catalog .s2a-mgr-eyebrow .dot,#s2-root.view-plans .s2a-mgr-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:#46a836;flex-shrink:0}
#s2-root.view-catalog .s2a-mgr-invite,#s2-root.view-plans .s2a-mgr-invite{display:block;order:-1;font-size:15px;line-height:1.55;font-style:italic;color:var(--s2-ink2);background:#f4f9fa;border-left:3px solid var(--canon-teal,#17b7bf);border-radius:0 10px 10px 0;padding:12px 14px;margin:0 0 13px}
#s2-root.view-catalog .s2a-mgr-top,#s2-root.view-plans .s2a-mgr-top{flex-direction:column;align-items:stretch;gap:11px;margin-bottom:13px}
#s2-root.view-catalog .s2a-mgr-photo,#s2-root.view-plans .s2a-mgr-photo{width:100%;height:230px;border-radius:14px}
#s2-root.view-catalog .s2a-mgr-photo:hover,#s2-root.view-plans .s2a-mgr-photo:hover{transform:none}
#s2-root.view-catalog .s2a-mgr-info,#s2-root.view-plans .s2a-mgr-info{text-align:center;flex:none}
#s2-root.view-catalog .s2a-mgr-name,#s2-root.view-plans .s2a-mgr-name{font-size:17px}
#s2-root.view-catalog .s2a-mgr-role,#s2-root.view-plans .s2a-mgr-role{justify-content:center;font-size:12px;margin-top:4px}
/* «Связаться» — зелёная как кнопка «Подобрать квартиру» в шапке (s2-accent + navy текст) */
.s2a-mgr-call{display:flex;align-items:center;justify-content:center;width:100%;background:var(--s2-accent);color:var(--s2-brand);border:none;border-radius:11px;padding:13px;font-size:15px;font-weight:800;letter-spacing:.01em;cursor:pointer;text-decoration:none;font-family:inherit;box-shadow:0 4px 12px rgba(163,217,119,.42);transition:all 130ms var(--s2-ease)}
.s2a-mgr-call:hover{background:#95cf63;color:var(--s2-brand);text-decoration:none;transform:translateY(-1px)}
/* мессенджеры — широкие фирменные кнопки с логотипами */
.s2a-mgr-chans{display:flex;gap:8px;margin-top:9px}
.s2a-mgr-chan{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;height:44px;border-radius:11px;border:none;color:#fff;text-decoration:none;font-size:13.5px;font-weight:700;letter-spacing:.01em;transition:filter 130ms var(--s2-ease),transform 130ms var(--s2-ease)}
.s2a-mgr-chan:hover{filter:brightness(1.07);transform:translateY(-1px);text-decoration:none;color:#fff}
.s2a-mgr-chan .s2a-chan-logo{flex-shrink:0;display:flex;align-items:center;justify-content:center}
.s2a-mgr-chan.tg{background:#229ED9}
.s2a-mgr-chan.max{background:linear-gradient(135deg,#4a90e2 0%,#9b59d6 100%)}

/* адаптив < 1200px: пульт переезжает наверх горизонтальной полосой, менеджер прячется (есть #mgr ниже) */
@media (max-width:1199px){
  .shah2-cols{display:flex;flex-direction:column}
  .shah2-aside{order:-1;margin-top:0;margin-bottom:14px}
  .shah2-aside .s2a-body{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:14px 20px}
  .shah2-aside .s2a-block{flex:0 1 auto;min-width:150px}
  .s2-lgrid{display:flex;flex-wrap:wrap;max-height:none;overflow:visible;gap:6px;padding:0}
  .s2-lgrid .s2-pill{width:auto;min-width:72px;max-width:170px}
  .shah2-aside .s2-scale{margin-top:0}
  .s2a-legend{flex-basis:100%;border-top:none;padding-top:0}
  .s2a-mgr{display:none}
}

/* ====== мобильная шахматка (≤700px): компактное управление + сетка + тап→шторка ====== */
@media (max-width:700px){
  .shah2-cols{display:flex;flex-direction:column}
  .shah2-aside{order:-1;margin:0 0 12px;border-radius:14px}
  .shah2-aside .s2a-body{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:12px;padding:13px;overflow:visible}
  .shah2-aside .s2a-block{min-width:0;flex:none}
  .s2a-label{margin-bottom:6px}
  /* литеры — горизонтальная лента вместо сетки 3-кол */
  .s2-lgrid{display:flex;flex-wrap:nowrap;overflow-x:auto;max-height:none;gap:6px;padding:2px 0;-webkit-overflow-scrolling:touch}
  .s2-lgrid::-webkit-scrollbar{display:none}
  .s2-lgrid .s2-pill{flex:0 0 auto;width:auto;min-width:84px;max-width:150px}
  /* подъезды — лента */
  .shah2-aside .s2-podrow{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .shah2-aside .s2-podrow::-webkit-scrollbar{display:none}
  .shah2-aside .s2-scale .track{width:100%}
  .s2a-legend{flex-basis:auto}
  /* сетка: место под скролл + правый fade-намёк, что есть ещё колонки */
  .shah2-main{position:relative}
  .shah2-main::after{content:'';position:absolute;top:52px;right:0;bottom:14px;width:22px;background:linear-gradient(90deg,rgba(255,255,255,0),#fff);pointer-events:none;border-radius:0 14px 14px 0;z-index:2}
  .shah2 .s2-grid{padding:14px 12px 16px}
  /* поповер квартиры → шторка снизу (на тап) */
  .s2-pop{left:0!important;right:0!important;bottom:0!important;top:auto!important;width:100%!important;border-radius:20px 20px 0 0;padding:16px;box-shadow:0 -14px 44px rgba(12,30,46,.3);animation:s2sheet .22s var(--s2-eo)}
  .s2-pop .fp-close{display:flex}
  @keyframes s2sheet{from{transform:translateY(100%)}to{transform:translateY(0)}}
}

/* ===================== Карточка квартиры по клику (s2fc · «как на Авито») ===================== */
.s2fc-ov{position:fixed;inset:0;background:rgba(16,32,45,.55);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;z-index:1000;padding:24px}
.s2fc-ov.open{display:flex;animation:s2fcFade .2s}
@keyframes s2fcFade{from{opacity:0}to{opacity:1}}
body.s2fc-lock{overflow:hidden}
.s2fc-shell{display:flex;flex-direction:column;align-items:stretch;width:100%;max-width:880px;max-height:92vh;position:relative;animation:s2fcRise .26s cubic-bezier(.2,.8,.2,1)}
.s2fc-card{background:#fff;border-radius:16px;box-shadow:0 24px 60px -18px rgba(19,55,79,.36),0 4px 14px -6px rgba(19,55,79,.2);width:100%;min-height:0;overflow-y:auto;overflow-x:hidden;position:relative;scrollbar-width:thin;scrollbar-color:rgba(19,55,79,.22) transparent}
.s2fc-card::-webkit-scrollbar{width:10px}
.s2fc-card::-webkit-scrollbar-track{background:transparent}
.s2fc-card::-webkit-scrollbar-thumb{background:rgba(19,55,79,.2);border-radius:10px;border:3px solid #fff;background-clip:padding-box}
.s2fc-card::-webkit-scrollbar-thumb:hover{background:rgba(19,55,79,.36);border:3px solid #fff;background-clip:padding-box}
@keyframes s2fcRise{from{transform:translateY(18px);opacity:.4}to{transform:none;opacity:1}}
/* крестик — снаружи, за правым верхним углом карточки (на тёмном фоне оверлея), слегка прозрачный */
.s2fc-x{position:absolute;top:-1px;right:-46px;z-index:6;flex:none;width:38px;height:38px;border:none;border-radius:50%;background:rgba(255,255,255,.5);backdrop-filter:blur(4px);box-shadow:0 4px 14px rgba(8,18,26,.3);font-size:23px;line-height:1;color:#13374f;cursor:pointer;transition:transform .15s,background .15s}
.s2fc-x:hover{background:rgba(255,255,255,.92);transform:rotate(90deg)}
.s2fc-top{display:grid;grid-template-columns:minmax(0,420px) 1fr}
.s2fc-gal{background:#f4f7f9;padding:20px;border-right:1px solid #e7edf2;display:flex;flex-direction:column}
.s2fc-stage{flex:1;min-height:330px;background:#fff;border:1px solid #e7edf2;border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:zoom-in;position:relative}
.s2fc-stage img{max-width:100%;max-height:380px;display:block}
.s2fc-stage.s2fc-noplan{cursor:default}
.s2fc-stage.s2fc-noplan::after{content:'Планировка появится позже';color:#9aa9b5;font-size:13px}
.s2fc-zoom{position:absolute;bottom:8px;right:10px;font-size:11px;color:#6b7c8a;background:rgba(255,255,255,.85);padding:2px 8px;border-radius:20px;pointer-events:none}
.s2fc-stage.s2fc-noplan .s2fc-zoom{display:none}
.s2fc-tabs{display:flex;gap:8px;margin-top:14px}
.s2fc-tab{flex:1;border:1px solid #e7edf2;background:#fff;border-radius:10px;padding:9px 8px;font-size:12.5px;font-weight:600;color:#6b7c8a;cursor:pointer;transition:.15s;display:flex;align-items:center;justify-content:center;gap:6px;font-family:inherit}
.s2fc-tab.active{border-color:#13374f;background:#13374f;color:#fff}
.s2fc-tab svg{width:15px;height:15px;flex:none}
.s2fc-tab[disabled]{opacity:.45;cursor:not-allowed}
.s2fc-info{padding:26px 28px 22px}
.s2fc-type{font-size:22px;font-weight:800;letter-spacing:-.4px;margin:0 0 8px;line-height:1.15;color:#1c2b36}
.s2fc-status{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;padding:4px 11px;border-radius:20px;background:#e8f6ec;color:#1f8a4c}
.s2fc-status::before{content:'';width:7px;height:7px;border-radius:50%;background:#2bb05f}
.s2fc-status.res{background:#fdf0dc;color:#b3760f}
.s2fc-status.res::before{background:#e0962a}
.s2fc-price{margin:18px 0 2px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.s2fc-total{font-size:30px;font-weight:800;letter-spacing:-.8px;color:#13374f}
.s2fc-base{font-size:16px;color:#aab7c2;text-decoration:line-through}
.s2fc-badge{font-size:13px;font-weight:700;color:#fff;background:#e8533e;border-radius:7px;padding:2px 8px}
.s2fc-ppm{font-size:14px;color:#6b7c8a}
.s2fc-loc{margin:18px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.s2fc-loc span{font-size:12.5px;color:#13374f;background:#f4f7f9;border:1px solid #e7edf2;border-radius:8px;padding:5px 11px}
.s2fc-cta{margin-top:22px;display:flex;flex-direction:column;gap:10px}
.s2fc-btn{display:block;text-align:center;text-decoration:none;border:none;border-radius:12px;padding:14px;font-size:15px;font-weight:700;color:#13374f;background:linear-gradient(180deg,#b6e388,#a3d977);cursor:pointer;box-shadow:0 8px 20px -8px rgba(120,180,60,.7);transition:.15s}
.s2fc-btn:hover{filter:brightness(1.04);transform:translateY(-1px)}
.s2fc-chans{display:flex;gap:10px}
.s2fc-chans:empty{display:none}
.s2fc-chan{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:12px;font-size:13.5px;font-weight:600;color:#fff;text-decoration:none;transition:.15s}
.s2fc-chan:hover{filter:brightness(1.06);transform:translateY(-1px)}
.s2fc-chan.max{background:linear-gradient(135deg,#4a90e2,#9b59d6)}
.s2fc-chan.tg{background:#229ED9}
.s2fc-chan svg{width:18px;height:18px;flex:none}
.s2fc-about{padding:8px 28px 30px}
.s2fc-about h3{font-size:17px;font-weight:800;margin:14px 0 14px;padding-top:18px;border-top:1px solid #e7edf2;color:#1c2b36}
.s2fc-specs{display:grid;grid-template-columns:1fr 1fr;gap:0 36px}
.s2fc-spec{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #e7edf2;font-size:14px;align-items:baseline}
.s2fc-spec .l{color:#6b7c8a}
.s2fc-spec .v{font-weight:600;text-align:right;color:#1c2b36}
.s2fc-note{margin:16px 0 0;font-size:12.5px;color:#9aa9b5;line-height:1.5;background:#f4f7f9;border-radius:10px;padding:11px 14px}
/* eyebrow «ЖК · город» */
.s2fc-eyebrow{font-size:12px;font-weight:600;letter-spacing:.02em;color:#17b7bf;text-transform:uppercase;margin:0 0 6px}
.s2fc-eyebrow:empty{display:none}
/* кнопка-иконка «увеличить» в углу галереи + подпись плана этажа */
.s2fc-expand{position:absolute;top:9px;right:9px;width:32px;height:32px;border:none;border-radius:9px;background:rgba(255,255,255,.82);backdrop-filter:blur(3px);box-shadow:0 2px 8px rgba(19,55,79,.18);color:#13374f;display:flex;align-items:center;justify-content:center;cursor:zoom-in;transition:.15s}
.s2fc-expand:hover{background:#fff;transform:scale(1.06)}
.s2fc-expand svg{width:16px;height:16px}
.s2fc-stage.s2fc-noplan .s2fc-expand{display:none}
.s2fc-galcap{margin-top:10px;font-size:12px;color:#6b7c8a;display:none;align-items:center;gap:7px}
.s2fc-galcap::before{content:'';width:11px;height:11px;border-radius:3px;background:#13374f;flex:none}
/* мини-карточка менеджера внутри */
.s2fc-mgr{display:flex;align-items:center;gap:11px;padding:11px 13px;background:#f4f7f9;border:1px solid #e7edf2;border-radius:12px}
.s2fc-mgr-av{width:44px;height:44px;border-radius:50%;overflow:hidden;flex:none;background:linear-gradient(135deg,#a3d977,#17b7bf);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:15px}
.s2fc-mgr-av img{width:100%;height:100%;object-fit:cover;display:block}
.s2fc-mgr-name{font-size:14px;font-weight:700;color:#1c2b36;line-height:1.2}
.s2fc-mgr-role{font-size:12px;color:#6b7c8a;display:flex;align-items:center;gap:5px;margin-top:2px}
.s2fc-mgr-role .dot{width:7px;height:7px;border-radius:50%;background:#2bb05f;flex:none;box-shadow:0 0 0 3px rgba(43,176,95,.18)}
/* топ-3 факта плитками */
.s2fc-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0 4px}
.s2fc-tile{background:#f4f7f9;border:1px solid #e7edf2;border-radius:12px;padding:12px 10px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:3px}
.s2fc-tile .ic{color:#17b7bf;display:flex}
.s2fc-tile .ic svg{width:22px;height:22px}
.s2fc-tile .num{font-size:19px;font-weight:800;color:#13374f;letter-spacing:-.4px;line-height:1.1}
.s2fc-tile .cap{font-size:11.5px;color:#6b7c8a}
/* подзаголовок группы в «О квартире» (на всю ширину 2-колоночной сетки) */
.s2fc-subh{grid-column:1/-1;font-size:13px;font-weight:700;color:#1c2b36;margin:16px 0 4px}
.s2fc-lb{position:fixed;inset:0;background:rgba(8,18,26,.92);display:none;align-items:center;justify-content:center;z-index:1100;cursor:zoom-out;padding:30px}
.s2fc-lb.open{display:flex}
.s2fc-lb img{max-width:96vw;max-height:92vh;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
/* узкие десктопы/планшеты: места справа мало — крестик обратно поверх карточки */
@media(max-width:1024px){
  .s2fc-x{top:10px;right:10px}
}
@media(max-width:760px){
  .s2fc-ov{padding:0}
  .s2fc-shell{max-width:none;max-height:100vh;position:relative}
  .s2fc-card{max-height:none;border-radius:0;flex:1 1 auto}
  /* на мобайле крестик поверх карточки (full-screen, выносить некуда) */
  .s2fc-x{position:absolute;top:10px;right:10px;margin:0;z-index:6;background:rgba(255,255,255,.6)}
  .s2fc-top{grid-template-columns:1fr}
  .s2fc-gal{border-right:none;border-bottom:1px solid #e7edf2}
  .s2fc-specs{grid-template-columns:1fr}
  .s2fc-info{padding:22px 20px 18px}
  .s2fc-about{padding:6px 20px 26px}
  .s2fc-total{font-size:26px}
}

/* ===================== Виды отображения квартир: тулбар + Плитка/Список/Планировки ===================== */
.shah2 .s2-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;flex-wrap:wrap}
.s2-views{display:inline-flex;background:#fff;border:1px solid #e6ebf0;border-radius:12px;padding:4px;gap:2px;box-shadow:0 1px 3px rgba(12,30,46,.05)}
.s2-vbtn{display:inline-flex;align-items:center;gap:7px;border:none;background:transparent;color:#5a6a7a;font-size:13.5px;font-weight:700;font-family:inherit;padding:8px 14px;border-radius:9px;cursor:pointer;transition:.14s;letter-spacing:-.01em}
.s2-vbtn svg{width:17px;height:17px;flex:none}
.s2-vbtn:hover{color:#13374f;background:#f4f7f9}
.s2-vbtn.active{background:#13374f;color:#fff}
.s2-save{display:inline-flex;align-items:center;gap:8px;border:1.5px solid #13374f;background:#fff;color:#13374f;font-size:13.5px;font-weight:700;font-family:inherit;padding:9px 16px;border-radius:11px;cursor:pointer;transition:.14s;position:relative}
.s2-save svg{width:17px;height:17px;flex:none}
.s2-save:hover{background:#13374f;color:#fff}
.s2-save-hint::after{content:'Функция скоро';position:absolute;top:calc(100% + 8px);right:0;background:#0c1e2e;color:#fff;font-size:12px;font-weight:600;padding:6px 11px;border-radius:8px;white-space:nowrap;box-shadow:0 6px 18px rgba(12,30,46,.25);z-index:5;animation:s2fcFade .15s}
/* видимость блоков пульта по виду */
#s2-root:not(.view-shah) #s2-podblock,#s2-root:not(.view-shah) #s2-dispblock{display:none}
/* легенда цветов сетки (Свободно/Продано/Бронь) — только в шахматке; в Каталоге/Планировках не актуальна */
#s2-root:not(.view-shah) .s2a-legend{display:none}
.view-plans #s2-qblock,.view-plans #s2-lblock{display:none}
#s2-root:not(.view-shah) .shah2-main::after{display:none}
.view-tiles .s2-grid,.view-list .s2-grid,.view-plans .s2-grid{overflow-x:visible;padding:0}
.s2-np{font-size:11px;color:#aab7c2}
/* Плитка */
.s2-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(188px,1fr));gap:14px;padding:16px 18px 18px}
.s2-tile{border:1px solid #e6ebf0;border-radius:12px;background:#fff;overflow:hidden;cursor:pointer;transition:.15s;position:relative;display:flex;flex-direction:column}
.s2-tile:hover{border-color:#17b7bf;box-shadow:0 8px 22px -10px rgba(19,55,79,.28);transform:translateY(-2px)}
.s2-tile.sold{opacity:.55;cursor:default}
.s2-tile.sold:hover{transform:none;box-shadow:none;border-color:#e6ebf0}
.s2-tile-img{aspect-ratio:1/1;background:#f4f7f9;display:flex;align-items:center;justify-content:center;padding:10px;border-bottom:1px solid #eef2f6}
.s2-tile-img img{max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply}
.s2-tile-d{position:absolute;top:8px;right:8px;background:#e25a5a;color:#fff;font-size:11px;font-weight:800;padding:2px 7px;border-radius:6px;box-shadow:0 2px 6px rgba(226,90,90,.3);z-index:2}
.s2-tile-in{padding:11px 12px 13px;display:flex;flex-direction:column;gap:5px}
.s2-tile-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.s2-tile-h b{font-size:14px;font-weight:800;color:#0c1e2e}
.s2-tile-h span{font-size:12.5px;color:#5a6a7a}
.s2-tile-m{font-size:11.5px;color:#8a98a8}
.s2-tile-p{font-size:15px;font-weight:800;color:#13374f;margin-top:2px}
.s2-tile-p i{font-style:normal;font-size:11.5px;font-weight:600;color:#8a98a8;margin-left:5px}
.s2-tile-sold{font-size:12.5px;font-weight:700;color:#8a98a8;margin-top:2px}
/* Список */
.s2-list{padding:8px 10px 14px;overflow-x:auto}
.s2-lrow{display:grid;grid-template-columns:62px 64px 1fr 52px 74px 1.1fr 92px;align-items:center;gap:10px;padding:11px 12px;border-radius:9px;font-size:13.5px;color:#1f3247;cursor:pointer;transition:.12s;min-width:560px}
.s2-lrow:not(.s2-lhead):hover{background:#f4f7f9}
.s2-lhead{font-size:10.5px;font-weight:800;color:#8a98a8;text-transform:uppercase;letter-spacing:.04em;cursor:default;border-radius:0;border-bottom:1px solid #eef2f6}
.s2-lrow .num{font-weight:700;color:#5a6a7a}
.s2-lrow .ar{text-align:right}
.s2-lrow .p{font-weight:800;color:#13374f}
.s2-lrow.sold{opacity:.5;cursor:default}
.s2-lrow.sold:hover{background:transparent}
/* Планировки (CV-группы) */
.s2-pgroup{padding:2px 18px 2px}
.s2-pgh{font-size:15px;font-weight:800;color:#0c1e2e;margin:16px 0 12px;display:flex;align-items:baseline;gap:10px}
.s2-pgh span{font-size:12.5px;font-weight:600;color:#8a98a8}
.s2-plans{display:grid;grid-template-columns:repeat(auto-fill,minmax(208px,1fr));gap:14px;margin-bottom:8px}
.s2-plan{border:1px solid #e6ebf0;border-radius:12px;background:#fff;overflow:hidden;cursor:pointer;transition:.15s;position:relative;display:flex;flex-direction:column}
.s2-plan:hover{border-color:#17b7bf;box-shadow:0 8px 22px -10px rgba(19,55,79,.28);transform:translateY(-2px)}
.s2-plan-v{position:absolute;top:8px;right:8px;background:rgba(19,55,79,.92);color:#fff;font-size:11px;font-weight:800;padding:2px 8px;border-radius:20px;z-index:2}
.s2-plan-img{position:relative;height:220px;background:#f4f7f9;display:flex;align-items:center;justify-content:center;padding:12px;border-bottom:1px solid #eef2f6;overflow:hidden}
.s2-plan-img img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);max-width:calc(100% - 24px);max-height:calc(100% - 24px);object-fit:contain;mix-blend-mode:multiply}
.s2-plan-in{padding:12px 13px 14px;display:flex;flex-direction:column;gap:5px}
.s2-plan-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.s2-plan-h b{font-size:14px;font-weight:800;color:#0c1e2e}
.s2-plan-h span{font-size:12.5px;color:#5a6a7a}
.s2-plan-cnt{font-size:12px;color:#46a836;font-weight:700}
.s2-plan-p{font-size:15px;font-weight:800;color:#13374f;margin-top:2px}
.s2-plan-p i{font-style:normal;font-size:11.5px;font-weight:600;color:#8a98a8;margin-left:5px}
@media(max-width:560px){
  /* Переключатель видов — сегментированный контрол во всю ширину с подписями (иконка скрыта на мобильном — был неочевиден) */
  .shah2 .s2-toolbar{flex-wrap:nowrap;gap:0}
  .s2-views{display:flex;width:100%;flex:1 1 auto;padding:3px;gap:3px}
  .s2-vbtn{flex:1 1 0;min-width:0;justify-content:center;padding:9px 4px;font-size:12.5px;gap:0}
  .s2-vbtn span{display:inline}
  .s2-vbtn svg{display:none}
  .s2-save{display:none}
}

/* ===================== Вид «Каталог» (CIAN-стиль: тумблер Список ⇄ Планировки) ===================== */
.view-catalog #s2-qblock,.view-catalog #s2-lblock{display:none}
.view-catalog .s2-grid{overflow-x:visible;padding:0}
.s2-cat-bar{display:flex;align-items:center;gap:12px;padding:16px 18px 8px}
.s2-cat-lbl{font-size:14px;font-weight:700;color:#1f3247}
.s2-cat-bar .s2-cf-reset{margin-left:auto}
/* мини-фильтр Каталога (цена/площадь ползунками + сортировка) */
.s2-cat-filter{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px 24px;padding:10px 18px 16px;border-bottom:1px solid #eef2f6}
.s2-cf-grp{display:flex;flex-direction:column;gap:5px}
.s2-cf-lbl{font-size:12px;color:#6b7a89;font-weight:600;letter-spacing:.01em}
.s2-cf-dash{color:#9fb0bd;font-weight:500;margin:0 3px}
/* дабл-слайдер цены/площади (стиль главной) */
.s2-cf-dr{flex:1 1 220px;min-width:190px;max-width:300px}
.s2-cf-drhead{display:flex;align-items:center;gap:8px;cursor:pointer}
.s2-cf-drhead .s2-cf-lbl{margin-right:auto}
.s2-cf-drhead:hover .s2-cf-lbl{color:#17b7bf}
.s2-cf-live{font-size:13px;color:#13374f;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.s2-cf-expand{align-self:center;flex:none;width:26px;height:26px;border:0;border-radius:7px;cursor:pointer;transition:.14s;background:#fff no-repeat center/15px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317b7bf' stroke-width='2' stroke-linecap='round'%3E%3Cline x1='4' y1='9' x2='20' y2='9'/%3E%3Cline x1='4' y1='15' x2='20' y2='15'/%3E%3Ccircle cx='10' cy='9' r='2.6' fill='white'/%3E%3Ccircle cx='15' cy='15' r='2.6' fill='white'/%3E%3C/svg%3E")}
.s2-cf-drhead:hover .s2-cf-expand{background-color:#e7f7f8}
.s2-cat-filter .hfb-dr{position:relative;padding:13px 7px 3px}
.s2-cat-filter .hfb-dr-track{position:absolute;left:7px;right:7px;top:19px;height:4px;background:#e3e8ef;border-radius:2px}
.s2-cat-filter .hfb-dr-fill{position:absolute;height:100%;background:#17b7bf;border-radius:2px}
.s2-cat-filter .hfb-dr input[type=range]{position:absolute;left:0;right:0;top:9px;width:100%;-webkit-appearance:none;appearance:none;background:transparent;pointer-events:none;height:24px;margin:0}
.s2-cat-filter .hfb-dr input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:2.5px solid #17b7bf;cursor:grab;pointer-events:auto;box-shadow:0 1px 3px rgba(15,30,55,.18)}
.s2-cat-filter .hfb-dr input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:2.5px solid #17b7bf;cursor:grab;pointer-events:auto;box-shadow:0 1px 3px rgba(15,30,55,.18)}
.s2-cat-filter .hfb-dr input[type=range]:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.08)}
.s2-cf-sort{height:38px;border:1px solid #d7e0e8;border-radius:9px;padding:0 32px 0 12px;font-size:14px;color:#13374f;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M2 4l3 3 3-3' stroke='%2367788a' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 11px center;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}
.s2-cf-sort:focus{outline:none;border-color:#17b7bf;box-shadow:0 0 0 3px rgba(23,183,191,.14)}
.s2-cf-meta{display:flex;align-items:center;gap:14px;margin-left:auto;align-self:flex-end;padding-bottom:6px}
.s2-cf-found{font-size:14px;color:#41525f}
.s2-cf-found b{color:#13374f}
.s2-cf-reset{border:none;background:none;color:#17b7bf;font-size:13px;font-weight:600;cursor:pointer;padding:4px 2px}
.s2-cf-reset:hover{color:#13374f;text-decoration:underline}
.s2-cat-empty{padding:34px 18px;text-align:center;color:#6b7a89;font-size:14px}
@media(max-width:700px){
  .s2-cat-filter{gap:14px 16px;padding:10px 14px 14px}
  .s2-cf-dr{flex:1 1 100%;max-width:none}
  .s2-cf-sort{width:100%}
  .s2-cf-meta{width:100%;margin-left:0;justify-content:space-between;padding-bottom:0}
}
.s2-switch{width:44px;height:24px;border-radius:14px;border:none;background:#d3dae1;position:relative;cursor:pointer;transition:.18s;flex:none;padding:0}
.s2-switch .knob{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(12,30,46,.3);transition:.18s}
.s2-switch.on{background:#17b7bf}
.s2-switch.on .knob{left:23px}
.s2-rgroups{padding:4px 6px}
.s2-rgroup{border-bottom:1px solid #eef2f6}
.s2-rg-head{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:18px;padding:15px 12px;cursor:pointer;transition:.12s;border-radius:9px}
.s2-rg-head:hover{background:#f4f7f9}
.rg-name{font-size:15px;font-weight:800;color:#0c1e2e}
.rg-area{font-size:13px;color:#8a98a8}
.rg-price{font-size:14px;font-weight:700;color:#0c1e2e;white-space:nowrap}
.rg-offers{font-size:13px;font-weight:700;color:#17b7bf;white-space:nowrap;display:inline-flex;align-items:center;gap:8px}
.rg-offers .chev{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:.18s;margin-top:-3px}
.s2-rgroup.open .rg-offers .chev{transform:rotate(-135deg);margin-top:2px}
.s2-rg-body{display:none;padding:0 6px 10px}
.s2-rgroup.open .s2-rg-body{display:block}
.s2-fr{display:grid;grid-template-columns:1.1fr 1fr 1.1fr .7fr 1.2fr;align-items:center;gap:10px;padding:11px 14px;border-top:1px solid #f0f3f6;font-size:13.5px;color:#1f3247}
.s2-fr .a{font-weight:700;color:#13374f}
.s2-fr .p{text-align:right;font-weight:800;color:#0c1e2e}
.s2-fr .c,.s2-fr .s,.s2-fr .fl{color:#5a6a7a}
.s2-fr-head{font-size:11px;font-weight:800;color:#8a98a8;text-transform:uppercase;letter-spacing:.04em;border-top:none}
.s2-fr-head .a,.s2-fr-head .p{color:#8a98a8;font-weight:800}
/* сортировка таблицы квартир: кликабельные заголовки + стрелка у активной колонки */
.s2-fr-th{cursor:pointer;user-select:none;transition:color .12s}
.s2-fr-th:hover{color:#13374f}
.s2-th-arr{display:inline-block;width:0;height:0;margin-left:4px;vertical-align:middle;border-left:3px solid transparent;border-right:3px solid transparent;opacity:0}
.s2-th-arr.up{border-bottom:4px solid currentColor;opacity:1}
.s2-th-arr.down{border-top:4px solid currentColor;opacity:1}
.s2-fr-th:hover .s2-th-arr{opacity:.4}
/* дропдаун сортировки — только на узком экране (где колонки Корпус/Срок скрыты) */
.s2cat-sortbar{display:none;align-items:center;gap:10px;padding:2px 22px 10px}
.s2cat-sortlbl{font-size:11px;font-weight:800;color:#8a98a8;text-transform:uppercase;letter-spacing:.04em}
.s2cat-sortsel{flex:1;min-width:0;border:1.5px solid #e6ebf0;border-radius:9px;padding:8px 10px;font-size:14px;font-weight:700;color:#13374f;font-family:inherit;background:#fff;cursor:pointer}
.s2cat-sortdir{border:1.5px solid #e6ebf0;background:#fff;border-radius:9px;width:38px;height:38px;font-size:16px;color:#13374f;cursor:pointer;flex:none;font-family:inherit}
.s2cat-sortdir:hover{border-color:#17b7bf}
.s2-fr--act{cursor:pointer;transition:background .12s}
.s2-fr--act:hover{background:#f0fbfb}
.s2-fr--act:hover .a{color:#0e9aa1}
.s2-fr-more{padding:11px 14px;font-size:12.5px;color:#8a98a8;text-align:center}
.s2-fr-load,.s2-fr-empty{padding:18px 14px;font-size:13px;color:#8a98a8;text-align:center}
.s2-cat-foot{padding:16px 18px;font-size:13.5px;color:#5a6a7a;border-top:1px solid #eef2f6}
.s2-cat-foot b{color:#0c1e2e}
.s2-chips{display:flex;flex-wrap:wrap;gap:8px;padding:4px 18px 14px}
.s2-chip{border:1.5px solid #e6ebf0;background:#fff;color:#1f3247;font-size:13px;font-weight:700;font-family:inherit;padding:7px 15px;border-radius:20px;cursor:pointer;transition:.13s}
.s2-chip:hover{border-color:#17b7bf}
.s2-chip.on{background:#13374f;border-color:#13374f;color:#fff}
.view-catalog .s2-plans,.view-plans .s2-plans{padding:0 18px 18px}
/* попап планировки (список квартир CV-группы) */
.s2cat-ov{position:fixed;inset:0;background:rgba(16,32,45,.55);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;z-index:1000;padding:24px}
.s2cat-ov.open{display:flex;animation:s2fcFade .2s}
.s2cat-card{background:#fff;border-radius:16px;box-shadow:0 24px 60px -18px rgba(19,55,79,.4);width:100%;max-width:680px;max-height:90vh;overflow:visible;position:relative;display:flex;flex-direction:column;animation:s2fcRise .26s cubic-bezier(.2,.8,.2,1)}
/* крестик вынесен ЗА пределы окна — верхний правый угол (на затемнении). Белый кружок для контраста */
.s2cat-x{position:absolute;top:-16px;right:-16px;width:38px;height:38px;border:none;border-radius:50%;background:#fff;font-size:22px;line-height:1;color:#13374f;cursor:pointer;z-index:5;transition:.15s;box-shadow:0 6px 18px rgba(0,0,0,.30)}
.s2cat-x:hover{background:#eef2f6;transform:rotate(90deg)}
.s2cat-head{display:flex;gap:16px;padding:22px 22px 16px;border-bottom:1px solid #eef2f6;align-items:center;flex:none;border-radius:16px 16px 0 0}
.s2cat-plan{width:96px;height:96px;flex:none;background:#f4f7f9;border:1px solid #e6ebf0;border-radius:12px;display:flex;align-items:center;justify-content:center;padding:7px;overflow:hidden}
.s2cat-plan img{max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply}
.s2cat-ttl{font-size:18px;font-weight:800;color:#0c1e2e;letter-spacing:-.3px}
.s2cat-price{font-size:20px;font-weight:800;color:#13374f;margin-top:4px}
.s2cat-ppm{font-size:12.5px;color:#8a98a8;margin-top:3px}
.s2cat-list{padding:6px 22px 20px;flex:1 1 auto;min-height:0;overflow:auto;border-radius:0 0 16px 16px}
@media(max-width:560px){
  .s2cat-ov{padding:0}.s2cat-card{max-height:100vh;border-radius:0;max-width:none}
  .s2cat-x{top:10px;right:10px;box-shadow:0 2px 10px rgba(0,0,0,.22)}
  .s2cat-head{border-radius:0}.s2cat-list{border-radius:0}
  .s2-rg-head{grid-template-columns:1fr auto;gap:5px 14px}
  .rg-area{display:none}
  .s2-fr{grid-template-columns:1fr 1fr 1.2fr;gap:5px 10px}
  .s2-fr .c,.s2-fr-head .c,.s2-fr .s,.s2-fr-head .s{display:none}
  .s2cat-sortbar{display:flex}
  .s2-fr-head .s2-th-arr{display:none}
}

/* ===== Попап точной настройки слайдера (Цена / Площадь) ===== */
.s2cf-ov{position:fixed;inset:0;background:rgba(16,32,45,.5);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;z-index:1100;padding:24px}
.s2cf-ov.open{display:flex;animation:s2fcFade .2s}
.s2cf-card{background:#fff;border-radius:16px;box-shadow:0 24px 60px -18px rgba(19,55,79,.4);width:100%;max-width:380px;position:relative;padding:18px 20px 16px;animation:s2fcRise .26s cubic-bezier(.2,.8,.2,1)}
.s2cf-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}
.s2cf-title{font-size:13px;font-weight:800;color:#13374f;letter-spacing:.02em}
.s2cf-x{width:30px;height:30px;border:none;border-radius:50%;background:#f4f7f9;font-size:19px;line-height:1;color:#13374f;cursor:pointer;transition:.15s}
.s2cf-x:hover{background:#e6ebf0;transform:rotate(90deg)}
.s2cf-bigvals{display:flex;align-items:baseline;justify-content:center;gap:10px;margin:10px 0 8px;font-size:22px;font-weight:800;color:#13374f;font-variant-numeric:tabular-nums}
.s2cf-bigvals .s2cf-dash{color:#9fb0bd;font-weight:500;font-size:18px}
.s2cf-dr{position:relative;padding:18px 9px 6px}
.s2cf-dr .hfb-dr-track{position:absolute;left:9px;right:9px;top:24px;height:5px;background:#e3e8ef;border-radius:3px}
.s2cf-dr .hfb-dr-fill{position:absolute;height:100%;background:#17b7bf;border-radius:3px}
.s2cf-dr input[type=range]{position:absolute;left:0;right:0;top:13px;width:100%;-webkit-appearance:none;appearance:none;background:transparent;pointer-events:none;height:26px;margin:0}
.s2cf-dr input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:2.5px solid #17b7bf;cursor:grab;pointer-events:auto;box-shadow:0 1px 4px rgba(15,30,55,.22)}
.s2cf-dr input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:2.5px solid #17b7bf;cursor:grab;pointer-events:auto;box-shadow:0 1px 4px rgba(15,30,55,.22)}
.s2cf-dr input[type=range]:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.08)}
.s2cf-edges{display:flex;justify-content:space-between;margin:6px 6px 0;font-size:11.5px;color:#8a98a8;font-weight:600}
.s2cf-nums{display:flex;gap:10px;margin-top:14px}
.s2cf-num{flex:1;display:flex;align-items:center;gap:5px;background:#f4f7fb;border:1px solid #e6ecf2;border-radius:9px;padding:8px 11px;font-size:13px;font-weight:700;color:#13374f;cursor:text;transition:.14s}
.s2cf-num:focus-within{border-color:#17b7bf;box-shadow:0 0 0 3px rgba(23,183,191,.14);background:#fff}
.s2cf-num .lab{color:#8a98a8;font-weight:600;font-size:12px;flex:none}
.s2cf-num input{flex:1;min-width:0;border:0;background:transparent;font:inherit;color:inherit;text-align:right;padding:0;-moz-appearance:textfield}
.s2cf-num input::-webkit-inner-spin-button,.s2cf-num input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.s2cf-num input:focus{outline:none}
.s2cf-num .u{color:#8a98a8;font-size:11px;font-weight:500;flex:none}
.s2cf-f{display:flex;gap:10px;margin-top:16px}
.s2cf-f button{flex:1;padding:11px 12px;border-radius:10px;border:0;cursor:pointer;font-size:14px;font-weight:700;transition:.14s}
.s2cf-reset{background:#f4f7f9;color:#5a6b80}
.s2cf-reset:hover{background:#e9eef3;color:#13374f}
.s2cf-apply{background:#17b7bf;color:#fff}
.s2cf-apply:hover{background:#13a0a8}
@media(max-width:560px){.s2cf-ov{padding:16px}.s2cf-card{max-width:none}}

/* ===== Хелпер «Температура цены» (объяснение + градиент-шкала) ===== */
.s2help-ov{position:fixed;inset:0;background:rgba(16,32,45,.5);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;z-index:1100;padding:24px}
.s2help-ov.open{display:flex;animation:s2fcFade .2s}
.s2help-card{background:#fff;border-radius:16px;box-shadow:0 24px 60px -18px rgba(19,55,79,.4);width:100%;max-width:380px;position:relative;padding:22px 22px 20px;animation:s2fcRise .26s cubic-bezier(.2,.8,.2,1)}
.s2help-x{position:absolute;top:12px;right:12px;width:30px;height:30px;border:none;border-radius:50%;background:#f4f7f9;font-size:19px;line-height:1;color:#13374f;cursor:pointer;transition:.15s}
.s2help-x:hover{background:#e6ebf0;transform:rotate(90deg)}
.s2help-h{font-size:17px;font-weight:800;color:#0c1e2e;letter-spacing:-.3px;margin:0 0 10px}
.s2help-p{font-size:13.5px;line-height:1.55;color:#41525f;margin:0 0 14px}
.s2help-p b{color:#13374f}
.s2help-scale{display:flex;align-items:center;gap:10px;margin:0 0 14px}
.s2help-scale .track{flex:1;height:12px;border-radius:6px;background:linear-gradient(90deg,#badd94 0%,#f7f8f6 50%,#f3b5a8 100%)}
.s2help-scale .min,.s2help-scale .max{font-size:11.5px;font-weight:700;color:#41525f;white-space:nowrap}
.s2help-note{font-size:12px;line-height:1.5;color:#8a98a8;margin:0}
@media(max-width:560px){.s2help-ov{padding:16px}.s2help-card{max-width:none}}

/* === Галерея hero: листание фото + видео прямо в окне (inline) — 30.05 === */
/* inline-видео в окне hero (последний слайд) */
.pdp-hero-video{
  display:none;
  position:absolute; inset:0;
  background:#000;
}
.pdp-hero-video iframe{ width:100%; height:100%; border:0; display:block; }

/* стрелки листания поверх главного фото */
.pdp-hero-arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  z-index:3;
  width:44px; height:44px;
  display:flex; align-items:center; justify-content:center;
  border:none; border-radius:50%;
  background:rgba(12,32,48,.42); color:#fff;
  font-size:26px; line-height:1; cursor:pointer;
  backdrop-filter:blur(6px);
  opacity:0; transition:opacity .18s, background .15s;
}
.pdp-hero-photo:hover .pdp-hero-arrow{ opacity:1; }
.pdp-hero-arrow:hover{ background:rgba(12,32,48,.7); }
.pdp-hero-arrow:focus-visible{ opacity:1; outline:2px solid var(--teal,#17b7bf); outline-offset:2px; }
.pdp-hero-arrow--prev{ left:14px; }
.pdp-hero-arrow--next{ right:14px; }
/* на тач-устройствах стрелки видны всегда (нет hover) */
@media(hover:none){
  .pdp-hero-arrow{ opacity:1; background:rgba(12,32,48,.55); }
}

/* кнопка «развернуть на весь экран» (рамка) */
.pdp-hero-expand{
  position:absolute; top:16px; right:16px; z-index:3;
  width:38px; height:38px;
  display:flex; align-items:center; justify-content:center;
  border:none; border-radius:10px;
  background:rgba(12,32,48,.42); color:#fff;
  cursor:pointer; backdrop-filter:blur(6px);
  opacity:0; transition:opacity .18s, background .15s;
}
.pdp-hero-expand svg{ width:18px; height:18px; }
.pdp-hero-photo:hover .pdp-hero-expand{ opacity:1; }
.pdp-hero-expand:hover{ background:rgba(12,32,48,.7); }
.pdp-hero-expand:focus-visible{ opacity:1; outline:2px solid var(--teal,#17b7bf); outline-offset:2px; }
@media(hover:none){ .pdp-hero-expand{ opacity:1; background:rgba(12,32,48,.55); } }

/* === Полноэкранный просмотр галереи (открывается кнопкой «развернуть») === */
.pdp-lb{
  position:fixed; inset:0; z-index:1200;
  display:none; flex-direction:column;
  background:rgba(8,18,26,.94);
  backdrop-filter:blur(4px);
}
.pdp-lb.pdp-lb--open{ display:flex; animation:pdpLbFade .2s ease; }
@keyframes pdpLbFade{ from{opacity:0} to{opacity:1} }
.pdp-lb-stage{
  flex:1; min-height:0;
  display:flex; align-items:center; justify-content:center;
  padding:56px 72px 12px; position:relative;
}
.pdp-lb-img{ max-width:100%; max-height:100%; object-fit:contain; border-radius:8px; box-shadow:0 20px 60px rgba(0,0,0,.5); }
.pdp-lb-video{ width:min(90vw,1100px); aspect-ratio:16/9; max-height:100%; display:none; }
.pdp-lb-video iframe{ width:100%; height:100%; border:0; border-radius:8px; box-shadow:0 20px 60px rgba(0,0,0,.5); }
.pdp-lb-counter{
  position:absolute; top:16px; left:50%; transform:translateX(-50%);
  color:#fff; font-size:14px; font-weight:600; letter-spacing:.02em;
  background:rgba(0,0,0,.4); padding:6px 14px; border-radius:999px; z-index:2;
}
.pdp-lb-x{
  position:absolute; top:12px; right:16px; z-index:3;
  width:42px; height:42px; border:none; border-radius:50%;
  background:rgba(255,255,255,.12); color:#fff;
  font-size:26px; line-height:1; cursor:pointer; transition:background .15s, transform .15s;
}
.pdp-lb-x:hover{ background:rgba(255,255,255,.24); transform:rotate(90deg); }
.pdp-lb-nav{
  position:absolute; top:50%; transform:translateY(-50%); z-index:2;
  width:48px; height:48px; border:none; border-radius:50%;
  background:rgba(255,255,255,.12); color:#fff;
  font-size:30px; line-height:44px; cursor:pointer; transition:background .15s;
}
.pdp-lb-nav:hover{ background:rgba(255,255,255,.26); }
.pdp-lb-prev{ left:18px; }
.pdp-lb-next{ right:18px; }
.pdp-lb-strip{
  flex:0 0 auto; display:flex; gap:8px; padding:10px 18px 16px;
  overflow-x:auto; overflow-y:hidden; justify-content:flex-start; scrollbar-width:thin;
}
.pdp-lb-strip::-webkit-scrollbar{ height:6px; }
.pdp-lb-strip::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.25); border-radius:3px; }
.pdp-lb-thumb{
  flex:0 0 auto; width:72px; height:52px;
  border-radius:6px; overflow:hidden;
  border:2px solid transparent; opacity:.55;
  cursor:pointer; transition:opacity .15s, border-color .15s;
  background:rgba(255,255,255,.08);
  display:flex; align-items:center; justify-content:center;
}
.pdp-lb-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.pdp-lb-thumb:hover{ opacity:.85; }
.pdp-lb-thumb--active{ opacity:1; border-color:#fff; }
.pdp-lb-thumb--video{ color:#fff; }
.pdp-lb-thumb--video svg{ width:22px; height:22px; }
@media(max-width:640px){
  .pdp-lb-stage{ padding:52px 12px 8px; }
  .pdp-lb-nav{ width:40px; height:40px; font-size:24px; line-height:36px; }
  .pdp-lb-prev{ left:6px; } .pdp-lb-next{ right:6px; }
  .pdp-lb-thumb{ width:60px; height:44px; }
}

/* Планировки: сворачивание после 3 рядов */
.s2-plan.is-hidden{display:none}
.s2-plans-more{display:block;margin:4px auto 18px;padding:11px 28px;border:1px solid var(--canon-border,#dfe3e8);border-radius:10px;background:#fff;color:var(--canon-navy,#13374f);font:600 14px/1 'Inter',sans-serif;cursor:pointer;transition:background .15s,border-color .15s}
.s2-plans-more:hover{background:var(--canon-paper-2,#f4f6f8);border-color:var(--canon-navy,#13374f)}

/* Бейдж «умный фильтр» — только в Каталоге/Планировках */
.s2-smart{display:none;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:#5a6a7a;white-space:nowrap}
.s2-smart-dot{position:relative;flex:none;width:8px;height:8px;border-radius:50%;background:#22b07a}
.s2-smart-dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:#22b07a;animation:s2pulse 1.8s ease-out infinite}
@keyframes s2pulse{0%{transform:scale(1);opacity:.65}100%{transform:scale(2.8);opacity:0}}
.view-catalog .s2-smart,.view-plans .s2-smart{display:inline-flex}

/* SEO 11.06.2026: город в H1 карточки («ЖК Имя в Краснодаре») — приглушённый хвост */
.pdp-hero-title .pdp-hero-title-city{font-weight:600;color:#5b6b7a;font-size:.6em;letter-spacing:0;white-space:nowrap;margin-left:.18em}

/* ===== WhatsApp-кнопки менеджера (11.06.2026, wa-btn) ===== */
/* 3 кнопки (TG+MAX+WA) не влезают в рейл 298px (min-content ~312px, overflow-x:hidden режет
   правую) → разрешаем перенос: третья кнопка с flex:1 займёт всю ширину второй строкой */
.pr-msgrow{flex-wrap:wrap}
.pr-wa{background:#25d366;box-shadow:0 5px 13px rgba(37,211,102,.3)}.pr-wa:hover{filter:brightness(1.05)}
.s2a-mgr-chan.wa{background:#25d366}
.pdp-mgr-channel--wa{background:#25d366;color:#fff}
.pdp-mgr-channel--wa:hover{background:#1fc25c}

/* SEO 12.06.2026: H1 карточки — скрытый SEO-заголовок (текст из админки/формулы),
   видимый заголовок шапки — p.pdp-hero-title с прежним дизайном */
.pdp-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap}
p.pdp-hero-title{margin:0}
