/* #2d29c105 Blog v2 - trang bai (dot 1). View: resources/views/common/blog-v2/post.blade.php.
   Moi selector nam trong .bv2 de khong lot ra header/footer. File tho (khong build), cache-bust bang ?v=config('sa.version').
   Gia tri lay tu ban mau 8112_printerval-blog-mockup.html; font dung font Printerval (--pr-font-family), khong nap Fraunces/Figtree. */

.bv2 {
    /* mau chu theo Printerval hien tai (do tren /blog + trang bai cu 02/11/2026 - SEO Hoat): tieu de #19124f, chu #444, nhan cam #ff7300 */
    --ink: #19124f;
    --text: #444;
    --muted: #777;
    --orange: #ff7300;
    --orange-text: #ff7300;
    --on-orange: #fff;
    --peach: #ffe2cc;
    --tint: #fff6ef;
    --line: #efe3d8;
    --paper: #fff;
    --bv2-font: var(--pr-font-family, Roboto, Helvetica, sans-serif);
    --r-card: 6px; /* SEO Hoat 02/11/2026: han che bo goc (truoc 12px / 8px) */
    --r-img: 4px;
    --wrap: 1300px;
    --measure: 720px;
    --rail: 300px;
    --bv2-stick-top: 96px;
    font-family: var(--bv2-font);
    font-weight: 400;
    color: var(--text);
    overflow-x: clip;
}
.bv2 *, .bv2 *::before, .bv2 *::after { box-sizing: border-box; }
.bv2 a, .bv2 a:hover, .bv2 a:focus { color: inherit; text-decoration: none; }
.bv2 :focus-visible { outline: 3px solid var(--orange); outline-offset: 2px; border-radius: 4px; }
.bv2 img { max-width: 100%; height: auto; }

.bv2-wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 24px; }
.bv2-wrap > nav { margin-top: 16px; }

/* ===== Bo cuc: >=1200 3 cot | 1024-1199 2 cot | <=1023 1 cot ===== */
.bv2-grid {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr) var(--rail); /* muc luc dang the (02/11/2026): 200 -> 250px; 230px + gap 32 de cot bai >= 724px o man 1366 (the SP shortcode 2 cot khong vo dong) */
    gap: 32px;
    align-items: start;
    margin-top: 16px;
}
.bv2-grid--notoc { grid-template-columns: minmax(0, 1fr) var(--rail); }
/* Trang bai: khung rong 1440 (cu 1300) + cot bai toi da 824px = do rong bai o giao dien cu, de the SP shortcode (style inline, PostController::cardB*) hien nhu cu - SEO Hoat 02/11/2026 */
.bv2-wrap:has(> .bv2-grid) { max-width: 1440px; --measure: 824px; }
.bv2-main { min-width: 0; }
.bv2-head, .bv2-hero, .bv2-toc-full, .bv2-art, .bv2-after { max-width: var(--measure); }

/* ===== Chu ===== */
.bv2-eyebrow {
    display: inline-block;
    font: 700 12px/1.2 var(--bv2-font);
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--orange-text);
}
/* SEO Hoat 02/11/2026: khong gach chan (ca khi hover), hover = chu cam */
.bv2 a.bv2-eyebrow { color: var(--orange-text); }
.bv2 a.bv2-eyebrow:hover { color: var(--orange); opacity: .8; }
.bv2-h1 {
    font: 700 44px/1.12 var(--bv2-font);
    letter-spacing: -.01em;
    color: var(--ink);
    margin: 10px 0 0;
}
.bv2-h2 { font: 700 30px/1.2 var(--bv2-font); color: var(--ink); margin: 0; }
.bv2-dek { font-size: 19px; line-height: 1.55; color: var(--muted); margin: 16px 0 0; }
.bv2-meta { font-size: 14px; color: var(--muted); }
.bv2-au { color: var(--ink); font-weight: 600; }

/* Thanh thong tin bai (markup cu .info-article) giua 2 duong ke */
.bv2-infobar {
    margin-top: 24px;
    padding: 12px 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    font-size: 15px;
    color: var(--muted);
}
.bv2-infobar .info-article { margin: 0; flex-wrap: wrap; gap: 8px 16px; align-items: center; }
.bv2-infobar .info-left { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 20px; }
.bv2-infobar .info-left > * + * { margin-left: 0; }
.bv2-infobar .meta-item svg { color: var(--muted); }
.bv2-infobar a { color: var(--ink); font-weight: 500; }
.bv2-infobar a:hover { color: var(--orange-text); }
.bv2-infobar .share-social-icon { min-width: 34px; min-height: 34px; }

/* ===== Anh hero (SEO Hoat 02/11/2026: bo 4 dau cat goc anh) ===== */
.bv2-hero { margin: 32px 16px 0; }
.bv2-proof { position: relative; aspect-ratio: 16 / 9; background: var(--tint); border-radius: var(--r-img); }
.bv2-proof img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: var(--r-img); }

/* ===== Muc luc (SEO Hoat 02/11/2026, mau 8557): the nen --tint, "• IN THIS GUIDE | N sections", H2 so 01 02 nghieng cam,
   gach dut giua muc, muc dang doc chu cam; H3 (1.1, 1.2) chi mo trong H2 dang doc (.is-open do JS). Cot trai >= 1200,
   <details> dinh duoi header <= 1199. ===== */
