/* ZOTY v2 — карточка товара */
.product{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:8px 0 28px}
.gallery{
  container-type:inline-size;
  display:grid;grid-template-columns:84px minmax(0,1fr);gap:16px;
  align-self:start;align-items:start;position:sticky;top:96px;
}
.thumbs{
  display:flex;flex-direction:column;gap:12px;width:84px;min-width:84px;
  max-height:calc(100cqw - 100px);
  overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;
  scrollbar-width:thin;scrollbar-color:var(--line) transparent;
  padding-right:2px;
}
.thumbs::-webkit-scrollbar{width:6px}
.thumbs::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px}
.thumbs::-webkit-scrollbar-thumb:hover{background:var(--mut)}
.thumbs button{
  width:84px;height:84px;flex:0 0 84px;
  border-radius:12px;background:var(--paper);display:grid;place-items:center;
  border:2px solid var(--line);padding:0;overflow:hidden;cursor:pointer;
}
.thumbs button img{width:100%;height:100%;object-fit:contain}
.thumbs button.on,.thumbs button:hover{border-color:var(--red)}
.thumbs.is-scrollable{padding-right:4px}
.gmain{position:relative;background:var(--paper);border-radius:20px;aspect-ratio:1;display:grid;place-items:center;overflow:hidden;cursor:zoom-in}
.gmain img{width:100%;height:100%;object-fit:contain;padding:18px;transition:transform .12s ease-out;will-change:transform;transform-origin:center center}
.gmain.is-zooming img{padding:0}
.gmain .lbl{position:absolute;right:18px;top:18px;background:var(--red);color:#fff;font-size:12px;font-weight:700;padding:5px 12px;border-radius:7px;z-index:2}
.gmain-fs{
  position:absolute;left:14px;bottom:14px;z-index:4;
  width:42px;height:42px;border-radius:12px;border:none;cursor:pointer;
  background:rgba(22,24,28,.82);color:#fff;display:grid;place-items:center;
  opacity:0;transform:translateY(6px);transition:.18s;
}
.gmain:hover .gmain-fs,.gmain:focus-within .gmain-fs{opacity:1;transform:none}
.gmain-fs:hover{background:var(--red)}

/* lightbox */
.v2-lightbox{
  position:fixed;inset:0;z-index:10050;background:rgba(10,12,16,.94);
  display:grid;grid-template-rows:1fr auto;place-items:center;gap:0;
  padding:56px 24px 18px;cursor:zoom-out;
}
.v2-lightbox[hidden]{display:none!important}
.v2-lightbox__stage{
  width:100%;height:100%;display:grid;place-items:center;min-height:0;
}
.v2-lightbox__img{
  max-width:min(96vw,1200px);max-height:calc(100vh - 200px);object-fit:contain;
  border-radius:12px;box-shadow:0 24px 80px rgba(0,0,0,.45);cursor:default;
}
.v2-lightbox__close{
  position:fixed;top:18px;right:22px;width:48px;height:48px;border-radius:50%;
  border:none;background:rgba(255,255,255,.12);color:#fff;font-size:28px;line-height:1;
  cursor:pointer;z-index:10051;
}
.v2-lightbox__close:hover{background:var(--red)}
.v2-lightbox__nav{
  position:fixed;top:50%;transform:translateY(-50%);z-index:10051;
  width:48px;height:48px;border-radius:50%;border:none;cursor:pointer;
  background:rgba(255,255,255,.12);color:#fff;font-size:28px;line-height:1;
  display:grid;place-items:center;
}
.v2-lightbox__nav:hover{background:var(--red)}
.v2-lightbox__prev{left:16px}
.v2-lightbox__next{right:16px}
.v2-lightbox__thumbs{
  display:flex;gap:10px;justify-content:center;align-items:center;
  max-width:min(96vw,900px);overflow-x:auto;padding:10px 4px 4px;
  scrollbar-width:thin;
}
.v2-lightbox__thumbs[hidden]{display:none!important}
.v2-lightbox__thumb{
  flex:none;width:72px;height:72px;padding:0;border-radius:10px;overflow:hidden;
  border:2px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);
  cursor:pointer;opacity:.72;transition:.15s;
}
.v2-lightbox__thumb img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.v2-lightbox__thumb:hover{opacity:1;border-color:rgba(255,255,255,.55)}
.v2-lightbox__thumb.is-on{opacity:1;border-color:var(--red);box-shadow:0 0 0 2px rgba(227,6,19,.35)}
.v2-lightbox__hint{position:fixed;bottom:8px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.55);font-size:12px;font-weight:500;pointer-events:none}
body.v2-lb-open{overflow:hidden}

