.nfs-qv { position: fixed; inset: 0; z-index: 100000; display: none; align-items: center; justify-content: center; padding: 20px; background: rgba(5,10,30,.55); }
.nfs-qv.is-open { display: flex; }
.nfs-qv__box { position: relative; width: 100%; max-width: 980px; max-height: calc(100vh - 40px); overflow: auto; background: #fff; border-radius: 8px; padding: 32px 16px 32px 32px; box-shadow: 0 20px 60px rgba(0,0,0,.3); }
.nfs-qv__x { position: absolute; top: 10px; right: 12px; width: 36px; height: 36px; border: 0; background: transparent; font-size: 28px; line-height: 1; cursor: pointer; color: #555; }
.nfs-qv__body { display: grid; grid-template-columns: minmax(0, 280px) minmax(0, 1fr); gap: 28px; }
.nfs-qv__main img { display: block; width: 100%; height: auto; }
.nfs-qv__thumbs { display: flex; gap: 8px; margin-top: 10px; }
.nfs-qv__th { width: 64px; height: 64px; padding: 0; border: 1px solid #e5e5e5; border-radius: 4px; background: #fff; cursor: pointer; opacity: .65; }
.nfs-qv__th.is-on, .nfs-qv__th:hover { opacity: 1; border-color: var(--nfs-accent, #1d4ed8); }
.nfs-qv__th img { width: 100%; height: 100%; object-fit: contain; }
.nfs-qv__sum .product_title { font-size: 24px; line-height: 1.25; margin: 0 40px 10px 0; }
.nfs-qv__sum .price { display: block; font-size: 22px; font-weight: 500; color: #111; margin-bottom: 14px; }
.nfs-qv__sum .price ins { text-decoration: none; background: none; }
.nfs-qv__sum .product_meta { display: none; }
.nfs-qv__more { display: inline-block; margin-top: 14px; color: var(--nfs-accent, #1d4ed8); }
.nfs-qv.is-loading .nfs-qv__box::after { content: "Загрузка…"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,.8); }
.quick-view-button { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: #fff; color: #111; box-shadow: 0 2px 5px rgba(0,0,0,.08); cursor: pointer; }
.quick-view-button:hover { color: var(--nfs-accent, #1d4ed8); }
body.nfs-qv-lock { overflow: hidden; }
@media (max-width: 767px) { .nfs-qv { padding: 0; align-items: flex-end; } .nfs-qv__box { max-height: 92vh; border-radius: 12px 12px 0 0; padding: 20px 16px; } .nfs-qv__body { grid-template-columns: 1fr; gap: 18px; } }
