/* AP-R · раздел «Коммерция» (вариант v4-2) · копия inline-стилей карточки ЖК (zhilye-kompleksy/kvartiry-v-novostroykakh/detail_v2.php, снимок 06.10) · собрано build\devexport.py 07.10.2026 — не править руками */

.apr-hcb-sec{padding:34px 0}
.apr-hcb{display:flex;gap:26px;align-items:center;flex-wrap:wrap;background:linear-gradient(110deg,#13374f 0%,#17545f 100%);border-radius:18px;padding:24px 28px;box-shadow:0 16px 38px rgba(19,55,79,.20)}
.apr-hcb-copy{flex:1 1 320px;min-width:260px;color:#fff}
.apr-hcb-eyebrow{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#a3d977;margin-bottom:6px}
.apr-hcb-title{font-size:23px;font-weight:800;line-height:1.2;margin-bottom:5px;text-wrap:balance}
.apr-hcb-sub{font-size:14px;color:#c4d6e0}
.apr-hcb-form{flex:1 1 430px;min-width:300px;display:flex;gap:10px;flex-wrap:wrap;align-items:stretch}
.apr-hcb-inp{display:flex;align-items:center;gap:8px;background:#fff;border-radius:12px;padding:0 14px}
.apr-hcb-inp:first-of-type{flex:1 1 130px}
.apr-hcb-inp:nth-of-type(2){flex:1 1 170px}
.apr-hcb-inp svg{flex:0 0 auto}
.apr-hcb-inp input{border:0;outline:0;padding:15px 0;font-size:15px;width:100%;background:transparent;color:#1f2c38}
.apr-hcb-inp.is-error{box-shadow:0 0 0 2px #e74c3c}
.apr-hcb-hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.apr-hcb-btn{flex:1 1 100%;background:#a3d977;color:#163d10;border:0;border-radius:12px;font-weight:800;font-size:16px;padding:16px 20px;cursor:pointer;box-shadow:0 8px 22px rgba(163,217,120,.45);transition:filter .15s,transform .05s}
.apr-hcb-btn:hover{filter:brightness(1.03)}
.apr-hcb-btn:active{transform:translateY(1px)}
.apr-hcb-btn:disabled{opacity:.6;cursor:default}
.apr-hcb-btn:focus-visible{outline:3px solid #cdeafd;outline-offset:2px}
.apr-hcb-note{flex:1 1 100%;font-size:12px;color:#9fb6c4;text-align:center}
.apr-hcb-note a{color:#c4d6e0;text-decoration:underline}
.apr-hcb-note.is-ok{color:#a3d977;font-weight:700}
.apr-hcb-note.is-err{color:#ffb4ad;font-weight:700}
@media (max-width:760px){
  .apr-hcb{padding:20px}
  .apr-hcb-title{font-size:20px}
  .apr-hcb-inp:first-of-type,.apr-hcb-inp:nth-of-type(2){flex:1 1 100%}
}


  .pdp-section-genplan{padding:40px 0}
  .pdp-genplan-stage{position:relative;max-width:100%;margin:0 auto;border-radius:16px;overflow:hidden;box-shadow:0 10px 40px rgba(19,55,79,.12);line-height:0;background:#eef2f5;aspect-ratio:2000/1124}
  .pdp-genplan-stage.has-areas{aspect-ratio:var(--gp-ar,2000/1124)}
  .pdp-genplan-img{display:block;width:100%;height:100%;object-fit:contain}
  .pdp-genplan-svg{position:absolute;inset:0;width:100%;height:100%}
  .pdp-gp-poly{fill:rgba(23,183,191,0);stroke:rgba(23,183,191,0);stroke-width:2;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .15s ease,stroke .15s ease}
  .pdp-gp-poly.is-hot{fill:rgba(23,183,191,.30);stroke:rgba(23,183,191,.95)}
  .pdp-gp-poly.is-done.is-hot{fill:rgba(163,217,121,.32);stroke:rgba(122,176,76,.95)}
  /* кружок-выноска номера литера (как dogma) — всегда виден */
  .pdp-gp-mark{position:absolute;transform:translate(-50%,-50%);z-index:5;min-width:26px;height:26px;padding:0 7px;border-radius:14px;border:2px solid #13374f;background:#fff;color:#13374f;font:700 13px/1 system-ui;cursor:pointer;box-shadow:0 2px 7px rgba(0,0,0,.32);display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s,transform .1s,border-color .15s}
  .pdp-gp-mark:hover,.pdp-gp-mark.is-hot{background:#17b7bf;color:#fff;border-color:#0a8a92;transform:translate(-50%,-50%) scale(1.12);z-index:7}
  .pdp-gp-mark.is-done{border-color:#7ab04c}
  .pdp-gp-mark.is-done:hover,.pdp-gp-mark.is-done.is-hot{background:#7ab04c;border-color:#5e8a39}
  .pdp-genplan-tip{position:absolute;z-index:6;pointer-events:none;background:#13374f;color:#fff;padding:8px 12px;border-radius:10px;font-size:13px;line-height:1.4;box-shadow:0 10px 28px rgba(0,0,0,.28);display:flex;flex-direction:column;gap:1px;white-space:nowrap;opacity:0;transition:opacity .12s ease}
  .pdp-genplan-tip[aria-hidden="false"]{opacity:1}
  .pdp-genplan-tip b{font-size:14px;font-weight:700}
  .pdp-genplan-tip .st{color:#a3d977;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;margin-top:1px}
  .pdp-genplan-tip .dl{margin-top:3px;font-size:11.5px;color:#f0c674;font-weight:600}
  .pdp-genplan-tip .pr{color:#7fe3e9;font-weight:700;margin-top:3px}
  .pdp-genplan-tip .fl{opacity:.85;font-size:12px}
  /* распроданный литер: сигнальный бейдж в подсказке + запрет курсора */
  .pdp-genplan-tip .sold{align-self:flex-start;margin-top:4px;background:#e5484d;color:#fff;font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:2px 9px;border-radius:6px;box-shadow:0 0 0 0 rgba(229,72,77,.55);animation:gpSoldPulse 1.15s ease-in-out infinite}
  @keyframes gpSoldPulse{0%{box-shadow:0 0 0 0 rgba(229,72,77,.55)}70%{box-shadow:0 0 0 7px rgba(229,72,77,0)}100%{box-shadow:0 0 0 0 rgba(229,72,77,0)}}
  .pdp-gp-poly.is-sold,.pdp-gp-mark.is-sold{cursor:not-allowed}
  /* зум генплана: масштабируемая обёртка (картинка+обводки+кружки) + кнопка-лупа */
  .pdp-gp-zoom{position:absolute;inset:0;transform-origin:0 0;will-change:transform}
  .pdp-genplan-stage.is-zoom{cursor:grab;touch-action:none}
  .pdp-genplan-stage.is-zoom.is-panning,.pdp-genplan-stage.is-zoom.is-panning *{cursor:grabbing}
  /* кнопки +/− зума: видны только в режиме зума, снизу справа (удобно на тач) */
  .pdp-gp-zoomctl{position:absolute;right:12px;bottom:12px;z-index:8;display:none;flex-direction:column;border-radius:10px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.22)}
  .pdp-genplan-stage.is-zoom .pdp-gp-zoomctl{display:flex}
  .pdp-gp-zoomctl button{appearance:none;border:0;width:40px;height:40px;background:rgba(255,255,255,.95);color:#13374f;font:300 24px/1 system-ui;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}
  .pdp-gp-zoomctl button:first-child{border-bottom:1px solid rgba(19,55,79,.12)}
  .pdp-gp-zoomctl button:hover{background:#17b7bf;color:#fff}
  .pdp-gp-zoombtn{position:absolute;top:12px;right:12px;z-index:8;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid rgba(19,55,79,.15);background:rgba(255,255,255,.92);color:#13374f;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.18);transition:background .15s,color .15s,transform .1s;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
  .pdp-gp-zoombtn:hover{background:#17b7bf;color:#fff;transform:scale(1.06)}
  .pdp-gp-zoombtn .ic-close{display:none}
  .pdp-genplan-stage.is-zoom .pdp-gp-zoombtn{background:#13374f;color:#fff}
  .pdp-genplan-stage.is-zoom .pdp-gp-zoombtn .ic-zoom{display:none}
  .pdp-genplan-stage.is-zoom .pdp-gp-zoombtn .ic-close{display:inline}
  /* двухколоночная раскладка: слева генплан, справа sticky-блок менеджера (адаптив) */
  .pdp-genplan-cols{display:grid;grid-template-columns:minmax(0,1fr) var(--rail-w,336px);gap:var(--side,24px);align-items:start}
  .pdp-genplan-aside{position:sticky;top:110px}
  @media(max-width:1199px){.pdp-genplan-cols{grid-template-columns:1fr}.pdp-genplan-aside{display:none}.pdp-genplan-stage:not(.has-areas){aspect-ratio:var(--gp-ar,2000/1124);max-height:80vh}}
  /* МОБАЙЛ: на общем виде 66 номеров залепляют план → показываем компактные точки-маркеры (статус цветом),
     а в режиме зума (корпуса крупные) — полноценные кружки с номерами. Прогрессивное раскрытие. */
  @media(max-width:1023px){
    .pdp-genplan-stage{touch-action:pan-y}/* 1 палец — скролл страницы, 2 пальца — pinch плана */
    .pdp-gp-mark{min-width:0;width:13px;height:13px;padding:0;border-width:1.5px;font-size:0;box-shadow:0 1px 3px rgba(0,0,0,.45)}
    .pdp-genplan-stage.is-zoom .pdp-gp-mark{width:auto;min-width:22px;height:22px;padding:0 6px;border-width:2px;font-size:11px}
    .pdp-gp-zoombtn{width:44px;height:44px}
    .pdp-gp-zoomctl button{width:44px;height:44px}
    .pdp-gp-hint{position:absolute;left:12px;bottom:12px;z-index:8;background:rgba(19,55,79,.86);color:#fff;font-size:11.5px;line-height:1.3;padding:6px 11px;border-radius:9px;max-width:62%;pointer-events:none;transition:opacity .25s;display:flex;align-items:center;gap:6px}
    .pdp-genplan-stage.is-zoom .pdp-gp-hint{opacity:0}
  }
  @media(min-width:1024px){ .pdp-gp-hint{display:none} }
  /* табы переключения ген.планов (комфорт/бизнес) — НАД картинкой, у её правого края */
  .pdp-gp-left{min-width:0;display:flex;flex-direction:column}
  .pdp-gp-tabs{align-self:flex-end;display:inline-flex;gap:2px;background:#eef2f5;border:1px solid var(--canon-border);border-radius:8px;padding:2px;margin-bottom:14px}
  .pdp-gp-tab{appearance:none;border:0;background:transparent;color:#13374f;font-weight:600;font-size:12px;line-height:1;letter-spacing:.02em;padding:5px 14px;border-radius:6px;cursor:pointer;transition:background .15s,color .15s}
  .pdp-gp-tab:hover{background:rgba(19,55,79,.07)}
  .pdp-gp-tab.active{background:#13374f;color:#fff;box-shadow:0 1px 3px rgba(19,55,79,.16)}
  .pdp-gp-panels{min-width:0}
  .pdp-gp-panel{display:none}
  .pdp-gp-panel.active{display:block}
  

    /* Плашка «Квартир в продаже нет»: скрываем пустую обвязку шахматки, показываем сообщение */
    .pdp-no-sale .s2-toolbar,
    .pdp-no-sale .s2-card,
    .pdp-no-sale .shah2-aside{display:none!important}
    .pdp-no-sale .shah2-cols{display:block}
    #s2-root.view-shah .s2-grid{cursor:grab}
    .s2-grid.is-dragging{cursor:grabbing;user-select:none}
    .pdp-noflats{display:flex;flex-direction:column;align-items:center;text-align:center;gap:13px;padding:54px 28px;background:#f4f8fa;border:1px solid #cfdad8;border-radius:16px}
    .pdp-noflats-ic{width:62px;height:62px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#e4f4f5;color:#17b7bf}
    .pdp-noflats-ic svg{width:30px;height:30px}
    .pdp-noflats-title{font-size:23px;font-weight:800;color:#13374f;letter-spacing:-.01em}
    .pdp-noflats-text{max-width:520px;font-size:14.5px;line-height:1.55;color:#5d6b73}
    .pdp-noflats-cta{margin-top:5px;display:inline-flex;align-items:center;gap:8px;padding:13px 26px;background:#17b7bf;color:#fff;font-weight:700;font-size:15px;border-radius:12px;text-decoration:none;transition:background .15s}
    .pdp-noflats-cta:hover{background:#0a8a92}
    /* Компактная плашка над серой шахматкой распроданного ЖК */
    .pdp-noflats--compact{flex-direction:row;text-align:left;align-items:center;gap:16px;padding:16px 22px;margin-bottom:14px}
    .pdp-noflats--compact .pdp-noflats-ic{width:44px;height:44px;flex:0 0 44px}
    .pdp-noflats--compact .pdp-noflats-ic svg{width:22px;height:22px}
    .pdp-noflats--compact .pdp-noflats-cbody{flex:1;min-width:0}
    .pdp-noflats--compact .pdp-noflats-title{font-size:16.5px}
    .pdp-noflats--compact .pdp-noflats-text{font-size:13.5px;max-width:none;margin-top:2px}
    .pdp-noflats--compact .pdp-noflats-cta{margin-top:0;padding:11px 18px;font-size:14px;white-space:nowrap}
    @media (max-width:700px){.pdp-noflats--compact{flex-direction:column;text-align:center;gap:10px}}
    /* Рейл (правый пульт) в Каталоге и Планировках — только на десктопе; на мобиле/планшете скрыт.
       В режиме «Шахматка» рейл остаётся (там управление очередь/литер/подъезд). */
    @media (max-width:1199px){
      #s2-root.view-catalog .shah2-aside,
      #s2-root.view-plans .shah2-aside{display:none!important}
    }
  
.s2fc-info{position:relative}.s2fc-eyebrow{padding-right:44px}.s2fc-fav{position:absolute;top:14px;right:14px;width:42px;height:42px;border:1.5px solid #cfe0e6;border-radius:50%;background:#fff;box-shadow:0 3px 12px rgba(19,55,79,.16);color:#13374f;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .16s,border-color .16s,background .16s,color .16s;z-index:20;padding:0}.s2fc-fav svg{width:22px;height:22px;display:block;fill:none;stroke:currentColor;stroke-width:2}.s2fc-fav:hover{border-color:#e74c3c;color:#e74c3c;transform:scale(1.08)}.s2fc-fav.apr-fav-on{background:#e74c3c;border-color:#e74c3c;color:#fff}.s2fc-fav.apr-fav-on svg{fill:currentColor;stroke:currentColor}.s2fc-fav.apr-fav-on:hover{background:#c0392b;border-color:#c0392b;color:#fff}.s2fc-mortg{margin-top:10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.s2fc-mortg .s2fc-mortg-v{font-weight:800;font-size:14px;color:#163d10;background:rgba(163,217,119,.22);padding:4px 10px;border-radius:8px;white-space:nowrap}.s2fc-mortg .s2fc-mortg-l{color:#6b7c8a;font-size:12px}@media (max-width:700px){.s2fc-fav{top:12px;right:12px;width:38px;height:38px}.s2fc-fav svg{width:20px;height:20px}}

      .pdp-photolog{margin-top:18px;border:1px solid #e6ebe9;border-radius:18px;padding:18px 20px;background:#fff}
      .pdp-pl-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
      .pdp-pl-head strong{font-size:16px;color:#16242f}
      .pdp-pl-ic{color:#0f7f86;display:inline-flex}
      .pdp-pl-note{font-size:12.5px;color:#8a97a0}
      .pdp-pl-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
      .pdp-pl-tab{border:1px solid #cfdad8;background:#f4f8fa;color:#33424d;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer}
      .pdp-pl-tab.is-active{background:#17b7bf;border-color:#17b7bf;color:#fff}
      .pdp-pl-panel{display:none}
      .pdp-pl-panel.is-active{display:block}
      .pdp-pl-month{border-top:1px solid #eef1f3}
      .pdp-pl-month:first-child{border-top:0}
      .pdp-pl-mhead{width:100%;display:flex;align-items:center;gap:12px;background:none;border:0;padding:12px 2px;cursor:pointer;font-size:14.5px;color:#16242f;text-align:left}
      .pdp-pl-mlabel{font-weight:700}
      .pdp-pl-mcount{font-size:12px;color:#8a97a0;margin-left:auto}
      .pdp-pl-chev{transition:transform .2s;color:#8a97a0}
      .pdp-pl-month.is-open .pdp-pl-chev{transform:rotate(180deg)}
      .pdp-pl-grid{display:none;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;padding:4px 0 16px}
      .pdp-pl-month.is-open .pdp-pl-grid{display:grid}
      .pdp-pl-ph{display:block;width:100%;padding:0;border:0;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:#eef1f3;cursor:pointer}
      .pdp-pl-ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}
      .pdp-pl-ph:hover img{transform:scale(1.04)}
      .pdp-pl-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid #eef1f3;font-size:13px;color:#5b6b78}
      .aprplb{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center}
      .aprplb.is-open{display:flex}
      .aprplb-bg{position:absolute;inset:0;background:rgba(10,18,24,.93)}
      .aprplb-img{position:relative;max-width:92vw;max-height:86vh;border-radius:10px;box-shadow:0 12px 44px rgba(0,0,0,.5);object-fit:contain;background:#0a1218}
      .aprplb-x{position:absolute;top:14px;right:20px;z-index:2;background:none;border:0;color:#fff;font-size:38px;line-height:1;cursor:pointer;opacity:.85}
      .aprplb-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;background:rgba(255,255,255,.12);border:0;color:#fff;font-size:30px;width:52px;height:70px;border-radius:10px;cursor:pointer}
      .aprplb-nav:hover{background:rgba(255,255,255,.22)}
      .aprplb-prev{left:16px}.aprplb-next{right:16px}
      .aprplb-cap{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:#fff;font-size:13px;z-index:2;opacity:.85}
      @media(max-width:600px){.aprplb-nav{width:42px;height:58px;font-size:24px}}
      

    .pdp-docs2{max-width:860px}
    .pdp-docs2-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
    .pdp-docs2-tab{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--canon-line,#e6e3dc);border-radius:999px;background:#fff;color:#3a4a5a;font-weight:600;font-size:13.5px;line-height:1;cursor:pointer;transition:.15s;white-space:nowrap}
    .pdp-docs2-tab svg{width:17px;height:17px;flex:none;opacity:.7}
    .pdp-docs2-tab:hover{border-color:#17b7bf;color:#13374f}
    .pdp-docs2-tab.is-active{background:#13374f;border-color:#13374f;color:#fff}
    .pdp-docs2-tab.is-active svg{opacity:1}
    .pdp-docs2-cnt{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:rgba(19,55,79,.09);color:#13374f;font-size:11.5px;font-weight:700}
    .pdp-docs2-tab.is-active .pdp-docs2-cnt{background:rgba(255,255,255,.22);color:#fff}
    .pdp-docs2-body{max-height:360px;overflow-y:auto;border:1px solid var(--canon-line,#e6e3dc);border-radius:14px;background:#fff}
    .pdp-docs2-pane{display:none;padding:6px}
    .pdp-docs2-pane.is-active{display:block}
    .pdp-docrow{display:flex;align-items:center;gap:13px;padding:12px 13px;border-radius:10px;text-decoration:none;color:inherit;transition:background .15s}
    .pdp-docrow:hover{background:var(--canon-paper-2,#f6f4ef)}
    .pdp-docrow+.pdp-docrow{border-top:1px solid var(--canon-line,#eee)}
    .pdp-docrow-ic{flex:none;width:38px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:rgba(19,55,79,.07);color:#13374f}
    .pdp-docrow-ic svg{width:19px;height:19px}
    .pdp-docrow-main{flex:1;min-width:0}
    .pdp-docrow-name{display:block;font-weight:600;font-size:14px;color:#1a2a3a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .pdp-docrow-meta{display:block;font-size:12px;color:#8a93a0;margin-top:2px}
    .pdp-docrow-dl{flex:none;color:#9aa3af;transition:color .15s}
    .pdp-docrow:hover .pdp-docrow-dl{color:#17b7bf}
    .pdp-docrow--cur .pdp-docrow-ic{background:linear-gradient(135deg,#13374f,#17b7bf);color:#fff}
    .pdp-docs2-arch{border-top:1px solid var(--canon-line,#eee);margin-top:2px}
    .pdp-docs2-arch>summary{list-style:none;cursor:pointer;padding:11px 13px;font-size:13px;font-weight:600;color:#5a6573;display:flex;align-items:center;gap:7px}
    .pdp-docs2-arch>summary::-webkit-details-marker{display:none}
    .pdp-docs2-arch>summary .chev{transition:transform .2s}
    .pdp-docs2-arch[open]>summary .chev{transform:rotate(90deg)}
    .pdp-docrow--sm{padding:9px 13px 9px 16px}
    .pdp-docrow--sm .pdp-docrow-ic{width:30px;height:30px;border-radius:7px}
    .pdp-docrow--sm .pdp-docrow-ic svg{width:15px;height:15px}
    .pdp-docrow--sm .pdp-docrow-name{font-size:13px;font-weight:500}
    .pdp-docs2-pkg{display:flex;align-items:center;gap:13px;margin-top:14px;padding:14px 16px;border-radius:12px;background:var(--canon-paper-2,#f6f4ef);border:1px dashed var(--canon-line,#d8d3c8)}
    .pdp-docs2-pkg-ic{flex:none;width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2f9e69,#1f7d50);color:#fff;box-shadow:0 4px 8px rgba(31,125,80,.22)}
    .pdp-docs2-pkg-ic svg{width:20px;height:20px}
    .pdp-docs2-pkg-main{flex:1;min-width:0}
    .pdp-docs2-note{margin-top:11px;font-size:12px;color:#9aa3af;line-height:1.5}
    .pdp-docs2-more{display:block;width:100%;margin-top:10px;text-align:center}
    @media(max-width:600px){.pdp-docs2-body{max-height:none}.pdp-docrow-name{white-space:normal}}
  