@media (max-width:680px){
  .v2-lightbox{padding:52px 12px 12px}
  .v2-lightbox__img{max-height:calc(100vh - 180px)}
  .v2-lightbox__thumb{width:58px;height:58px}
  .v2-lightbox__nav{width:40px;height:40px;font-size:24px}
  .v2-lightbox__prev{left:8px}
  .v2-lightbox__next{right:8px}
  .v2-lightbox__hint{display:none}
}

@media (pointer:coarse){
  .gmain-fs{opacity:1;transform:none}
}

.pinfo .art{font-size:13px;color:var(--mut);font-weight:500;margin-bottom:10px}
.pinfo h1{font-size:clamp(24px,2.8vw,34px);font-weight:900;margin-bottom:16px;line-height:1.15}
.pstock{display:inline-flex;align-items:center;gap:8px;background:#E8F7EE;color:var(--green);font-weight:700;font-size:13px;padding:7px 14px;border-radius:999px;margin-bottom:22px}
.pstock .dot{width:8px;height:8px;border-radius:50%;background:var(--green)}
.pstock.is-order{background:#FFF4E5;color:#B45309}
.pstock.is-order .dot{background:#B45309}

.pbuy{background:var(--paper);border-radius:18px;padding:26px;margin-bottom:18px}
.pprice{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:6px}
.pprice .now{font-size:34px;font-weight:900}
.pprice .old{font-size:18px;color:var(--mut);text-decoration:line-through;font-weight:600}
.pprice .tag{background:var(--bg);color:var(--ink);font-size:12px;font-weight:700;padding:4px 10px;border-radius:7px}
.pnote{font-size:13px;color:var(--mut);font-weight:500;margin-bottom:20px}
.pactions{display:flex;gap:12px;flex-wrap:wrap}
.pactions .btn-red,.pactions .btn-dark,.pactions .btn-ghost{flex:1;min-width:160px;justify-content:center;font-size:15px;padding:16px 22px;border-radius:12px;cursor:pointer;border:none}
.pactions .btn-ghost{background:var(--paper);border:2px solid var(--line)!important;color:var(--ink);font-weight:700}
.pactions .btn-ghost:hover{border-color:var(--red)!important;color:var(--red)}
.pactions--solo{flex-direction:column;gap:0}
.pactions--solo .btn-red{width:100%;justify-content:center}
.pactions-links{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:6px 14px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);
}
.pactions-links a,.pactions-links button{
  font-size:13px;font-weight:600;color:var(--mut);background:none;border:none;
  padding:0;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px;
}
.pactions-links a:hover,.pactions-links button:hover{color:var(--ink)}
.pactions-links .sep{color:#D1D5DB;user-select:none;font-weight:400}

/* Модальное окно лизинга (МК Лизинг) */
#modal-pane{
  border:none;border-radius:18px;padding:0;max-width:min(640px,calc(100vw - 32px));
  box-shadow:0 24px 64px rgba(15,23,42,.22);background:var(--paper);
}
#modal-pane::backdrop{background:rgba(15,23,42,.55)}
#modal-pane #dialog-header{
  margin:0;padding:20px 22px 12px;font-size:22px;font-weight:900;letter-spacing:-.02em;
}
#modal-pane .dialog-content{padding:0 22px 18px;max-height:70vh;overflow:auto}
#modal-pane #close-btn{
  display:block;width:calc(100% - 44px);margin:0 22px 22px;padding:14px 18px;
  border:none;border-radius:12px;background:var(--bg);color:var(--ink);
  font-weight:700;font-size:15px;cursor:pointer;
}
#modal-pane #close-btn:hover{background:#FFE8E9;color:var(--red)}
body.scroll-lock{overflow:hidden}