.bv2-toc { position: sticky; top: calc(var(--bv2-hdr-h, 0px) + 24px); max-height: calc(100vh - var(--bv2-hdr-h, 0px) - 48px); overflow: auto; padding: 18px 18px 8px; background: var(--tint); border: 1px solid var(--line); border-radius: 12px; }
.bv2-toc-hd { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; padding-bottom: 12px; margin-bottom: 4px; border-bottom: 1px solid var(--line); position: relative; }
.bv2-toc-hd::after { content: ""; position: absolute; left: 0; bottom: -1px; width: 36px; height: 2px; background: var(--orange); }
.bv2-toc-h { display: inline-flex; align-items: center; gap: 8px; margin: 0; font: 700 12px/1.3 var(--bv2-font); letter-spacing: .12em; text-transform: uppercase; color: var(--orange); }
.bv2-toc-h::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.bv2-toc-n { font-size: 12.5px; color: var(--muted); white-space: nowrap; }
.bv2-toc-list, .bv2-toc-sub { list-style: none; margin: 0; padding: 0; }
.bv2-toc-list > li { margin: 0; border-bottom: 1px dashed #f0cfb4; }
.bv2-toc-list > li:last-child { border-bottom: 0; }
.bv2-toc-list a { display: flex; gap: 10px; align-items: baseline; padding: 10px 0; font-size: 14px; line-height: 1.4; color: #444; }
.bv2-toc-no { flex: none; min-width: 20px; font-style: italic; font-weight: 700; color: var(--orange); }
.bv2 .bv2-toc-list a:hover, .bv2 .bv2-toc-list a.is-on { color: var(--orange); }
.bv2-toc-sub { display: none; padding: 0 0 8px 30px; }
.bv2-toc-i.is-open > .bv2-toc-sub { display: block; }
.bv2-toc-sub a { padding: 6px 0; font-size: 13.5px; gap: 8px; }
.bv2-toc-sub .bv2-toc-no { min-width: 26px; font-size: 12.5px; }
@media (pointer: coarse) { .bv2-toc-list a { min-height: 44px; align-items: center; } }

/* Thanh "In this guide" (<details>) cho <=1199 */
.bv2-toc-bar { display: none; }
.bv2-toc-bar summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 0 16px;
}
.bv2-toc-bar summary .bv2-toc-n { margin-left: auto; }
.bv2-toc-bar summary::-webkit-details-marker { display: none; }
.bv2-toc-bar summary::after { content: "\25BE"; color: var(--orange); transition: transform .2s; }
.bv2-toc-bar[open] summary::after { transform: rotate(180deg); }
.bv2-toc-bar .bv2-toc-list { padding: 0 16px 8px; max-height: 60vh; overflow: auto; border-top: 1px solid var(--line); }
/* <=1199 (gop y 02/11 muc 2): khoi muc luc day du dung yen trong bai, chi muc chinh (H3 xem o thanh co dinh) */
.bv2-toc-full { display: none; }
.bv2-toc-full .bv2-toc-sub { display: none !important; }
/* Header Printerval giu tren dau khi cuon (trang bai v2, SEO Hoat 02/11/2026): JS them .bv2-hdr-fixed + khoi giu cho */
.site-header.bv2-hdr-fixed { position: fixed !important; top: 0; z-index: 1000; margin: 0; background: #fff; box-shadow: 0 1px 0 rgba(0, 0, 0, .08); }
/* Gop y production 03/11 (Hoat chon): file nay chi nap o trang blog v2 nen sua header blog o day, khong dong blog.css chung.
   Muc 5: o tim kiem mo 320px day menu dinh vao logo o kho <= 1366 -> mo 220px + logo luon cach menu 16px.
   Muc 12: kho tablet (600-1023) logo sat mep trai (x=0) -> le ngang header = le noi dung (24px). Muc 4: xem JS .bv2-hdr-fixed. blog.css nap SAU file nay -> selector phai co #blog-header de thang. */
#blog-header .site-header .blog-logo { flex: none; margin-right: 16px; }
@media (min-width: 768px) and (max-width: 1366px) {
    #blog-header .form-blog-searchbox.blog-focus { width: 220px; }
}
/* Muc 17: trang ket qua tim kiem - o tim kiem dang co tu khoa thi mo san 220px (truoc 115px chi hien "Thanks") */
@media (min-width: 768px) {
    #blog-header .form-blog-searchbox:has(.search-text:not(:placeholder-shown)) { width: 220px; }
}
@media (min-width: 600px) and (max-width: 1023px) {
    #blog-header .site-header { padding-left: 24px; padding-right: 24px; box-sizing: border-box; }
}

/* ===== Than bai ===== */
.bv2-art {
    margin-top: 32px;
    font-size: 18px;
    line-height: 1.75;
    color: var(--text);
    overflow-wrap: break-word;
    word-wrap: break-word;
}
.bv2-art p { margin: 0 0 1.15em; }
.bv2-art h2 {
    font: 700 30px/1.22 var(--bv2-font);
    color: var(--ink);
    margin: 48px 0 16px;
    scroll-margin-top: calc(var(--bv2-hdr-h, 0px) + 24px);
}
.bv2-art h3 { font: 700 22px/1.3 var(--bv2-font); color: var(--ink); margin: 32px 0 8px; scroll-margin-top: calc(var(--bv2-hdr-h, 0px) + 24px); }
.bv2-art h4 { font: 700 19px/1.35 var(--bv2-font); color: var(--ink); margin: 24px 0 8px; }
.bv2-art ul:not([class]), .bv2-art ol:not([class]) { margin: 0 0 1.2em; padding-left: 1.3em; }
.bv2-art li { margin: .35em 0; }
.bv2-art li::marker { color: var(--orange-text); }
.bv2-art ol li::marker { font-weight: 700; }
.bv2-art strong, .bv2-art b { color: var(--ink); font-weight: 700; }
/* Link trong bai: nhu giao dien cu - chu cam #ff7300, khong gach chan (SEO Hoat 02/11/2026 "bo dau inline") */
.bv2-art p a:not([class]), .bv2-art li a:not([class]), .bv2-art td a:not([class]), .bv2-art blockquote a:not([class]) { color: var(--orange-text); text-decoration: none; }
.bv2-art p a:not([class]):hover, .bv2-art li a:not([class]):hover, .bv2-art td a:not([class]):hover, .bv2-art blockquote a:not([class]):hover { color: #c2530f; text-decoration: none; }
/* The SP shortcode: KHONG doi CSS the (style inline). Chi khi cot bai hep hon ~720px (man 1024-1365) luoi 2 the xep 1 cot de nut "Personalize & Shop" khong vo dong */
.bv2-art { container-type: inline-size; }
@container (max-width: 719px) {
    .bv2-art .pv-card-b-wrap[style*="repeat(2"] { grid-template-columns: minmax(0, 1fr) !important; }
}
.bv2-art figure { margin: 24px 0; }
.bv2-art figure img, .bv2-art p > img { display: block; margin: 0 auto; border-radius: var(--r-img); }
.bv2-art figcaption { margin-top: 8px; font-size: 14px; color: var(--muted); }
.bv2-art iframe, .bv2-art video, .bv2-art embed, .bv2-art object { max-width: 100%; }
.bv2-art blockquote {
    margin: 24px 0;
    padding: 4px 0 4px 20px;
    border-left: 4px solid var(--peach);
    color: var(--ink);
}
.bv2-art hr { border: 0; border-top: 1px solid var(--line); margin: 32px 0; }

/* Callout (chi khi bai co san class .callout) */
.bv2-art .callout {
    border-left: 4px solid var(--orange);
    background: #fff7f0;
    padding: 16px 24px;
    border-radius: 0 var(--r-img) var(--r-img) 0;
    margin: 24px 0;
    font-size: 16.5px;
    line-height: 1.6;
}

/* Bang (SEO Hoat 02/11/2026 lan 2 "bang hoi xau"): khung trang vien mong, dau bang nen cam rat nhat + gach cam duoi, dong ke mong, khong to xen ke.
   JS boc .bv2-tbl de cuon ngang khi bang qua rong */
.bv2-tbl {
    overflow-x: auto;
    margin: 24px 0 32px;
    border: 1px solid #e6e6ec;
    border-radius: var(--r-card);
    background: #fff;
    -webkit-overflow-scrolling: touch;
}
.bv2-art table { border-collapse: collapse; width: 100%; margin: 0; font-size: 16px; line-height: 1.55; border: 0; table-layout: auto; color: var(--text); }
.bv2-art th, .bv2-art td { padding: 13px 18px; border: 0; text-align: left; vertical-align: top; font-size: inherit; overflow-wrap: normal; word-break: normal; background: #fff; }
.bv2-art td + td, .bv2-art th + td, .bv2-art th + th, .bv2-art td + th { border-left: 1px solid #f0f0f4; }
.bv2-art tbody tr + tr > *, .bv2-art thead + tbody tr:first-child > * { border-top: 1px solid #ececf1; }
.bv2-art thead th, .bv2-art thead td, .bv2-art table:not(:has(thead)) tr:first-child > th {
    background: #fff6ef;
    color: var(--ink);
    font-weight: 700;
    font-size: 15px;
    letter-spacing: .01em;
    border-bottom: 2px solid var(--orange);
    white-space: normal;
    vertical-align: bottom;
}
.bv2-art tbody th { color: var(--ink); font-weight: 600; }
.bv2-art tbody tr:hover > * { background: #fffaf6; }
.bv2-art td:first-child, .bv2-art th:first-child { color: var(--ink); font-weight: 600; }
.bv2-art table p { margin: 0; }
.bv2-art table a:not([class]) { color: var(--orange-text); }
/* Bang qua rong cho cot bai (JS do scrollWidth): bot dem truoc khi phai cuon */
.bv2-tbl--dense table { font-size: 15px; }
.bv2-tbl--dense th, .bv2-tbl--dense td { padding: 10px 12px; }
/* Bang nhieu cot tren mobile (JS gan .bv2-tbl--stack + data-label tu dau bang): moi dong thanh 1 the, o dau = ten the,
   cac o con lai "Ten cot: gia tri" - doc du moi cot khong phai vuot ngang (SEO Hoat 02/11/2026) */
.bv2-tbl--stack { overflow: visible; border: 0; background: none; }
.bv2-tbl--stack table, .bv2-tbl--stack tbody, .bv2-tbl--stack tr, .bv2-tbl--stack th, .bv2-tbl--stack td { display: block; width: auto; }
.bv2-tbl--stack thead, .bv2-tbl--stack .bv2-tbl-hrow { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.bv2-art .bv2-tbl--stack tr { margin: 0 0 12px; border: 1px solid #e6e6ec; border-radius: var(--r-card); overflow: hidden; background: #fff; }
.bv2-art .bv2-tbl--stack tr > * { border: 0; background: #fff; padding: 9px 14px; font-size: 15px; }
.bv2-art .bv2-tbl--stack tr > * + * { border-top: 1px solid #f0f0f4; border-left: 0; }
.bv2-art .bv2-tbl--stack tr > :first-child { background: #fff6ef; color: var(--ink); font-weight: 700; font-size: 16px; border-bottom: 2px solid var(--orange); }
.bv2-art .bv2-tbl--stack tr > [data-label]:not(:first-child) { display: grid; grid-template-columns: minmax(0, 38%) minmax(0, 1fr); gap: 12px; }
.bv2-art .bv2-tbl--stack tr > [data-label]:not(:first-child)::before { content: attr(data-label); color: var(--muted); font-weight: 600; font-size: 13.5px; line-height: 1.5; }
.bv2-art .bv2-tbl--stack tbody tr:hover > * { background: #fff; }
.bv2-art .bv2-tbl--stack tr > :first-child[data-label]::before { content: none; }

/* FAQ: markup + JS cu (faq-block.css/js, dong mo), chi doi mau/khung cho hop giao dien moi.
   Ap cho FAQ shortcode [faq] trong bai (.product-faq-wrapper) + FAQ meta (.bv2-faqold .post-faq-group) */
.bv2 .post-faq-group { margin: 8px 0 24px; }
.bv2 .product-faq-wrapper { margin: 12px 0 24px; padding: 0; }
.bv2 .post-faq-item { margin: 10px 0 0; background: #fff; border: 1px solid #e6e6ec; border-radius: var(--r-card); transition: border-color .2s; }
.bv2 .post-faq-item:hover { border-color: #f3c6a2; }
.bv2 .post-faq-question { padding: 14px 18px; color: var(--ink); font-weight: 600; gap: 12px; }
.bv2 .post-faq-question * { font-size: 17px; line-height: 1.4; }
.bv2 .post-faq-question svg path[fill="#1C274C"] { fill: var(--orange); }
.bv2 .post-faq-question .bi-chevron-down, .bv2 .post-faq-question > svg { flex: none; color: var(--orange); }
.bv2 .post-faq-question.effect-show { color: var(--orange-text); }
.bv2 .post-faq-question { cursor: pointer; }
.bv2 .post-faq-question:focus-visible { outline: 2px solid var(--orange); outline-offset: 2px; border-radius: var(--r-card); }
.bv2 .post-faq-question-text { justify-content: flex-start; text-align: left; }
.bv2 .post-faq-answer .post-faq-answer-wrap { padding: 14px 18px 16px; border-top: 1px solid #f0f0f4; font-size: 16px; line-height: 1.65; color: var(--text); }
.bv2 .post-faq-answer-wrap > :last-child { margin-bottom: 0; }

/* Related Articles + Most Popular in {danh muc}: khoi cu (inc.blog.most-posts / related-post), doi chu + anh theo the bv2 */
.bv2 .bv2-oldrel { margin-top: 8px; }
.bv2 .bv2-oldrel .most-list-block, .bv2 .bv2-oldrel > div { margin-top: 40px; }
.bv2 .bv2-oldrel h2, .bv2 .bv2-oldrel .most-articles-title { font: 700 24px/1.3 var(--bv2-font); color: var(--ink); margin: 0 0 16px; padding: 0; }
.bv2 .bv2-oldrel .most-list-post { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 20px; }
.bv2 .bv2-oldrel .item-feature { display: block; margin: 0; padding: 0; width: auto; }
.bv2 .bv2-oldrel .blog-item-content { display: block; padding: 0; margin: 0; width: auto; }
.bv2 .bv2-oldrel .entry-thumbnail { display: block; width: 100%; flex: none; aspect-ratio: 16 / 10; overflow: hidden; border-radius: var(--r-img); background: #f5f5f7; margin: 0 0 10px; padding: 0; height: auto; }
.bv2 .bv2-oldrel .entry-thumbnail img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0; transition: transform .3s; }
.bv2 .bv2-oldrel .item-feature:hover .entry-thumbnail img { transform: scale(1.03); }
.bv2 .bv2-oldrel .entry-title { margin: 0; padding: 0; font-size: inherit; }
.bv2 .bv2-oldrel .entry-title a {
    font: 600 16px/1.4 var(--bv2-font);
    color: var(--ink);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.bv2 .bv2-oldrel .entry-title a:hover { color: var(--orange-text); }
.bv2 .bv2-oldrel .entry-title, .bv2 .bv2-oldrel .entry-title a { text-transform: none; } /* blog.css capitalize -> "Gifts For" sai ten bai (gop y 02/11 muc 12) */

/* Banner tai app + Products for you: giu component cu, chi can le */
.bv2-appbanner { margin-top: 48px; }
.bv2-appbanner img { border-radius: var(--r-card); }
.bv2-bestsell { margin-top: 16px; }
.bv2-bestsell .section-product-page-title, .bv2-bestsell h2 { color: var(--ink); }

/* Tag + hop tac gia (component that, nen --tint) */
.bv2-after { margin-top: 32px; }
.bv2-author { margin-top: 24px; }
.bv2-author .author-area {
    background: var(--tint);
    border: 0;
    border-radius: var(--r-card);
    padding: 24px;
    margin: 0;
    color: var(--text);
}
.bv2-author .author-avatar { width: 88px; height: 88px; padding: 0; flex: none; }
.bv2-author .author-avatar img { width: 88px; height: 88px; border-radius: 50%; object-fit: cover; }
.bv2-author .author-desc { width: auto; flex: 1; min-width: 0; padding: 0 0 0 24px; }
.bv2-author .author-name { font-size: 15px; color: var(--muted); }
.bv2-author .author-name a { color: var(--ink); font-weight: 700; font-size: 21px; }
.bv2-author .author-name a:hover { color: var(--orange-text); }
.bv2-author .author-description { font-size: 15.5px; line-height: 1.6; }
.bv2-author .social-item { background-color: var(--ink); }
.bv2 .tags-wrapper .tag { background: var(--tint); color: var(--ink); min-height: 32px; }
.bv2 .tags-wrapper .tag:hover { background: var(--peach); }

/* ===== Cot phai ===== */
.bv2-rail { display: grid; gap: 32px; align-content: start; align-self: stretch; min-width: 0; }
.bv2-stick { position: sticky; top: var(--bv2-stick-top); }
.bv2-rail-h {
    font: 700 18px/1.3 var(--bv2-font); /* 13px -> 18px (Hoat 03/11 "cho to hon") */
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--ink);
    margin: 0 0 16px;
    padding-bottom: 16px;
    border-bottom: 2px solid var(--ink);
}
.bv2-rows { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.bv2-rows li { margin: 0; }
.bv2-rows li + li { padding-top: 16px; border-top: 1px solid var(--line); }

/* ===== Card C1 / C1b (SEO Hoat 02/11/2026: tieu de toi da 2 dong + "...", tag bo goc 9px) ===== */
.bv2-card { display: flex; flex-direction: column; gap: 10px; color: var(--text); }
.bv2-ph { aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--r-img); background: var(--tint); }
.bv2-ph img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.bv2-card:hover .bv2-ph img { transform: scale(1.03); }
.bv2-t {
    font: 700 19px/1.3 var(--bv2-font);
    color: var(--ink);
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
a.bv2-card:hover .bv2-t, .bv2 .bv2-t a:hover, .bv2 .bv2-t a:focus-visible { color: var(--orange); }
.bv2 a.bv2-ph { display: block; }
.bv2-card-row { flex-direction: row; gap: 16px; align-items: flex-start; }
.bv2-card-row .bv2-ph { width: 104px; flex: none; }
.bv2-card-tx { display: grid; gap: 5px; min-width: 0; }
.bv2-card-row .bv2-t { font-size: 15px; line-height: 1.3; }
.bv2-rows .bv2-t { font-weight: 500; } /* ten bai cot phai bot dam (Hoat 03/11) */
.bv2-card-row .bv2-meta { font-size: 13px; }

/* ===== Related articles ===== */
.bv2-sec { padding: 64px 0; }
.bv2-tint { background: var(--tint); margin-top: 64px; }
.bv2-sechead { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 32px; flex-wrap: wrap; }
.bv2 .bv2-more {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    font: 700 14px/1.2 var(--bv2-font);
    color: var(--ink);
    white-space: nowrap;
}
.bv2 .bv2-more:hover { color: var(--orange); }
.bv2-g3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 24px; }

/* ===== Responsive ===== */
@media (max-width: 1199px) {
    .bv2-grid { grid-template-columns: minmax(0, 1fr) var(--rail); }
    .bv2-toc { display: none; }
    .bv2-toc-full { display: block; margin-top: 24px; padding: 14px 16px 6px; background: var(--tint); border: 1px solid var(--line); border-radius: var(--r-card); }
    /* thanh "In this guide" co dinh duoi header, an cho toi khi khoi day du da cuon qua (JS .is-on) - khong chiem cho trong bai */
    .bv2-toc-bar {
        display: block;
        position: fixed;
        top: var(--bv2-hdr-h, 0px);
        left: 0;
        right: 0;
        z-index: 20;
        margin: 0;
        max-width: none;
        background: #fff;
        border: 0;
        border-bottom: 1px solid var(--line);
        box-shadow: 0 2px 6px rgba(25, 18, 79, .06);
        transform: translateY(-120%);
        visibility: hidden;
        transition: transform .2s ease, visibility 0s linear .2s;
    }
    .bv2-toc-bar.is-on { transform: none; visibility: visible; transition: transform .2s ease; }
}
@media (max-width: 1023px) {
    .bv2-grid, .bv2-grid--notoc { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .bv2-head, .bv2-hero, .bv2-toc-full, .bv2-art, .bv2-after { max-width: none; }
    .bv2-hero { margin: 24px 0 0; }
    .bv2-stick { position: static; }
    .bv2-g3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    /* Trang bai mobile: le 15px nhu trang bai cu (do 02/11/2026: the SP cu rong 345/375) - breadcrumb/tieu de sat trai hon (SEO Hoat) */
    .bv2-wrap:has(> .bv2-grid) { padding-left: 15px; padding-right: 15px; }
}
@media (max-width: 767px) {
    .bv2-h1 { font-size: 31px; }
    .bv2-h2 { font-size: 24px; }
    .bv2-dek { font-size: 17px; }
    .bv2-art { font-size: 17px; line-height: 1.7; }
    .bv2-art h2 { font-size: 25px; scroll-margin-top: calc(var(--bv2-hdr-h, 0px) + 60px); }
    .bv2-art h3 { scroll-margin-top: calc(var(--bv2-hdr-h, 0px) + 60px); }
    .bv2-art h3 { font-size: 20px; }
    /* Bang mobile: vua be ngang (bo min-width 560) - bang nhieu cot van cuon trong .bv2-tbl */
    .bv2-tbl { margin: 20px 0 28px; }
    .bv2-art table { min-width: 0; font-size: 15px; line-height: 1.5; }
    .bv2-art th, .bv2-art td { padding: 10px 12px; }
    /* Hoat 03/11/2026 15:28 VN: rule bang cu tren mobile - o rong toi thieu 120px, bang nhieu cot keo ngang de doc (.bv2-tbl overflow-x) */
    .bv2-art th, .bv2-art td { min-width: 120px; }
    .bv2-art thead th, .bv2-art thead td, .bv2-art table:not(:has(thead)) tr:first-child > th { font-size: 14px; white-space: normal; }
    /* breadcrumb sat trai (bo padding mac dinh cua ol) */
    .bv2 .blog-brc .news-breadcrumb { padding-left: 0; margin-left: 0; }
    /* Breadcrumb mobile (SEO Hoat 02/11/2026): chu chay lien dong, mui ten dinh lien chu dung sau no (khong dung tro troi dau dong),
       toi da 2 dong, ten bai dai thi "..." - chi trong .bv2, khong doi breadcrumb trang cu */
    .bv2 .blog-brc .news-breadcrumb { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; line-height: 22px; font-size: 14px; }
    .bv2 .blog-brc .news-breadcrumb li { display: inline; white-space: nowrap; }
    .bv2 .blog-brc .news-breadcrumb .breadcrumb__text { white-space: normal; } /* li nowrap chi de mui ten dinh chu dau; ten dai van xuong dong */
    .bv2 .blog-brc .blog-brc-sep { display: inline-block; vertical-align: -3px; margin: 0 3px; }
    /* mobile: danh sach 1 cot anh trai + tieu de phai nhu ban mobile cu */
    .bv2 .bv2-oldrel .most-list-post { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .bv2 .bv2-oldrel .item-feature { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 14px; align-items: center; }
    .bv2 .bv2-oldrel .entry-thumbnail { margin: 0; }
    .bv2 .bv2-oldrel h2, .bv2 .bv2-oldrel .most-articles-title { font-size: 21px; }
    .bv2 .bv2-oldrel .entry-title a { font-size: 15px; }
    .bv2 .post-faq-question * { font-size: 16px; }
    .bv2-sec { padding: 48px 0; }
    .bv2-tint { margin-top: 48px; }
}
@media (max-width: 599px) {
    .bv2-g3 { grid-template-columns: minmax(0, 1fr); }
    .bv2-author .author-area { flex-direction: column; }
    .bv2-author .author-avatar, .bv2-author .author-avatar img { width: 72px; height: 72px; }
    .bv2-author .author-desc { padding: 16px 0 0; }
}
@media (prefers-reduced-motion: reduce) {
    .bv2 *, .bv2 *::before, .bv2 *::after { transition: none !important; animation: none !important; }
    .bv2-card:hover .bv2-ph img { transform: none; }
}

/* =====================================================================================================================
   #2d29c105 Blog v2 - trang chu blog (/blog). View: resources/views/common/blog-v2/home.blade.php. Gia tri theo ban mau 8112 #v-home,
   font Printerval (--bv2-font), mau theo tokens o tren.
   ===================================================================================================================== */
.bv2-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.bv2-bg-tint { background: var(--tint); }
.bv2-bg-peach { background: var(--peach); }
.bv2-sechead p { margin: 6px 0 0; color: var(--muted); font-size: 16px; line-height: 1.5; }
.bv2-sechead .bv2-eyebrow + .bv2-h2 { margin-top: 6px; }
.bv2-bg-peach .bv2-sechead p { color: var(--text); }

/* Nut C3 / C4 */
.bv2 .bv2-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 13px 22px;
    border: 0;
    border-radius: 9px;
    font: 700 15px/1 var(--bv2-font);
    cursor: pointer;
    transition: transform .15s, background .15s;
}
.bv2 .bv2-btn-shop { background: var(--orange); color: var(--on-orange); }
.bv2 .bv2-btn-shop:hover { background: #ff8a2b; color: var(--on-orange); transform: translateY(-1px); }
.bv2 .bv2-btn-ghost { background: #fff; color: var(--ink); box-shadow: inset 0 0 0 1.5px var(--ink); }
.bv2 .bv2-btn-ghost:hover { background: var(--tint); color: var(--ink); }

/* Luoi C5 */
.bv2-g4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 24px; }
.bv2-home .bv2-g3 { gap: 32px 24px; }
.bv2-card.bv2-off { display: none; }

/* ===== Hero ===== */
.bv2-hero-sec { padding: 32px 0 48px; }
.bv2-hero-top { max-width: 860px; margin-bottom: 32px; }
.bv2-hero-top .bv2-h1 { margin-top: 10px; }
.bv2-hero-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.bv2-hero-grid--solo { grid-template-columns: minmax(0, 1fr); }
.bv2-trend { padding-top: 4px; }
.bv2-feature .bv2-proof { margin-bottom: 6px; }
.bv2-feature-t { font: 700 32px/1.2 var(--bv2-font); color: var(--ink); margin: 0; }
.bv2 .bv2-feature-t a:hover, .bv2 .bv2-feature-t a:focus-visible { color: var(--orange); }
.bv2 a.bv2-proof { display: block; }
.bv2-feature-x { margin: 0; color: var(--muted); font-size: 17px; line-height: 1.55; max-width: 62ch; }
.bv2-trend .bv2-card-row .bv2-ph { width: 136px; }
.bv2-trend .bv2-card-row .bv2-t { font-size: 16.5px; -webkit-line-clamp: 2; }

/* ===== Who's the gift for? (the qua: lo xau day, net dut, hover nen cam lan + nghieng -2deg quanh lo) ===== */
.bv2-rec { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 48px; align-items: center; }
.bv2-rec-intro .bv2-h2 { margin-top: 6px; }
.bv2-rec-intro p { margin: 12px 0 24px; color: var(--muted); font-size: 17px; line-height: 1.55; }
.bv2-pbtns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 16px; }
.bv2 .bv2-pbtn {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 76px;
    padding: 12px 24px 12px 20px;
    border-radius: 9px;
    background: #fff;
    color: var(--ink);
    font: 700 17px/1.2 var(--bv2-font);
    box-shadow: 0 0 0 1px var(--line), 0 12px 20px -16px rgba(92, 51, 23, .45);
    overflow: hidden;
    isolation: isolate;
    transform-origin: 26px 50%;
    transition: color .25s, box-shadow .3s, transform .45s cubic-bezier(.3, 1.5, .5, 1);
}
.bv2-pbtn::before {
    content: "";
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    z-index: -1;
    background: var(--orange);
    border-radius: inherit;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .35s cubic-bezier(.65, 0, .35, 1);
}
.bv2-pbtn::after {
    content: "";
    order: -1;
    flex: none;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: var(--tint);
    box-shadow: inset 0 2px 3px rgba(92, 51, 23, .35);
    transition: box-shadow .25s;
}
.bv2-pbtn > span { min-width: 0; padding-left: 14px; border-left: 1.5px dashed var(--line); transition: border-color .25s; }
.bv2-pbtn small { display: block; margin-top: 4px; font: 500 13px/1.3 var(--bv2-font); color: var(--muted); transition: color .25s; }
.bv2 .bv2-pbtn:hover, .bv2 .bv2-pbtn:focus-visible {
    color: var(--on-orange);
    box-shadow: 0 0 0 1px var(--orange), 0 18px 26px -14px rgba(255, 115, 0, .65);
    transform: rotate(-2deg);
}
.bv2 .bv2-pbtn:active { transform: rotate(-2deg) scale(.98); }
.bv2-pbtn:hover::before, .bv2-pbtn:focus-visible::before { transform: scaleX(1); }
.bv2-pbtn:hover::after, .bv2-pbtn:focus-visible::after { box-shadow: inset 0 2px 3px rgba(92, 51, 23, .35), 0 0 0 3px #fff; }
.bv2-pbtn:hover > span, .bv2-pbtn:focus-visible > span { border-color: rgba(59, 32, 13, .3); }
.bv2-pbtn:hover small, .bv2-pbtn:focus-visible small { color: #fff; }

/* ===== Coming up (C3) ===== */
.bv2-evs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.bv2-ev {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 24px;
    overflow: hidden;
    background: #fff;
    border-radius: var(--r-card);
    box-shadow: 0 14px 28px -18px rgba(168, 72, 0, .45);
    min-width: 0;
}
.bv2-ev-art { position: relative; height: 132px; margin: -24px -24px 0; }
.bv2-ev-art svg { display: block; width: 100%; height: 100%; }
.bv2-ev-art .fl { animation: bv2evfl 4s ease-in-out infinite; }
.bv2-ev-art .fl2 { animation: bv2evfl 5s ease-in-out -2s infinite; }
.bv2-ev-art .tw { animation: bv2evtw 2.4s ease-in-out infinite; }
@keyframes bv2evfl { 50% { transform: translateY(-5px); } }
@keyframes bv2evtw { 50% { opacity: .35; } }
.bv2-ev-top { position: relative; display: flex; gap: 16px; align-items: flex-start; margin-top: -46px; }
.bv2-ev-top > div:last-child { padding-top: 54px; min-width: 0; }
.bv2-cal {
    flex: none;
    width: 66px;
    overflow: hidden;
    border-radius: var(--r-img);
    background: #fff;
    text-align: center;
    box-shadow: 0 0 0 3px #fff, 0 6px 16px rgba(92, 51, 23, .18);
}
.bv2-cal-mo { display: block; background: var(--orange); color: var(--on-orange); font: 700 12px/24px var(--bv2-font); letter-spacing: .12em; }
.bv2-cal-dd { display: block; padding-top: 8px; font: 700 30px/1 var(--bv2-font); color: var(--ink); }
.bv2-cal-wd { display: block; padding: 5px 0 8px; font: 700 10px/1 var(--bv2-font); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.bv2-ev-h { margin: 0; font: 700 21px/1.15 var(--bv2-font); color: var(--ink); }
.bv2-cd {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    padding: 4px 10px;
    border-radius: 9px;
    background: var(--tint);
    color: var(--ink);
    font: 700 13px/1.3 var(--bv2-font);
}
.bv2-cd.bv2-cd-soon { background: #fff1e6; color: var(--orange-text); }
.bv2-cd.bv2-cd-soon::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--orange); }
.bv2-bar { height: 5px; overflow: hidden; border-radius: 3px; background: var(--tint); }
.bv2-bar i { display: block; height: 100%; border-radius: 3px; background: var(--orange); }
.bv2-ev ul { list-style: none; margin: 0; padding: 0; }
.bv2-ev li { margin: 0; }
.bv2 .bv2-ev li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-height: 44px;
    padding: 10px 0;
    border-top: 1px solid var(--line);
    font: 600 15px/1.3 var(--bv2-font);
    color: var(--ink);
}
.bv2-ev li a::after { content: "\2192"; color: var(--orange-text); }
.bv2 .bv2-ev li a:hover { color: var(--orange-text); }

/* ===== Banner Make it personal (C14) ===== */
.bv2-cta { display: grid; grid-template-columns: 1.1fr 1fr; overflow: hidden; border-radius: 20px; background: var(--peach); color: var(--text); }
.bv2-cta-tx { padding: 48px; }
.bv2-cta-tx .bv2-h2 { margin-top: 10px; }
.bv2-cta-tx p { margin: 16px 0 32px; max-width: 44ch; color: var(--text); font-size: 17px; line-height: 1.55; }
.bv2-cta-im { position: relative; min-height: 300px; }
.bv2 .bv2-cta-im img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }

/* ===== Latest articles + Load more + phan trang (markup themes.printerval.common.pagination-custom) ===== */
.bv2-home .bv2-sec + .bv2-latest-sec { padding-top: 0; }
/* #2d29c105 SEO Hoat 02/11/2026: bo banner Make it personal -> Latest co the dung sau section nen mau: can le tren; pager sat footer */
.bv2-home .bv2-bg-tint + .bv2-latest-sec, .bv2-home .bv2-bg-peach + .bv2-latest-sec { padding-top: 48px; }
.bv2-home .bv2-latest-sec { padding-bottom: 16px; }
.bv2-home .bv2-pager .pagination-box { margin-bottom: 0; }
/* Khoi "Recently Viewed" (module BrowsingHistory, ngay sau .bv2 trong layout) giu khung loading ~190-240px trang khi khach chua
   xem SP nao (JS khong goi bind -> khung khong bi go) -> khoang trang giua phan trang va footer. Chi an khi khung loading con
   (JS co lich su thi go loading + show -> hien binh thuong). Trinh duyet khong ho tro :has -> nhu cu. */
body:has(.bv2) #product-viewed-content:has(> .loading-product-viewed-content) { display: none; }
.bv2-latest-sec.bv2-paged { padding-top: 32px; }
.bv2-h1-sm { font-size: 32px; margin: 0 0 32px; }
.bv2-loadmore { display: flex; justify-content: center; margin-top: 40px; }
/* SEO Hoat 02/11/2026: nut Load more kieu Printerval (cung he voi phan trang cu): chu nhat bo 5px, nen #f8f8f8, chu #19124f, hover chu cam */
.bv2 .bv2-loadmore .bv2-btn {
    min-height: 44px;
    min-width: 240px;
    padding: 12px 24px;
    border-radius: 5px;
    background: #f8f8f8;
    box-shadow: none;
    color: #19124f;
    font: 500 15px/1.2 var(--bv2-font);
    transform: none;
}
.bv2 .bv2-loadmore .bv2-btn:hover, .bv2 .bv2-loadmore .bv2-btn:focus-visible { background: #f0f0f0; color: var(--orange); }
.bv2 .bv2-pager { margin-top: 32px; }
.bv2-pager .pagination-box { margin: 0; }
.bv2-pager .pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
.bv2-pager .pagination li { margin: 0; }
.bv2-pager .pagination li a, .bv2-pager .pagination li span {
    /* SEO Hoat 02/11/2026: phan trang nhu Printerval Blog cu (do /blog 02/11: o 40px / mobile 35px, bo 5px, nen #f8f8f8,
       chu #19124f 15px 500, trang hien tai chu cam, cach 8px / mobile 4px) */
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border-radius: 5px;
    background: #f8f8f8;
    box-shadow: none;
    font: 500 15px/40px var(--bv2-font);
    color: #19124f;
}
.bv2-pager .pagination li a:hover { background: #f0f0f0; color: var(--orange); }
.bv2-pager .pagination li.current span { background: #f8f8f8; color: var(--orange); }
.bv2-pager .pagination li.disabled span { color: #444; }
.bv2-pager .pagination li.pagination-gap span { width: auto; min-width: 0; padding: 0 2px; background: none; }
.bv2-pager .pagination li.pagination-gap-narrow { display: none; }

/* ===== #2d29c105 Trang danh muc blog v2 (view common.blog-v2.category, ban mau #v-category; SEO Hoat 02/11/2026) ===== */
.bv2-crumbs { margin-bottom: 16px; }
.bv2-crumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin: 0; padding: 0; list-style: none; font-size: 13.5px; color: var(--muted); }
.bv2-crumbs li { margin: 0; display: inline-flex; align-items: center; gap: 8px; }
.bv2-crumbs li + li::before { content: "\203A"; color: var(--muted); }
.bv2 .bv2-crumbs a { color: var(--muted); }
.bv2 .bv2-crumbs a:hover { color: var(--orange); }
.bv2-crumbs [aria-current] { color: var(--ink); }
/* Trang danh muc mobile (Hoat 02/11 09:53 "rule hien thi nhu trang san pham" = breadcrumb PDP mobile, themes/printerval-mobile/inc/product/breadcrumb):
   MOT dong, khong xuong dong; muc cuoi co truoc (toi 6em, man < 360px 4em), muc giua co toi 3em + "...", Home va muc <= 7 ky tu khong co;
   van qua dai thi cuon ngang; title = ten day du */
@media (max-width: 767px) {
    .bv2-crumbs ol { flex-wrap: nowrap; gap: 6px; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
    .bv2-crumbs ol::-webkit-scrollbar { display: none; }
    .bv2-crumbs li { flex: 0 1 auto; min-width: calc(3em + 12px); gap: 6px; white-space: nowrap; }
    .bv2-crumbs li:first-child, .bv2-crumbs li.bv2-crumb-short { flex-shrink: 0; min-width: auto; }
    .bv2-crumbs li:last-child { flex-shrink: 10000; min-width: 6em; }
    .bv2-crumbs li + li::before { flex-shrink: 0; }
    .bv2-crumbs li > a, .bv2-crumbs li > span { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}
@media (max-width: 359px) { .bv2-crumbs li:last-child { min-width: 4em; } }
/* Hoat 03/11/2026 15:09 VN: breadcrumb danh muc PC nhu trang san pham (pdp-brc: 14.4px, mui ten nho) - Home > Blog > ... chu cam, muc hien tai #444 */
@media (min-width: 768px) {
    .bv2-crumbs ol { font-size: 14.4px; line-height: 21.6px; gap: 4px 10px; }
    .bv2-crumbs li { gap: 10px; }
    .bv2-crumbs li + li::before { content: ""; width: 5px; height: 9px; background: no-repeat center/5px 9px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 5 9'%3E%3Cpath d='M.6.6 4.2 4.5.6 8.4' fill='none' stroke='%23444' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
    .bv2 .bv2-crumbs a { color: var(--orange); }
    .bv2 .bv2-crumbs a:hover { color: var(--orange-text, #e85d00); }
    .bv2-crumbs [aria-current] { color: #444; }
}
/* SEO Hoat 02/11/2026: header theo ban mau (breadcrumb + H1 + mo ta trai, the Start here lon ben phai), giu mau chu Printerval */
.bv2-cathead { display: grid; grid-template-columns: minmax(0, 1fr) 480px; gap: 64px; align-items: center; padding: 32px 0; }
.bv2-cathead--solo { grid-template-columns: minmax(0, 1fr); }
.bv2-cathead .bv2-h1 { margin: 0; }
.bv2-cathead .bv2-dek { max-width: 62ch; }
.bv2-start { display: grid; gap: 16px; padding: 16px 16px 20px; background: var(--tint); border-radius: 12px; }
.bv2-start .bv2-ph { border-radius: var(--r-img); }
.bv2-start-tx { display: grid; gap: 6px; min-width: 0; }
.bv2-start-tx { padding: 0 4px; }
.bv2-start .bv2-t { font-size: 21px; line-height: 1.3; -webkit-line-clamp: 2; }
.bv2-subbar { display: flex; align-items: flex-start; gap: 16px; padding: 24px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.bv2-chips { flex: 1; display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; min-width: 0; }
.bv2-chips.is-js { max-height: 44px; overflow: hidden; transition: max-height .3s; }
.bv2-chips.is-js.is-open { max-height: 600px; }
.bv2-chips li { margin: 0; }
.bv2 .bv2-chip { display: inline-flex; align-items: center; height: 42px; padding: 0 16px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: #19124f; font: 500 14.5px/1 var(--bv2-font); white-space: nowrap; }
.bv2 .bv2-chip:hover { color: var(--orange); border-color: var(--orange); }
.bv2 .bv2-chip.is-on { background: var(--orange); border-color: var(--orange); color: #fff; }
/* Mobile: slide chuyen muc con tuan hoan (JS .is-slide, Hoat 03/11/2026) - 1 dong cuon ngang, an thanh cuon, khong snap (nhay vong muot) */
@media (max-width: 767px) {
    .bv2-chips.is-slide { position: relative; flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; max-height: none; scrollbar-width: none; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
    .bv2-chips.is-slide::-webkit-scrollbar { display: none; }
    .bv2-chips.is-slide li { flex: none; }
}
.bv2-seemore { flex: none; display: inline-flex; align-items: center; gap: 6px; height: 42px; padding: 0 18px; border: 0; border-radius: 9px; background: var(--orange); color: #fff; font: 500 14.5px/1 var(--bv2-font); cursor: pointer; }
.bv2-seemore::after { content: ""; width: 6px; height: 6px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: translateY(-2px) rotate(45deg); transition: transform .2s; }
.bv2-seemore[aria-expanded="true"]::after { transform: translateY(2px) rotate(-135deg); }
.bv2-seemore:hover { background: #ff8a2b; }
.bv2-seemore-less, .bv2-seemore[aria-expanded="true"] .bv2-seemore-more { display: none; }
.bv2-seemore[hidden] { display: none !important; } /* nut chi hien khi co chip bi cat (JS dat hidden); display inline-flex o tren de mat [hidden] */
.bv2-seemore[aria-expanded="true"] .bv2-seemore-less { display: inline; }
.bv2-cat-body { display: grid; grid-template-columns: minmax(0, 1fr) var(--rail); gap: 48px; align-items: start; padding: 32px 0 16px; }
.bv2-cat-body--solo { grid-template-columns: minmax(0, 1fr); }
.bv2-cat .bv2-sechead { margin-bottom: 20px; }
.bv2-cat .bv2-g3 { gap: 32px 24px; }
.bv2-cat-rail { position: sticky; top: var(--bv2-stick-top); }
.bv2-cat-rail .bv2-card-row .bv2-ph { width: 104px; }
.bv2-cat-rail .bv2-t { font-size: 15px; -webkit-line-clamp: 2; }
/* Keep Exploring (SEO Hoat 02/11/2026): nen Printerval (--tint), nhan "More ideas", chip trang bo tron */
.bv2-explore { padding: 48px 0 56px; background: var(--tint); }
.bv2-explore-tag { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border: 1px solid #ffc9a3; border-radius: 9px; background: #ffe8d6; color: var(--orange); font: 700 12px/1 var(--bv2-font); letter-spacing: .12em; text-transform: uppercase; }
.bv2-explore-tag::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.bv2-explore .bv2-h2 { margin: 16px 0 20px; font-size: 36px; }
.bv2-explore .bv2-h2 em { font-style: italic; color: var(--orange); }
.bv2-explore-list { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.bv2-explore-list li { margin: 0; }
.bv2 .bv2-explore-list a { display: inline-flex; align-items: center; height: 40px; padding: 0 18px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: #19124f; font: 400 15px/1 var(--bv2-font); }
.bv2 .bv2-explore-list a:hover { color: var(--orange); border-color: var(--orange); }
/* Keep Exploring: PC hien du chip, khong nut See more (Hoat 02/11 09:51); chi mobile (<=767) cat 2 dong + See more */
.bv2-explore-more { margin-top: 16px; }

/* ===== Responsive trang chu ===== */
@media (max-width: 1180px) {
    .bv2-evs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1023px) {
    .bv2-cathead, .bv2-cat-body { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .bv2-cat-rail { position: static; }
    .bv2-hero-grid { grid-template-columns: minmax(0, 1fr); }
    .bv2-rec { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .bv2-g4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bv2-pager .pagination { gap: 4px; }
    .bv2-pager .pagination li.pagination-far { display: none; }
    .bv2-pager .pagination li.pagination-gap-narrow { display: block; }
}
@media (max-width: 767px) {
    .bv2-hero-sec { padding-top: 24px; }
    .bv2-feature-t { font-size: 24px; }
    .bv2-h1-sm { font-size: 26px; }
    .bv2-pbtns { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .bv2-cta { grid-template-columns: minmax(0, 1fr); }
    .bv2-cta-tx { padding: 32px 24px; }
    .bv2-cta-im { min-height: 220px; order: -1; }
}
@media (max-width: 599px) {
    .bv2-g4 { grid-template-columns: minmax(0, 1fr); }
    .bv2 .bv2-pbtn { min-height: 54px; padding: 8px 12px; gap: 10px; font-size: 15.5px; transform-origin: 16px 50%; }
    .bv2-pbtn::after { width: 9px; height: 9px; }
    .bv2-pbtn > span { padding-left: 0; border-left: 0; overflow-wrap: anywhere; }
    .bv2-pbtn small { display: none; }
    .bv2-evs {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 24px;
        margin: 0 -24px;
        padding: 0 24px 6px;
        scrollbar-width: none;
    }
    .bv2-evs::-webkit-scrollbar { display: none; }
    .bv2-ev { flex: 0 0 80%; scroll-snap-align: start; gap: 12px; padding: 20px; }
    .bv2-trend .bv2-card-row .bv2-ph { width: 112px; }

    /* #2d29c105 mobile (Hoat 01/11/2026 "ban mobile chua toi uu"): trang ngan ~1/2 - bo doan phu, hang ngang thay the lon,
       chip vuot ngang, khoang cach section nho hon. Chi CSS + 1 lop markup; thu tu bai / link / schema khong doi. */
    .bv2-home .bv2-sec { padding: 32px 0; }
    .bv2-home .bv2-sechead { margin-bottom: 16px; gap: 8px; flex-wrap: nowrap; align-items: flex-end; }
    .bv2-home .bv2-sechead p { display: none; }
    .bv2-home .bv2-sechead .bv2-more { flex: none; white-space: nowrap; }
    .bv2-home .bv2-h2 { font-size: 22px; }
    .bv2-home .bv2-hero-sec { padding: 16px 0 24px; }
    .bv2-home .bv2-hero-top { margin-bottom: 16px; }
    .bv2-home .bv2-hero-top .bv2-h1 { font-size: 25px; line-height: 1.2; margin-top: 4px; }
    .bv2-home .bv2-hero-top .bv2-dek { display: none; }
    .bv2-home .bv2-hero-grid { gap: 28px; }
    .bv2-home .bv2-feature-t { font-size: 21px; }
    .bv2-home .bv2-feature-x { font-size: 15px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
    .bv2-home .bv2-trend .bv2-rail-h { margin-bottom: 4px; }
    .bv2-home .bv2-trend .bv2-rows { gap: 12px; }
    .bv2-home .bv2-trend .bv2-rows li + li { padding-top: 12px; }
    .bv2-home .bv2-trend .bv2-card-row { gap: 12px; }
    .bv2-home .bv2-trend .bv2-card-row .bv2-ph { width: 96px; }
    .bv2-home .bv2-trend .bv2-card-row .bv2-eyebrow { display: none; }
    .bv2-home .bv2-trend .bv2-rows li:nth-child(n+6) { display: none; } /* desktop 7 bai (lap cot phai), mobile 5 */
    .bv2-home .bv2-trend .bv2-card-row .bv2-t { font-size: 15px; }

    /* Who's the gift for: SEO Hoat 02/11/2026 bo tren mobile (desktop giu) */
    .bv2-home .bv2-rec-sec { display: none; }
    /* Coming up: SEO Hoat 02/11/2026 - "All holidays" cung hang tieu de (ben phai), section ngan lai */
    .bv2-home .bv2-dates-sec { padding: 24px 0; }
    .bv2-home .bv2-dates-sec .bv2-sechead { align-items: center; margin-bottom: 12px; }
    .bv2-home .bv2-bg-tint + .bv2-latest-sec, .bv2-home .bv2-bg-peach + .bv2-latest-sec { padding-top: 32px; }
    .bv2-home .bv2-latest-sec { padding-bottom: 8px; }
    /* (khong dung tren mobile) Who's the gift for: 2 hang chip vuot ngang */
    .bv2-home .bv2-rec { gap: 12px; }
    .bv2-home .bv2-rec-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; }
    .bv2-home .bv2-rec-intro .bv2-eyebrow, .bv2-home .bv2-rec-intro p { display: none; }
    .bv2-home .bv2-rec-intro .bv2-h2 { margin: 0; }
    .bv2-home .bv2-rec-intro .bv2-more { flex: none; white-space: nowrap; }
    .bv2-home .bv2-pbtns {
        grid-template-columns: none;
        grid-template-rows: repeat(2, auto);
        grid-auto-flow: column;
        grid-auto-columns: max-content;
        gap: 8px;
        overflow-x: auto;
        scroll-snap-type: x proximity;
        scroll-padding-inline: 24px;
        margin: 0 -24px;
        padding: 4px 24px 8px;
        scrollbar-width: none;
    }
    .bv2-home .bv2-pbtns::-webkit-scrollbar { display: none; }
    .bv2-home .bv2-pbtn { min-height: 44px; padding: 8px 16px 8px 12px; font-size: 14.5px; scroll-snap-align: start; white-space: nowrap; }
    .bv2-home .bv2-pbtn > span { overflow-wrap: normal; }

    /* Coming up: the thap hon */
    .bv2-home .bv2-ev { padding: 16px; gap: 10px; }
    .bv2-home .bv2-ev-art { height: 80px; margin: -16px -16px 0; }
    .bv2-home .bv2-ev-top { margin-top: -40px; }
    .bv2-home .bv2-ev-top > div:last-child { padding-top: 46px; }
    .bv2-home .bv2-cal { width: 56px; }
    .bv2-home .bv2-cal-dd { font-size: 24px; padding-top: 6px; }
    .bv2-home .bv2-ev-h { font-size: 18px; }
    .bv2-home .bv2-ev li a { min-height: 44px; padding: 8px 0; font-size: 14.5px; }

    /* Section chu de: 1 the lon + cac bai sau dang hang (anh trai 112px); Latest: toan bo dang hang */
    .bv2-home .bv2-g4, .bv2-home .bv2-g3 { gap: 16px; }
    .bv2-home .bv2-g4 > .bv2-card:nth-child(n+2), .bv2-home #bv2-latest > .bv2-card {
        display: grid;
        grid-template-columns: 112px minmax(0, 1fr);
        grid-auto-rows: min-content;
        column-gap: 14px;
        row-gap: 4px;
        align-content: start;
        padding-top: 16px;
        border-top: 1px solid var(--line);
    }
    .bv2-home #bv2-latest > .bv2-card:first-child { padding-top: 0; border-top: 0; }
    .bv2-home #bv2-latest > .bv2-card.bv2-off { display: none; }
    .bv2-home .bv2-g4 > .bv2-card:nth-child(n+2) .bv2-ph, .bv2-home #bv2-latest > .bv2-card .bv2-ph { grid-column: 1; grid-row: 1 / span 3; align-self: start; }
    .bv2-home .bv2-g4 > .bv2-card:nth-child(n+2) > :not(.bv2-ph), .bv2-home #bv2-latest > .bv2-card > :not(.bv2-ph) { grid-column: 2; }
    .bv2-home .bv2-g4 > .bv2-card:nth-child(n+2) .bv2-eyebrow, .bv2-home #bv2-latest > .bv2-card .bv2-eyebrow { font-size: 11px; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .bv2-home .bv2-g4 > .bv2-card:nth-child(n+2) .bv2-t, .bv2-home #bv2-latest > .bv2-card .bv2-t { font-size: 15.5px; }
    .bv2-home .bv2-g4 > .bv2-card:nth-child(n+2) .bv2-meta, .bv2-home #bv2-latest > .bv2-card .bv2-meta { font-size: 12.5px; }
    .bv2-home .bv2-g4 > .bv2-card:first-child .bv2-t { font-size: 18px; }
    .bv2-home .bv2-loadmore { margin-top: 24px; }
    .bv2-home .bv2-loadmore .bv2-btn { width: 100%; }
    .bv2-pager .pagination li a, .bv2-pager .pagination li span { width: 35px; height: 35px; line-height: 35px; }
    .bv2-pager .pagination li.pagination-gap span { width: auto; }

    /* Trang danh muc mobile */
    .bv2-cathead { padding: 16px 0 20px; gap: 16px; }
    .bv2-cathead .bv2-h1 { font-size: 25px; line-height: 1.2; }
    .bv2-cathead .bv2-dek { font-size: 15px; margin-top: 8px; }
    .bv2-start { gap: 12px; padding: 12px 12px 16px; }
    .bv2-start .bv2-t { font-size: 17px; }
    .bv2-explore { padding: 32px 0 40px; }
    .bv2-explore .bv2-h2 { font-size: 26px; margin: 12px 0 16px; }
    .bv2 .bv2-explore-list a { height: 36px; padding: 0 14px; font-size: 14px; }
    .bv2-explore-list.is-js { max-height: 84px; overflow: hidden; transition: max-height .3s; } /* 2 dong chip 36px */
    .bv2-explore-list.is-js.is-open { max-height: 1200px; }
    .bv2-subbar { padding: 10px 0; gap: 8px; }
    .bv2 .bv2-chip, .bv2-seemore { height: 38px; padding: 0 14px; font-size: 14px; }
    /* mobile (gop y 02/11 muc 13): chip chiem ca hang, hien 2 dong roi nut See more ben duoi (nhu Keep Exploring) */
    .bv2-subbar { flex-wrap: wrap; }
    .bv2-subbar .bv2-chips { flex: 0 0 100%; gap: 8px; }
    .bv2-chips.is-js { max-height: 84px; } /* 2 dong chip 38px + khe 8px */
    .bv2-subbar .bv2-seemore { margin-top: 2px; }
    .bv2-cat-body { padding-top: 24px; }
    /* Banner Make it personal: anh thap, chu gon */
    .bv2-home .bv2-cta { border-radius: 16px; }
    .bv2-home .bv2-cta-im { min-height: 150px; }
    .bv2-home .bv2-cta-tx { padding: 20px; }
    .bv2-home .bv2-cta-tx .bv2-h2 { font-size: 21px; }
    .bv2-home .bv2-cta-tx p { margin: 8px 0 16px; font-size: 15px; }
}
@media (max-width: 359px) {
    .bv2-pager .pagination li a, .bv2-pager .pagination li span { width: 32px; height: 32px; line-height: 32px; }
    .bv2-pager .pagination li.pagination-gap span { width: auto; }
}
@media (prefers-reduced-motion: reduce) {
    .bv2 .bv2-pbtn:hover, .bv2 .bv2-pbtn:focus-visible, .bv2 .bv2-pbtn:active { transform: none; }
    .bv2-ev-art .fl, .bv2-ev-art .fl2, .bv2-ev-art .tw { animation: none; }
    .bv2 .bv2-btn-shop:hover { transform: none; }
}
