/* =========================================================================
   VINALY QUOTE STUDIO (GĐ7 · P0) — qs.css
   Copy 1:1 CSS mockup v3.7, SCOPE dưới .vnb2b-qs (không rò rỉ ra theme/plugin khác).
   Bỏ chrome trang demo (reviewbar/topbar/crumb/flowsec/demobar). Biến CSS local trong .vnb2b-qs.
   ========================================================================= */
.vnb2b-qs{
  --brand:#F2A42C; --brand-d:#D97706; --ink:#3D2914; --muted:#5C677D;
  --line:#E5E7EB; --bg:#FFF8E7; --ok:#319044; --warn:#c2410c; --card:#fff;
  --p0:#D97706; --p2:#7c3aed;
  --r:10px; --sh:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06);
  color:var(--ink);
  font-family:"Be Vietnam Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:15px;line-height:1.5;
  max-width:1120px;margin:0 auto;
}
.vnb2b-qs *{box-sizing:border-box}
.vnb2b-qs-err{color:#9b2226;background:#fdecec;border:1px solid #f5c2c2;border-radius:8px;padding:10px 14px;font-size:13.5px}

.vnb2b-qs .phchip{font-size:9px;font-weight:800;color:#fff;border-radius:999px;padding:1px 6px}

.vnb2b-qs .studio{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
@media(max-width:840px){.vnb2b-qs .studio{grid-template-columns:1fr}}
/* 7.4.0 — canvas dời lên gallery trái → panel QS chỉ 1 cột */
.vnb2b-qs .studio.qs-single{grid-template-columns:1fr}

/* 7.4.0 — overlay canvas chồng ẢNH ĐẠI DIỆN bên trái (mount-on-gallery) + khoá gallery */
.vnb2b-qs.qs-stage-host{position:absolute;z-index:6;pointer-events:auto}
.vnb2b-qs.qs-stage-host .canvas-host{position:absolute;inset:0;border-radius:0;background:transparent;aspect-ratio:auto}
.vnb2b-qs.qs-stage-host #mainCanvas{width:100%;height:100%;object-fit:fill}
.vnb2b-qs.qs-stage-host.qs-photo{pointer-events:none}
.vnb2b-qs.qs-stage-host.qs-photo .canvas-host{display:none}
.vnb2b-qs.qs-controls-host{margin:10px auto 4px;max-width:520px;pointer-events:auto;position:relative;z-index:7}
.vnb2b-qs .qs-stage-ctrl{padding:0 2px}
.vnb2b-qs .qs-exit{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--brand-d);background:#fff;color:var(--brand-d);border-radius:24px;padding:8px 16px;font-weight:700;font-size:13px;cursor:pointer;margin:0 0 8px;font-family:inherit}
.vnb2b-qs .qs-exit:hover{background:#fff5e7}
/* khoá cột gallery khi đang thiết kế (vô hiệu Flickity/zoom/thumbnail) */
.qs-locked .flickity-button,.qs-locked .flickity-page-dots{pointer-events:none!important;opacity:.35}
.qs-locked .flickity-viewport{cursor:default!important}
.qs-locked .product-thumbnails,.qs-locked .slider-nav,.qs-locked .product-gallery-thumbs,.qs-locked .woocommerce-product-gallery__trigger,.qs-locked .image-tools{pointer-events:none!important}
/* 7.4.1 H1 — chặn lightbox/zoom/nav/mở file ảnh tuyệt đối khi đang thiết kế */
.qs-designing a{pointer-events:none!important}
.qs-designing .image-tools,.qs-designing .flickity-prev-next-button,.qs-designing [class*=lightbox],.qs-designing [class*=zoom]{pointer-events:none!important}
/* 7.4.1 H2 — ẨN HẲN thumbnail + nav + zoom của gallery gốc khi thiết kế (giữ ảnh chính để canh canvas) */
.qs-designing .product-thumbnails,.qs-designing .thumbnails,.qs-designing .slider-nav,.qs-designing .flickity-prev-next-button,.qs-designing .flickity-page-dots,.qs-designing .image-tools,.qs-designing .zoom-button,.qs-designing .woocommerce-product-gallery__trigger{display:none!important}
/* Chừa canvas overlay + controls (nút thoát) tương tác được dù cột gallery bị khoá */
.vnb2b-qs.qs-stage-host,.vnb2b-qs.qs-controls-host,.vnb2b-qs.qs-controls-host *{pointer-events:auto}
/* 7.4.3 — lockCol giờ = CẢ CỘT .product-gallery (chứa controls) → chừa mạnh bằng !important */
.qs-designing .qs-stage-host,.qs-designing .qs-controls-host,.qs-designing .qs-controls-host *,.qs-designing #qsExitDesign,.qs-designing #qsStageCtrl,.qs-designing #qsStageCtrl *{pointer-events:auto!important}

/* ===== LEFT: stage ===== */
.vnb2b-qs .stage{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:12px;position:sticky;top:10px}
@media(max-width:840px){.vnb2b-qs .stage{position:static}}
.vnb2b-qs .canvas-host{position:relative;width:100%;aspect-ratio:1/1;background:#faf7f2;border-radius:8px;overflow:hidden;
  display:flex;align-items:center;justify-content:center}
.vnb2b-qs #mainCanvas{width:100%;height:100%;object-fit:contain;touch-action:none;cursor:grab}
.vnb2b-qs #mainCanvas.drag{cursor:grabbing}
.vnb2b-qs .phoi-img{max-width:88%;max-height:88%;object-fit:contain}
.vnb2b-qs .stage-meta{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:8px;font-size:12px;color:var(--muted)}
.vnb2b-qs .stage-meta b{color:var(--ink)}
.vnb2b-qs .bp-hint{font-size:11.5px;color:var(--muted);text-align:center;margin-top:6px}
.vnb2b-qs .dlbtn{margin-top:8px;display:none;width:100%;border:1.5px dashed var(--brand-d);background:#fffdf8;color:var(--brand-d);
  border-radius:8px;padding:9px;font-weight:700;font-size:13px;cursor:pointer}
.vnb2b-qs .dlbtn.show{display:block}

/* ===== RIGHT: panel + tabs ===== */
.vnb2b-qs .panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);overflow:hidden}
.vnb2b-qs .tabs{display:flex;border-bottom:1px solid var(--line)}
/* 7.4.7 — thu gọn tab: giảm padding dọc + line-height sát để tốn ít không gian hơn */
.vnb2b-qs .tabs button{flex:1;border:0;background:#fbfbfb;padding:7px 6px 6px;cursor:pointer;font-size:12px;font-weight:700;line-height:1.2;
  color:var(--muted);border-bottom:3px solid transparent;position:relative}
.vnb2b-qs .tabs button.on{color:var(--brand-d);background:#fff;border-bottom-color:var(--brand)}
/* 7.4.1 H3 — chữ mô tả dưới tên tab: in thường, nhỏ, mảnh · 7.4.7 sát tên tab hơn */
.vnb2b-qs .tabs button small{display:block;text-transform:none;font-weight:400;font-size:9.5px;line-height:1.2;letter-spacing:0;color:var(--muted);opacity:.85;margin-top:0}
.vnb2b-qs .tabs .phchip{position:absolute;top:4px;right:6px}
.vnb2b-qs .tabpane{display:none;padding:14px}
.vnb2b-qs .tabpane.on{display:block}
.vnb2b-qs .field{margin-bottom:11px}
.vnb2b-qs .field label{display:block;font-size:12.5px;font-weight:600;margin-bottom:4px}
.vnb2b-qs .field input,.vnb2b-qs .field textarea,.vnb2b-qs .field select{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 10px;font:inherit}
.vnb2b-qs .field textarea{min-height:64px;resize:vertical}
.vnb2b-qs .row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:400px){.vnb2b-qs .row2{grid-template-columns:1fr}}
/* 7.4.7 — chip gợi ý sát nhau hơn (gap + margin đáy nhỏ lại) cho gọn */
.vnb2b-qs .chips{display:flex;flex-wrap:wrap;gap:5px;margin:-2px 0 8px}
/* 7.4.1 H3 — chip gợi ý mảnh, dịu, in thường (không cạnh tranh nút hành động) · 7.4.7 padding dọc nhỏ lại */
.vnb2b-qs .chips button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:400;line-height:1.35;text-transform:none;cursor:pointer;color:var(--muted)}
.vnb2b-qs .chips button.on{border-color:var(--brand);background:#fff5e7;color:var(--brand-d);font-weight:600}
.vnb2b-qs .uploader{border:2px dashed #e3c79b;border-radius:10px;padding:14px;text-align:center;cursor:pointer;background:#fffdf8}
.vnb2b-qs .uploader:hover{border-color:var(--brand)}
.vnb2b-qs .uploader b{color:var(--brand-d)}
.vnb2b-qs .uploader small{display:block;color:var(--muted);font-size:11.5px;margin-top:4px}
.vnb2b-qs .slider-wrap{display:flex;align-items:center;gap:10px}
.vnb2b-qs .slider-wrap input[type=range]{flex:1;accent-color:var(--brand);min-width:0}
.vnb2b-qs .mini{font-size:11.5px;color:var(--muted)}
.vnb2b-qs .btn{display:block;width:100%;border:0;border-radius:8px;padding:12px;font-weight:700;font-size:14px;cursor:pointer}
.vnb2b-qs .btn-primary{background:var(--brand-d);color:#fff}
.vnb2b-qs .btn-primary:hover{background:#bf6d12}
.vnb2b-qs .btn-outline{background:#fff;border:1.5px solid var(--brand-d);color:var(--brand-d)}
.vnb2b-qs .btn-ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}
.vnb2b-qs .btn+.btn{margin-top:8px}
.vnb2b-qs .btnrow{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.vnb2b-qs .btnrow .btn{margin-top:0}
.vnb2b-qs .qform{margin-top:8px;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fafafa;display:none}
.vnb2b-qs .qform.show{display:block}
.vnb2b-qs .hidden{display:none!important}
.vnb2b-qs .toolhead{font-size:13px;font-weight:800;color:var(--ink);margin:2px 0 8px;text-align:center}
.vnb2b-qs .toolhead span{display:block;font-weight:500;font-size:11px;color:var(--muted);margin-top:1px}

/* ===== price box + GATE ===== */
.vnb2b-qs .priceshell{position:relative}
.vnb2b-qs .pricebox{border:1px solid #f0dcb8;background:#fffaf1;border-radius:10px;padding:12px}
.vnb2b-qs .priceshell.locked .pricebox{filter:blur(7px);pointer-events:none;user-select:none}
.vnb2b-qs .pricegate{display:none;position:absolute;inset:0;border-radius:10px;background:rgba(255,250,241,.55);
  align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:14px;z-index:2}
.vnb2b-qs .priceshell.locked .pricegate{display:flex}
.vnb2b-qs .pricegate button{border:0;background:var(--brand-d);color:#fff;border-radius:999px;padding:11px 20px;font-weight:800;font-size:13.5px;cursor:pointer;box-shadow:var(--sh)}
.vnb2b-qs .pricegate p{margin:8px 0 0;font-size:11.5px;color:#92500c;font-weight:600;background:#fff7ec;border-radius:8px;padding:5px 10px}
.vnb2b-qs .price-range{font-size:24px;font-weight:800;color:var(--brand-d);letter-spacing:.3px}
.vnb2b-qs .price-range small{font-size:12px;color:var(--muted);font-weight:600}
.vnb2b-qs .price-unit{font-size:12.5px;color:var(--muted);margin-top:2px}
.vnb2b-qs .seasonoff{display:inline-block;background:#eaf6ec;color:#1f6b32;font-size:11px;font-weight:800;border-radius:999px;padding:2px 8px;margin-left:6px;vertical-align:middle}
.vnb2b-qs .segchip{display:inline-block;background:#e7f0ff;color:#1d4ed8;font-size:11px;font-weight:700;border-radius:999px;padding:2px 8px;margin-left:6px;vertical-align:middle}
.vnb2b-qs .breakdown{margin-top:8px;font-size:12px;color:var(--muted);border-top:1px dashed #e8d3ac;padding-top:8px;display:none}
.vnb2b-qs .breakdown.show{display:block}
.vnb2b-qs .breakdown div{display:flex;justify-content:space-between;padding:1px 0}
.vnb2b-qs .badges{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.vnb2b-qs .advcard{display:block;width:100%;text-align:left;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fff;cursor:pointer}
.vnb2b-qs .advcard.on{border-color:var(--brand-d);background:#fff7ec}
.vnb2b-qs .advcard b{font-size:13.5px;color:var(--ink);display:block}
.vnb2b-qs .advcard.on b{color:var(--brand-d)}
.vnb2b-qs .advcard small{display:block;color:var(--muted);font-size:11.5px;margin-top:1px;line-height:1.35}
.vnb2b-qs .advcard .why{display:block;font-size:11px;color:#1f6b32;margin-top:3px;font-weight:600}
.vnb2b-qs .estimator{margin-top:10px;font-size:12px;color:var(--muted);background:#f7f9fb;border-radius:8px;padding:8px 10px}
.vnb2b-qs .estimator b{color:var(--ink)}
.vnb2b-qs .persona{margin-top:10px;font-size:12px;border-radius:8px;padding:8px 10px;display:none}
.vnb2b-qs .persona.union{display:block;background:#eaf6ec;color:#1f6b32;border:1px solid #c6e6cd}
.vnb2b-qs .persona.reseller{display:block;background:#e7f0ff;color:#1d4ed8;border:1px solid #c3d8fb}
.vnb2b-qs .persona a{color:inherit;font-weight:700}
.vnb2b-qs .ratelimit{display:none;margin-top:10px;background:#fdecec;border:1px solid #f5c2c2;color:#9b2226;border-radius:8px;padding:9px 11px;font-size:12.5px}
.vnb2b-qs .ratelimit.show{display:block}
.vnb2b-qs .colordot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:2px;border:1px solid rgba(0,0,0,.15);vertical-align:middle}
.vnb2b-qs .colorrow{margin-top:8px;font-size:12px;color:var(--ink);display:none;align-items:center;gap:6px;flex-wrap:wrap}
.vnb2b-qs .colorrow input{width:54px;padding:3px 6px;border:1px solid var(--line);border-radius:6px}
.vnb2b-qs .cartchip{display:none;margin:0 14px;background:#eaf6ec;border:1px solid #c6e6cd;color:#1f6b32;border-radius:8px;padding:7px 10px;font-size:12.5px;font-weight:600}
.vnb2b-qs .cartchip.show{display:block}
.vnb2b-qs .mergenote{font-size:11.5px;background:#eaf6ec;border:1px dashed #a8d5b2;color:#1f6b32;border-radius:8px;padding:6px 9px;margin-top:4px}
.vnb2b-qs .q1msg{color:#1f6b32}
.vnb2b-qs .q1msg.err{color:#9b2226}

/* panel gộp màu (Canva-style) */
.vnb2b-qs .cpanel{margin:8px 0;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff}
.vnb2b-qs .cphead{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;font-weight:600;gap:6px;flex-wrap:wrap}
.vnb2b-qs .cphead button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 10px;font-size:11.5px;cursor:pointer;font-weight:700;color:var(--brand-d);margin-left:4px}
.vnb2b-qs .cphead button:hover{border-color:var(--brand)}
.vnb2b-qs .cpswatches{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 6px}
.vnb2b-qs .cpdot{width:24px;height:24px;border-radius:50%;border:1px solid rgba(0,0,0,.12);box-shadow:var(--sh)}
.vnb2b-qs .cprange{width:100%}
.vnb2b-qs .sw{width:20px;height:20px;border-radius:50%;border:1px solid rgba(0,0,0,.15);cursor:pointer;display:inline-block}
.vnb2b-qs .monorow{display:flex;align-items:center;gap:6px;margin-top:8px;flex-wrap:wrap;font-size:11.5px;font-weight:700}
.vnb2b-qs .monorow input[type=color]{width:30px;height:26px;border:1px solid var(--line);border-radius:6px;padding:1px;background:#fff;cursor:pointer}

/* ===== TAB 2 · STUDIO INLINE (P2) ===== */
.vnb2b-qs #t2{--soft:#f2e2c4;background:#fff}
.vnb2b-qs .ttabs{display:flex;gap:5px;border:0;border-radius:12px;background:rgba(242,164,44,.10);padding:5px;margin-bottom:10px}
.vnb2b-qs .ttabs button{flex:1;border:0;background:transparent;border-radius:9px;padding:10px 4px;font-size:13px;font-weight:700;color:#8a7a63;cursor:pointer;letter-spacing:.2px}
.vnb2b-qs .ttabs button.on{background:#fff;color:var(--brand-d);box-shadow:0 2px 8px rgba(217,119,6,.16)}
.vnb2b-qs .ttool{margin-bottom:10px}
.vnb2b-qs #tt_up .btn-outline{border-color:var(--soft);color:#b97f2a;background:#fff;font-weight:600}
.vnb2b-qs .pgopt{height:46px;border:1.5px dashed #d8cbb2;border-radius:8px;background:#fff;font-size:9.5px;line-height:1.15;padding:2px 6px;cursor:pointer;color:#6b5d49;font-weight:700;max-width:74px}
.vnb2b-qs .pgopt:hover{border-color:var(--brand)}
.vnb2b-qs .assetgrid{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.vnb2b-qs .asset{width:56px;height:56px;border:2px solid var(--soft);border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;position:relative}
.vnb2b-qs .asset img{max-width:88%;max-height:88%;object-fit:contain}
.vnb2b-qs .asset.on{border-color:var(--brand);box-shadow:0 0 0 2px rgba(242,164,44,.22)}
.vnb2b-qs .asset .aq{position:absolute;bottom:-1px;right:-1px;background:var(--brand-d);color:#fff;font-size:9px;font-weight:800;border-radius:6px 0 8px 0;padding:1px 5px}
.vnb2b-qs .tprerow{display:flex;gap:6px;margin-bottom:9px}
.vnb2b-qs .tprerow button{flex:1;border:1px solid var(--soft);border-radius:8px;background:#fff;cursor:pointer;padding:8px 4px;color:var(--ink)}
.vnb2b-qs .tprerow button:hover{border-color:var(--brand)}
.vnb2b-qs .txtprops{border:1px solid var(--soft);border-radius:10px;padding:10px;background:#fff}
.vnb2b-qs .txtprops .rowp{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.vnb2b-qs .txtprops label{font-size:11.5px;font-weight:700;min-width:56px}
.vnb2b-qs .txtprops select{flex:1;border:1px solid var(--line);border-radius:8px;padding:6px 8px;font:inherit;font-size:12.5px;min-width:0}
.vnb2b-qs .txtprops input[type=color]{width:34px;height:28px;border:1px solid var(--line);border-radius:6px;padding:1px;background:#fff;cursor:pointer}
.vnb2b-qs .txtprops input.tcontent{flex:1;border:1px solid var(--line);border-radius:8px;padding:7px 9px;font:inherit;font-size:12.5px;min-width:0}
.vnb2b-qs .bi{border:1px solid var(--soft);background:#fff;border-radius:6px;width:30px;height:28px;cursor:pointer;font-size:13px}
.vnb2b-qs .bi.on{border-color:var(--brand-d);background:#fff5e7;color:var(--brand-d)}
.vnb2b-qs .lr{display:flex;align-items:center;gap:8px;border:1px solid var(--soft);border-radius:8px;background:#fff;padding:6px 8px;margin-bottom:6px;cursor:pointer}
.vnb2b-qs .lr.on{border-color:#f2c98a;background:#fffaf0}
.vnb2b-qs .lr canvas{width:26px;height:26px;border-radius:6px;background:#faf7f2;flex:none;border:1px solid var(--soft)}
.vnb2b-qs .lr input[type=range]{flex:1;accent-color:var(--brand);min-width:0}
.vnb2b-qs .lr .lv{font-size:10.5px;color:var(--muted);width:32px;text-align:right;flex:none}
.vnb2b-qs .lr button{border:0;background:none;cursor:pointer;font-size:14px;flex:none;padding:2px 4px}
.vnb2b-qs .lr button.eye.off{opacity:.35}
.vnb2b-qs .lr button.lx{color:#b3261e}
.vnb2b-qs .lempty{font-size:12px;color:var(--muted);background:#fff;border:1px dashed var(--soft);border-radius:8px;padding:10px;text-align:center}
.vnb2b-qs .faceswitch{display:flex;gap:6px;margin:8px 0}
.vnb2b-qs .faceswitch button{flex:1;border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px;font-size:12.5px;cursor:pointer;color:var(--ink);font-weight:600}
.vnb2b-qs .faceswitch button.on{border-color:var(--brand);background:#fff5e7;color:var(--brand-d)}
.vnb2b-qs .pagestrip{display:none;justify-content:center;align-items:center;gap:8px;margin-top:8px}
.vnb2b-qs .pagestrip.show{display:flex}
.vnb2b-qs .pgthumb{width:46px;height:46px;border:2px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;position:relative;overflow:hidden;padding:0}
.vnb2b-qs .pgthumb.on{border-color:var(--brand)}
.vnb2b-qs .pgthumb span{position:absolute;left:3px;bottom:0;font-size:9px;color:var(--muted);font-weight:700}
.vnb2b-qs .pgadd{width:34px;height:46px;border:1.5px dashed #d8cbb2;border-radius:8px;background:#fff;color:#b97f2a;font-size:16px;font-weight:700;cursor:pointer}
.vnb2b-qs .pgadd:hover{border-color:var(--brand)}

.vnb2b-qs .tagline{font-size:11px;color:#b08842;text-align:center;margin:16px 0 4px}

/* ===== dialogs (đặt trong .vnb2b-qs; showModal đẩy lên top-layer) ===== */
.vnb2b-qs dialog{border:0;border-radius:14px;padding:0;max-width:440px;width:92%;box-shadow:0 20px 60px rgba(0,0,0,.3);color:var(--ink);
  font-family:"Be Vietnam Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
.vnb2b-qs dialog::backdrop{background:rgba(40,25,10,.45)}
.vnb2b-qs .dlg-head{background:var(--brand-d);color:#fff;padding:13px 16px;font-weight:700}
.vnb2b-qs .dlg-body{padding:16px}
.vnb2b-qs .segopt{display:block;width:100%;text-align:left;border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:8px;background:#fff;cursor:pointer;font:inherit}
.vnb2b-qs .segopt b{display:block;font-size:14px;color:var(--ink)}
.vnb2b-qs .segopt small{display:block;color:var(--muted);font-size:11.5px;margin-top:1px}
.vnb2b-qs .segopt:hover{border-color:var(--brand)}
.vnb2b-qs .segopt.on{border-color:var(--brand-d);background:#fff7ec}
.vnb2b-qs .segopt.on b{color:var(--brand-d)}
.vnb2b-qs .seggrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media(max-width:480px){.vnb2b-qs .seggrid{grid-template-columns:1fr}}
.vnb2b-qs .seggrid .segopt{margin-bottom:0;padding:9px 10px}
.vnb2b-qs .seggrid .segopt b{font-size:12.5px}
.vnb2b-qs .seggrid .segopt small{font-size:10.5px}

/* chống tràn ngang mobile ≤360px */
@media(max-width:360px){.vnb2b-qs{font-size:14px}.vnb2b-qs .tabs button{font-size:12px}}