.pfeat{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pfeat .it{background:var(--paper);border-radius:14px;padding:18px;display:flex;gap:12px;align-items:center}
.pfeat .ic{flex:none;width:42px;height:42px;border-radius:11px;background:#FFE8E9;color:var(--red);display:grid;place-items:center}
.pfeat b{font-size:13.5px;display:block}.pfeat span{font-size:12px;color:var(--mut)}

.tabs{margin-top:28px;padding-bottom:40px}
.tabnav{display:flex;gap:6px;border-bottom:2px solid var(--line);margin-bottom:26px;flex-wrap:wrap}
.tabnav button{font-weight:700;font-size:16px;padding:14px 22px;color:var(--mut);border:none;background:none;border-bottom:3px solid transparent;margin-bottom:-2px;cursor:pointer}
.tabnav button.on{color:var(--ink);border-color:var(--red)}
.tabpane{display:none}.tabpane.on{display:block}
.spec{background:var(--paper);border-radius:16px;overflow:hidden;max-width:760px}
.spec .row{display:flex;padding:14px 22px;font-size:14.5px;gap:16px}
.spec .row:nth-child(odd){background:#FAFBFC}
.spec .row .k{flex:1;color:var(--mut);font-weight:500}
.spec .row .v{flex:1;font-weight:600}
.desc{max-width:820px;font-weight:500;color:#3A3F47;line-height:1.65}
.desc p{margin-bottom:14px}.desc h3{font-size:19px;font-weight:800;margin:22px 0 10px;color:var(--ink)}

/* Полная таблица характеристик из specifications.po */
body.v2 .spec-legacy-wrap{margin-top:0}
body.v2 .spec-legacy-wrap > .row:first-child{display:none}
body.v2 .spec-legacy-wrap > .row{margin:0}
body.v2 .spec-legacy-wrap .col-xl-5,
body.v2 .spec-legacy-wrap .col-sm-5,
body.v2 .spec-legacy-wrap .col-xs-12{width:100%;max-width:100%;padding:0;flex:0 0 100%}
body.v2 .spec-legacy-wrap .table.specifications{
  width:100%;background:var(--paper);border-radius:16px;overflow:hidden;
  border-collapse:collapse;margin:0;
}
body.v2 .spec-legacy-wrap .table.specifications td,
body.v2 .spec-legacy-wrap .table.specifications th{
  padding:14px 22px;font-size:14.5px;border:none;vertical-align:top;
}
body.v2 .spec-legacy-wrap .table.specifications tr:nth-child(odd) td{background:#FAFBFC}
body.v2 .spec-legacy-wrap .table.specifications td:first-child{color:var(--mut);font-weight:500;width:46%}
body.v2 .spec-legacy-wrap .table.specifications td:last-child{font-weight:600;color:var(--ink)}
body.v2 .spec-legacy-wrap .table.specifications th{
  background:var(--bg);color:var(--ink);font-weight:800;text-align:left;
}

@media(max-width:900px){
  .product{grid-template-columns:1fr}
  .gallery{position:static;grid-template-columns:1fr;container-type:normal}
  .gmain{order:1}
  .thumbs{
    order:2;
    flex-direction:row;width:100%;min-width:0;max-height:none;
    overflow-x:auto;overflow-y:hidden;padding-right:0;padding-bottom:4px;
    scrollbar-width:thin;
  }
  .thumbs button{width:72px;height:72px;flex:0 0 72px}
  .pfeat{grid-template-columns:1fr}
}
