/*==========================================================================
    HongHa UI 2026 — hh-product-2026.css
    Thiết kế lại TRANG SẢN PHẨM. Chỉ trang này nạp file này; trang chủ
    không bị ảnh hưởng. Nạp SAU hh-theme-2026.css.

    VÌ SAO PHẢI LÀM LẠI BỐ CỤC
    --------------------------------------------------------------------
    Bản cũ trông như 3 cột nhưng thực ra KHÔNG có cột nào cả: mọi khối đều
    float và đều rộng đúng 1180px (tràn hết bề ngang), ba cột chỉ là ảo
    giác tạo ra bởi padding bên trong từng khối. Hệ quả:
      · chiều cao ba cột lệch nhau, cột giữa trống một mảng lớn dưới nút mua
      · bảng "Thông số kỹ thuật" bị nhét dưới ảnh, làm cột trái dài lê thê
      · đổi bất cứ thứ gì cũng kéo theo xô lệch chỗ khác
    → Thay float bằng CSS Grid có tên vùng rõ ràng. Các khối giữ NGUYÊN vị
      trí trong HTML, chỉ được xếp lại bằng grid-area.

    GIỮ ĐỦ MỌI MODULE của bản cũ — không bỏ thành phần nào:
      breadcrumb · tên SP · thư viện ảnh + phóng to · giá KM/niêm yết ·
      hai mức giá · trạng thái kho · ghi chú · đồng hồ đếm ngược · quà tặng ·
      VNPAY · Mua ngay · Trả góp · Trả góp qua thẻ · Thông số + popup đầy đủ ·
      Gọi đặt mua · Yên tâm mua hàng · Mô tả · SP cùng phân khúc · Đánh giá

    MỤC LỤC
      01. Khung trang & lưới chính
      02. Breadcrumb + tên sản phẩm
      03. Thư viện ảnh
      04. Khối giá & mua hàng
      05. Nút mua  (có thêm "Thêm vào giỏ")
      06. Cột chính sách
      07. Thông số kỹ thuật
      08. Mô tả sản phẩm
      09. Sản phẩm cùng phân khúc giá
      10. Đánh giá & nhận xét
      11. Popup phóng to ảnh / thông số đầy đủ
==========================================================================*/


/*==========================================================================
  01. KHUNG TRANG & LƯỚI CHÍNH
==========================================================================*/
.allitemdetailsbody{
    background:transparent;
    border:none;
    padding:0;
}

/* --- Lưới 3 cột.
   Thông số kỹ thuật nằm NGAY DƯỚI ảnh ở cột trái (đúng vị trí bản gốc),
   khoảng cách với ảnh thu gọn lại bằng `row-gap` riêng cho cột này. --- */
#divitembasedetails{
    display:grid;
    grid-template-columns:minmax(0,420px) minmax(0,1fr) minmax(0,326px);
    grid-template-areas:
        "anh     muahang  chinhsach"
        "thongso muahang  chinhsach";
    align-items:start;
    column-gap:20px;
    row-gap:12px;          /* khoảng cách ảnh ↔ thông số, gọn hơn cột kia */
    margin-bottom:20px;
    overflow:visible;
}

/* .outleftdetailsitem chỉ là thẻ bọc thừa của bản cũ. display:contents làm
   các con của nó trở thành phần tử trực tiếp của lưới → xếp được bằng
   grid-area mà KHÔNG phải sửa cấu trúc HTML. */
.outleftdetailsitem{
    display:contents;
}

#divimagecoldetailsitem{ grid-area:anh; }
#divcentercoldetailsitem{ grid-area:muahang; }
#divrightcoldetailsitem{ grid-area:chinhsach; }
.outthongsokythuatbottomimage{ grid-area:thongso; }

/* Bản cũ đặt float + width cứng cho từng khối — phải gỡ, nếu không grid
   không có tác dụng. */
#divimagecoldetailsitem,
#divcentercoldetailsitem,
#divrightcoldetailsitem,
.outthongsokythuatbottomimage,
.outleftdetailsitem{
    float:none;
    width:auto;
    min-width:0;
    max-width:none;
    margin:0;
}

/* --- Thẻ nền trắng dùng chung cho các khối --- */
#divimagecoldetailsitem,
#divcentercoldetailsitem,
#divrightcoldetailsitem,
.outthongsokythuatbottomimage,
#divoutall,
#outdivsanphamlienquan,
#commentfacebook{
    background:var(--hh-white);
    border:1px solid var(--hh-border);
    border-radius:var(--hh-radius-lg);
    box-shadow:var(--hh-shadow-xs);
    box-sizing:border-box;
}

#divoutall,
#outdivsanphamlienquan,
#commentfacebook{
    margin-bottom:20px;
    overflow:hidden;
}


/*==========================================================================
  02. BREADCRUMB + TÊN SẢN PHẨM
==========================================================================*/
#divuripage{
    padding:14px 2px 10px !important;
    font-size:var(--hh-fs-sm);
    color:var(--hh-text-muted);
}

#divuripage a{
    color:var(--hh-text-light);
    text-decoration:none;
}

#divuripage a:hover{
    color:var(--hh-primary);
}

#itemnameclass{
    height:auto;
    margin-bottom:14px;
    padding:0;
    background:none;
    border:none;
}

.initemnameclass{
    padding:0;
    color:var(--hh-text);
    font-size:26px;
    font-weight:700;
    line-height:1.3;
    letter-spacing:-.015em;
}


/*==========================================================================
  03. THƯ VIỆN ẢNH
  --------------------------------------------------------------------------
  LỖI ĐÃ SỬA: sản phẩm có sẵn 5 ảnh nhưng dải ảnh nhỏ (#outdivimagelist) bị
  đặt display:none nên người xem chỉ thấy đúng 1 ảnh. Cho hiện trở lại.
==========================================================================*/
#divimagecoldetailsitem{
    padding:16px;
    position:sticky;
    top:14px;
}

#divleftinfo{
    width:auto;
}

#divimageshow{
    width:auto;
    height:auto;
    aspect-ratio:4/3;   /* ảnh sản phẩm phần lớn nằm ngang; khung vuông thừa
                           một mảng trống lớn phía dưới */
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:var(--hh-radius);
    background:var(--hh-bg-soft);
    overflow:hidden;
}

#divimageshow #imageshowindiv{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:14px;
    box-sizing:border-box;
}

#divimageshow #imageshowindiv img{
    max-width:100%;
    max-height:100%;
    width:auto;
    height:auto;
    object-fit:contain;
}

/* nút phóng to: bản cũ là dòng chữ đỏ nằm đè lên ảnh */
#divxemanh{
    left:auto;
    right:10px;
    bottom:10px;
    top:auto;
    width:auto;
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:6px 12px;
    border:1px solid var(--hh-border);
    border-radius:var(--hh-radius-pill);
    background:rgba(255,255,255,.94);
    color:var(--hh-text-body);
    font-size:var(--hh-fs-sm);
    font-weight:500;
    text-align:center;
    cursor:pointer;
    transition:background var(--hh-transition),color var(--hh-transition);
}

#divxemanh:hover{
    background:var(--hh-primary);
    border-color:var(--hh-primary);
    color:#fff;
}

/* --- dải ảnh nhỏ --- */
#outdivimagelist{
    display:block !important;
    width:auto !important;
    margin-top:12px;
    overflow:hidden;
}

#divimagelist{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    width:auto !important;
    float:none;
}

/* itemv168.css dùng "#divimagelist .imginlistimg" (ưu tiên cao hơn class đơn)
   nên phải viết đúng mức ưu tiên đó mới ghi đè được. */
#divimagelist .imginlistimg{
    flex:0 0 auto;
    float:none;
    width:68px;
    height:68px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0;
    padding:5px;
    border:1px solid var(--hh-border);
    border-radius:var(--hh-radius-sm);
    background:var(--hh-white);
    box-sizing:border-box;
    cursor:pointer;
    transition:border-color var(--hh-transition),box-shadow var(--hh-transition);
}

#divimagelist .imginlistimg:hover{
    border-color:var(--hh-primary);
    box-shadow:var(--hh-shadow-sm);
}

#divimagelist .imginlistimg img{
    max-width:100%;
    max-height:100%;
    width:auto;
    height:auto;
    margin:auto;
    object-fit:contain;
}


/*==========================================================================
  04. KHỐI GIÁ & MUA HÀNG
==========================================================================*/
#divcentercoldetailsitem{
    padding:10px;
}

/* --- giá --- */
.showprice{
    margin-bottom:10px;
}

/* Cấu trúc HTML của khối giá là:
       <a>Giá khuyến mãi: </a> 15.990.000₫ <span>(Đã bao gồm thuế VAT)</span>
   Con số nằm trần, KHÔNG có thẻ bọc nên không nhắm trực tiếp được.
   → Cho cả khối cỡ chữ lớn màu đỏ (con số thừa hưởng), rồi thu nhỏ nhãn và
     ghi chú lại. Nhờ vậy giá thành thông tin nổi nhất trong cột, đúng vai trò. */
#itempriceclass{
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:6px 10px;
    height:auto;
    margin-bottom:2px;
    color:var(--hh-primary);
    font-size:30px;
    font-weight:700;
    line-height:1.2;
    letter-spacing:-.02em;
}

#itempriceclass a{
    color:var(--hh-text-light);
    font-size:var(--hh-fs-base);
    font-weight:400;
    letter-spacing:0;
    text-decoration:none;
}

#itempriceclass span{
    color:var(--hh-text-muted);
    font-size:var(--hh-fs-sm);
    font-weight:400;
    letter-spacing:0;
}

#itempricenyclass{
    height:auto;
    margin:0 0 12px;
    color:var(--hh-text-muted);
    font-size:var(--hh-fs-base);
}

/* --- trạng thái kho --- */
.divtonkho{
    display:inline-flex;
    align-items:center;
    gap:6px;
    height:auto;
    margin:0 0 12px;
    padding:5px 12px;
    border-radius:var(--hh-radius-pill);
    background:rgba(0,166,80,.10);
    color:var(--hh-green);
    font-size:var(--hh-fs-sm);
    font-weight:700;
    letter-spacing:.2px;
}

/* --- ghi chú (chữ đỏ nghiêng của bản cũ, rất khó đọc) --- */
.ghichuquatang,
.inghichuquatang{
    margin:0 0 12px;
    padding:0;
    color:var(--hh-text-light);
    font-size:var(--hh-fs-sm);
    font-style:normal;
    line-height:1.5;
}

.inghichuquatang{
    padding:10px 12px;
    border-left:3px solid var(--hh-accent);
    border-radius:0 var(--hh-radius-sm) var(--hh-radius-sm) 0;
    background:var(--hh-accent-light);
}

/* --- hộp quà tặng --- */
.outquatangkhuyenmaichitietsanpham{
    margin-bottom:14px;
}

.quatangkhuyenmaichitietsanpham{
    border:1px dashed rgba(215,25,32,.35);
    border-radius:var(--hh-radius);
    background:var(--hh-primary-soft);
    padding:0;
}

.divkhuyenmaidetailsitem{
    height:auto;
    padding:10px 12px;
}

.titledacdiemnoibat{
    height:auto;
    padding:0;
    background:none;
    color:var(--hh-primary);
    font-size:var(--hh-fs-sm);
    font-weight:700;
    letter-spacing:.3px;
}

/* --- hai mức giá (khi có) --- */
#pricetwocol{
    gap:10px;
    margin-bottom:12px;
}

.clicktochoose{
    border:1px solid var(--hh-border);
    border-radius:var(--hh-radius);
    overflow:hidden;
}

/* --- VNPAY --- */
.invnpaykm{
    padding:10px 12px;
    border-radius:var(--hh-radius-sm);
    background:var(--hh-bg-soft);
    font-size:var(--hh-fs-sm);
    line-height:1.5;
}


/*==========================================================================
  05. NÚT MUA  — bổ sung "Thêm vào giỏ" cạnh "Mua ngay"
  --------------------------------------------------------------------------
  Nút giỏ hàng gọi hàm AddtoCartAjax() vốn CÓ SẴN trong jssv168.js — hàm này
  tự tăng số trên biểu tượng giỏ ở header, nên không phải viết thêm mã.
  Bố cục: "Mua ngay" là hành động chính (nền đỏ đặc), "Thêm vào giỏ" là hành
  động phụ (viền đỏ) — đặt cạnh nhau; "Trả góp" xuống hàng dưới, nhẹ hơn nữa.
==========================================================================*/
#divcentercoldetailsitem > div[style*="margin-left"]{
    margin-left:0 !important;
    margin-right:0 !important;
}

.hh-hang-nut-mua{
    display:flex;
    gap:10px;
    width:100%;
    margin-bottom:10px;
}

.divbuttonsales{
    width:100%;
    float:none;
    margin:0 0 6px;
}

.divbuttonsales.w49pecent{
    width:100%;
}

/* --- nút chính: Mua ngay --- */
#divcentercoldetailsitem .indivbuttonsales1{
    flex:1 1 0;
    width:auto;
    min-width:0;
    height:auto;
    min-height:54px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:1px;
    margin:0;
    padding:8px 12px;
    border:1px solid transparent;
    border-radius:var(--hh-radius);
    background:var(--hh-gradient);
    box-shadow:var(--hh-shadow-red);
    color:#fff;
    text-align:center;
    cursor:pointer;
    transition:filter var(--hh-transition),transform var(--hh-transition),
               box-shadow var(--hh-transition);
}

#divcentercoldetailsitem .indivbuttonsales1:hover{
    filter:brightness(1.06);
    transform:translateY(-1px);
    box-shadow:0 10px 22px rgba(215,25,32,.30);
}

#divcentercoldetailsitem .indivbuttonsales1 > div{
    color:#fff;
    font-size:var(--hh-fs-lg);
    font-weight:700;
    line-height:1.2;
    text-transform:uppercase;
    letter-spacing:.3px;
}

#divcentercoldetailsitem .indivbuttonsales1 span{
    color:rgba(255,255,255,.88);
    font-size:var(--hh-fs-sm);
    font-weight:400;
}

/* --- nút phụ: Thêm vào giỏ --- */
.indivbuttonsales-giohang{
    flex:1 1 0;
    min-width:0;
    min-height:54px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:1px;
    padding:8px 12px;
    border:1.5px solid var(--hh-primary);
    border-radius:var(--hh-radius);
    background:var(--hh-white);
    color:var(--hh-primary);
    text-align:center;
    cursor:pointer;
    transition:background var(--hh-transition),color var(--hh-transition),
               transform var(--hh-transition),box-shadow var(--hh-transition);
}

.indivbuttonsales-giohang:hover{
    background:var(--hh-primary-soft);
    transform:translateY(-1px);
    box-shadow:var(--hh-shadow-sm);
}

.indivbuttonsales-giohang > div{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    color:var(--hh-primary);
    font-size:var(--hh-fs-lg);
    font-weight:700;
    line-height:1.2;
    text-transform:uppercase;
    letter-spacing:.3px;
}

.indivbuttonsales-giohang i{
    font-size:16px;
}

.indivbuttonsales-giohang span{
    color:var(--hh-text-light);
    font-size:var(--hh-fs-sm);
    font-weight:400;
}

/* --- nút trả góp: hành động thứ ba, nhẹ nhất --- */
#divcentercoldetailsitem .indivbuttonsales3{
    width:auto;
    height:auto;
    min-height:48px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:1px;
    margin:0;
    padding:7px 12px;
    border:1px solid var(--hh-border-strong);
    border-radius:var(--hh-radius);
    background:var(--hh-bg-soft);
    color:var(--hh-text-body);
    text-align:center;
    cursor:pointer;
    transition:background var(--hh-transition),border-color var(--hh-transition);
}

#divcentercoldetailsitem .indivbuttonsales3:hover{
    background:var(--hh-white);
    border-color:var(--hh-blue);
}

#divcentercoldetailsitem .indivbuttonsales3 > div{
    color:var(--hh-text);
    font-size:var(--hh-fs-base);
    font-weight:600;
    line-height:1.2;
}

#divcentercoldetailsitem .indivbuttonsales3 span{
    color:var(--hh-text-light);
    font-size:var(--hh-fs-sm);
}


/*==========================================================================
  06. CỘT CHÍNH SÁCH  — "Gọi đặt mua" + "Yên tâm mua hàng tại Hồng Hà"
  --------------------------------------------------------------------------
  Bản trước trình bày lộn xộn vì HTML gốc trộn HAI loại dòng khác nhau:
      .vanchuyenvalapdat            (2 dòng đầu — giao hàng, vận chuyển)
      .initemindivrightcoldetailsitem (các dòng còn lại — lắp đặt, đổi trả…)
  Quy tắc cũ chỉ gắn dấu tích cho loại thứ hai ⇒ hai dòng đầu trơ trọi không
  dấu, các dòng sau lại tích xanh giống hệt nhau, không phân biệt được nội dung.

  → Ở đây: mọi dòng dùng CHUNG một khuôn (ô icon 22px + nội dung), nhưng MỖI
    dòng một biểu tượng đúng nghĩa của nó (xe giao hàng, cờ lê, đổi trả, khiên
    bảo hành, thẻ trả góp) thay vì 6 dấu tích như nhau.
==========================================================================*/
#divrightcoldetailsitem{
    padding:0;
    /*position:sticky;*/
    top:14px;
    overflow:hidden;
}

#indivrightcoldetailsitem,
#indivrightcoldetailsitem .itemindivrightcoldetailsitem{
    width:auto;
    padding:0;
    border:none;
}

/*--------------------------------------------------------------------------
  GỌI ĐẶT MUA — dựng thành một lời mời gọi rõ ràng
--------------------------------------------------------------------------*/
#indivrightcoldetailsitem .initemindivrightcoldetailsitem.goidatmua{
    display:block;
    margin:0;
    padding:14px 16px;
    border-bottom:1px solid var(--hh-border);
    background:var(--hh-primary-soft);
}

#indivrightcoldetailsitem .initemindivrightcoldetailsitem.goidatmua > div{
    display:grid;
    grid-template-columns:38px 1fr;
    grid-template-rows:auto auto;
    align-items:center;
    column-gap:11px;
    row-gap:1px;
    color:var(--hh-text-light);
    font-size:var(--hh-fs-sm);
    line-height:1.3;
}

/* ô tròn chứa biểu tượng điện thoại, chiếm trọn 2 hàng của lưới */
#indivrightcoldetailsitem .initemindivrightcoldetailsitem.goidatmua > div::before{
    content:"\f095";
    grid-row:1 / 3;
    display:flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    border-radius:50%;
    background:var(--hh-gradient);
    box-shadow:var(--hh-shadow-red);
    color:#fff;
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    font-size:15px;
}

/* bản gốc không có thẻ bọc nào cho số điện thoại ngoài <a>, nên cho <a>
   nằm hàng 2 của lưới, chữ "Gọi đặt mua:" tự trôi vào hàng 1 */
#indivrightcoldetailsitem .itemindivrightcoldetailsitem .goidatmua a{
    grid-column:2;
    padding-left:0;
    background:none;
    color:var(--hh-primary);
    font-size:19px;
    font-weight:700;
    letter-spacing:.2px;
    line-height:1.15;
    text-decoration:none;
}

#indivrightcoldetailsitem .itemindivrightcoldetailsitem .goidatmua a:hover{
    text-decoration:underline;
}

/*--------------------------------------------------------------------------
  YÊN TÂM MUA HÀNG — tiêu đề + danh sách cam kết
--------------------------------------------------------------------------*/
.itemindivrightcoldetailsitem.endrightdetails{
    padding:15px 16px 16px;
}

.yentammuahang{
    margin:0 0 12px;
    padding:0 0 11px;
    border-bottom:1px solid var(--hh-border);
}

.yentammuahang > div{
    display:flex;
    align-items:center;
    gap:8px;
    color:var(--hh-text);
    font-size:var(--hh-fs-md);
    font-weight:700;
    line-height:1.35;
    text-align:left;
    text-transform:uppercase;
    letter-spacing:.2px;
}

.yentammuahang > div::before{
    content:"\f3ed";                    /* khiên */
    flex:0 0 auto;
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    font-size:15px;
    color:var(--hh-primary);
}

/* --- khuôn chung cho MỌI dòng cam kết (cả hai loại thẻ) --- */
.endrightdetails .vanchuyenvalapdat,
#indivrightcoldetailsitem .itemindivrightcoldetailsitem .initemindivrightcoldetailsitem{
    position:relative;
    display:block;
    width:auto;
    margin:0 0 11px;
    padding:0 0 0 27px;
    border:none;
    color:var(--hh-text-body);
    font-size:13px;
    line-height:1.55;
}

.endrightdetails > *:last-child{
    margin-bottom:0;
}

.endrightdetails .vanchuyenvalapdat::before,
.endrightdetails .initemindivrightcoldetailsitem::before{
    position:absolute;
    left:0;
    top:1px;
    width:18px;
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    font-size:12px;
    text-align:center;
    color:var(--hh-green);
}

/* mỗi dòng một biểu tượng đúng nội dung của nó.
   KHÔNG dùng :nth-of-type ở đây — nó đếm theo TÊN THẺ (đều là <div>) chứ
   không theo class, nên :nth-of-type(1) rơi trúng .yentammuahang và cả dải
   icon lệch đi một dòng. Dùng bộ chọn anh-em liền kề cho chắc. */
.endrightdetails .vanchuyenvalapdat::before{
    content:"\f48b";                 /* xe giao hàng */
    color:var(--hh-blue);
}

.endrightdetails .vanchuyenvalapdat + .vanchuyenvalapdat::before{
    content:"\f466";                 /* thùng hàng — dòng vận chuyển thứ 2 */
}
.endrightdetails .conglapdat::before{        content:"\f7d9"; color:var(--hh-accent); }                /* cờ lê */
.endrightdetails .phukiendikem::before{      content:"\f466"; color:var(--hh-accent); }
.endrightdetails .doitramienphi::before{     content:"\f2ea"; color:var(--hh-green); }                  /* đổi trả */
.endrightdetails .baohanh::before{           content:"\f3ed"; color:var(--hh-green); }                  /* bảo hành */
.endrightdetails .huongdantragop::before{    content:"\f09d"; color:var(--hh-primary); }                /* thẻ trả góp */

.endrightdetails b{
    color:var(--hh-text);
    font-weight:600;
}

#indivrightcoldetailsitem .itemindivrightcoldetailsitem .initemindivrightcoldetailsitem a{
    color:var(--hh-blue);
    text-decoration:none;
}

.endrightdetails a{
    color:var(--hh-blue);
    text-decoration:none;
}

.endrightdetails a:hover{
    text-decoration:underline;
}


/*==========================================================================
  07. THÔNG SỐ KỸ THUẬT
  --------------------------------------------------------------------------
  Bản cũ nhét bảng này dưới ảnh ở cột trái → cột trái dài lê thê, cột giữa
  trống. Nay cho nằm NGANG hết bề rộng dưới khối mua hàng, các dòng thông số
  chia 2 cột nên đọc nhanh gấp đôi mà không tốn thêm chiều cao.
==========================================================================*/
.outthongsokythuatbottomimage{
    padding:0;
    overflow:hidden;
}

.inoutthongsokythuatbottomimage{
    width:auto;
    padding:0;
    border:none;
}

.tabthongsokythuattop{
    height:auto;
    padding:13px 18px;
    border-bottom:1px solid var(--hh-border);
    background:var(--hh-bg-soft);
}

.tabthongsokythuattop > div{
    position:relative;
    height:auto;
    padding-left:12px;
    background:none;
    color:var(--hh-text);
    font-size:var(--hh-fs-lg);
    font-weight:700;
    line-height:1.3;
}

.tabthongsokythuattop > div::before{
    content:"";
    position:absolute;
    top:50%;
    left:0;
    width:4px;
    height:18px;
    border-radius:3px;
    background:var(--hh-primary);
    transform:translateY(-50%);
}

#outoutthongsokythuatright,
#outthongsokythuatright,
#outdivattributeitemright,
#divattributeitemright,
.divattributeitemdetails{
    width:auto;
    padding:0;
    border:none;
    background:none;
}

#outdivattributeitemright{
    position:relative;
    padding:6px 18px 0;
}

/* Cột trái chỉ rộng 420px → để 1 cột dòng thông số.
   Mỗi dòng RÚT GỌN còn ĐÚNG MỘT DÒNG, phần thừa cắt bằng "…" — muốn xem
   đầy đủ thì bấm "Xem thêm" để mở cửa sổ popup. */
.divattributeitemdetails{
    display:block;
}

/* Cắt 1 dòng bằng text-overflow chứ KHÔNG dùng -webkit-box: đây là ô của
   <table>, đổi display sẽ phá luôn cấu trúc bảng 2 cột.
   text-overflow chỉ ăn khi bảng ở chế độ table-layout:fixed. */
.initeminattribute table{
    table-layout:fixed;
}

.initeminattribute td{
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.iteminattribute0,
.iteminattribute1{
    width:auto;
    padding:0;
    border-bottom:1px solid var(--hh-border-light);
}

.initeminattribute{
    padding:9px 0;
}

.initeminattribute table{
    width:100%;
    border-collapse:collapse;
}

.initeminattribute td{
    padding:0;
    vertical-align:top;
    font-size:13px;
    line-height:1.5;
}

.initeminattribute td:first-child{
    width:38% !important;
    color:var(--hh-text-light);
    font-weight:400 !important;
}

.initeminattribute td:last-child{
    width:62% !important;
    color:var(--hh-text);
}

/* lớp mờ dần ở đáy khi thông số còn dài */
.ovlarticle1{
    background:linear-gradient(180deg,rgba(255,255,255,0),var(--hh-white));
}

#btnshowmoreattribute{
    width:auto;
    max-width:none;      /* itemv168.css khoá max-width:100px */
    height:auto;
    border:none;         /* và một đường viền xanh dương */
    margin:0;
    padding:12px 18px 16px;
    background:none;
    color:var(--hh-primary);
    font-size:var(--hh-fs-base);
    font-weight:600;
    text-align:center;
    cursor:pointer;
}

#btnshowmoreattribute:hover{
    text-decoration:underline;
}


/*==========================================================================
  08. MÔ TẢ SẢN PHẨM
  --------------------------------------------------------------------------
  Nội dung dán từ CMS nên mang theo font Times New Roman và cỡ chữ lộn xộn.
  Đã đổi font trong HTML; ở đây chuẩn hoá cỡ chữ, giãn dòng, ảnh và tiêu đề.
==========================================================================*/
#divoutall{
    padding:0 !important;
}

#divimageitemdetails{
    width:auto;
    padding:0;
    border:none;
}

.tabmotasanpham{
    height:auto;
    padding:13px 18px;
    border-bottom:1px solid var(--hh-border);
    background:var(--hh-bg-soft);
}

.tabmotasanpham > div,
.tabmotasanpham{
    color:var(--hh-text);
    font-size:var(--hh-fs-lg);
    font-weight:700;
    line-height:1.3;
}

#indivimageitemdetails{
    max-width:860px;          /* dòng chữ quá dài rất mỏi mắt khi đọc */
    margin:0 auto;
    padding:20px 18px 26px;
    color:var(--hh-text-body);
    font-size:var(--hh-fs-md);
    line-height:1.75;
}

#indivimageitemdetails p,
#indivimageitemdetails div,
#indivimageitemdetails span{
    font-size:inherit !important;
    line-height:inherit;
}

/* Nội dung dán từ CMS gắn style="text-align:justify" NỘI TUYẾN trên từng
   đoạn. Căn đều hai biên làm khoảng cách giữa các từ giãn ra rất thất
   thường, tiếng Việt có dấu đọc càng mỏi. Thuộc tính nội tuyến chỉ có thể
   ghi đè bằng !important. */
#indivimageitemdetails p,
#indivimageitemdetails div{
    text-align:left !important;
}

#indivimageitemdetails p{
    margin:0 0 14px;
}

#indivimageitemdetails h1,
#indivimageitemdetails h2,
#indivimageitemdetails h3,
#indivimageitemdetails h4,
#indivimageitemdetails strong,
#indivimageitemdetails b{
    color:var(--hh-text);
}

#indivimageitemdetails h2,
#indivimageitemdetails h3,
#indivimageitemdetails h4{
    margin:26px 0 10px;
    font-size:var(--hh-fs-xl);
    font-weight:700;
    line-height:1.35;
}

#indivimageitemdetails img{
    display:block;
    max-width:100%;
    height:auto;
    margin:18px auto;
    border-radius:var(--hh-radius);
}

#indivimageitemdetails a{
    color:var(--hh-blue);
}


/*==========================================================================
  09. SẢN PHẨM CÙNG PHÂN KHÚC GIÁ
  --------------------------------------------------------------------------
  Các thẻ đang so le: tên dài ngắn khác nhau đẩy giá và nút mỗi thẻ một độ
  cao. Ép mỗi thẻ thành cột dọc, tên khoá 2 dòng, nút luôn nằm sát đáy.
==========================================================================*/
#outdivsanphamlienquan{
    padding:0;
}

#outdivsanphamlienquan .sanphamlienquantitle{
    position:relative;
    height:auto;
    margin:0;
    padding:13px 18px 13px 30px;
    border-bottom:1px solid var(--hh-border);
    background:var(--hh-bg-soft);
    color:var(--hh-text);
    font-size:var(--hh-fs-lg);
    font-weight:700;
    line-height:1.3;
}

#outdivsanphamlienquan .sanphamlienquantitle::before{
    content:"";
    position:absolute;
    top:50%;
    left:18px;
    width:4px;
    height:18px;
    border-radius:3px;
    background:var(--hh-primary);
    transform:translateY(-50%);
}

.contentchitietkyspkhuyenmai{
    padding:16px 14px 18px;
}

/* Thẻ sản phẩm: khung ngoài vốn đã bằng nhau (505px), nhưng TÊN sản phẩm
   dài ngắn khác nhau chiếm 72 / 90 / 108px nên giá và nút mỗi thẻ tụt một
   độ cao khác nhau — nhìn rất so le.
   → Khoá tên đúng 3 dòng. Từ đó mọi thứ bên dưới tự thẳng hàng.
   LƯU Ý: KHÔNG được biến .initemviewinlistitemgalary thành flex — con của
   flex bị ép về block và mất cắt dòng (đã mắc lỗi này một lần, xem ERR-003). */
#outdivsanphamlienquan .manufacturerinitem{
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    align-items:stretch;       /* gỡ align-items:center của bản cũ — chính nó
                                  làm chữ bị cắt ngang cả trên lẫn dưới */
    overflow:hidden;
    height:54px;               /* đúng 3 dòng × 18px */
    min-height:54px;
    max-height:54px;
    margin-top:8px;
    margin-bottom:6px;
    color:var(--hh-text);
    font-size:var(--hh-fs-sm);
    line-height:18px;
}

.detailsiteminpdnchildv1 .indetailsiteminpdnchildv1{
    height:100%;
    border:1px solid var(--hh-border);
    border-radius:var(--hh-radius);
    background:var(--hh-white);
    box-sizing:border-box;
    transition:border-color var(--hh-transition),box-shadow var(--hh-transition),
               transform var(--hh-transition);
}

.detailsiteminpdnchildv1 .indetailsiteminpdnchildv1:hover{
    border-color:rgba(215,25,32,.30);
    box-shadow:var(--hh-shadow-md);
    transform:translateY(-2px);
}

.detailsiteminpdnchildv1 .btnmuangaylisttype{
    border-radius:var(--hh-radius-sm);
}


/*==========================================================================
  10. ĐÁNH GIÁ & NHẬN XÉT
==========================================================================*/
#commentfacebook{
    padding:0;
}

.incommentfacebook{
    width:auto;
    padding:16px 18px 18px;
}

.resultRating,
.totalrating,
.starratingform{
    width:auto;
}

/* KHÔNG đặt flex cho #divcommentguest: hai con của nó (#bodycommentguest và
   #bottomcommentguest) sẽ thành flex item rồi co lại còn 203px/426px, đúng
   lỗi đã thấy ở bản thử đầu. Giữ block, chỉ xếp lại phần bên trong. */
#divcommentguest{
    display:block;
    width:auto;
}

#bodycommentguest,
#bottomcommentguest{
    width:auto;
    float:none;
}

#bodycommentguest{
    margin-bottom:12px;
}

#bodycommentguest > div{
    width:auto;
    float:none;
}

/* hàng dưới: họ tên · số điện thoại · tải ảnh · nút gửi */
#bottomcommentguest{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:10px;
}

#bottomcommentguest .thongtinkhachhangbinhluan{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:10px;
    width:auto;
    float:none;
}

#bottomcommentguest .inthongtinkhachhangbinhluan,
#bottomcommentguest .tenkhbinhluan,
#bottomcommentguest .sdtkhbinhluan,
#bottomcommentguest .intenkhbinhluan{
    width:auto;
    margin:0;
    padding:0;
    float:none;
}

#bottomcommentguest .intenkhbinhluan input{
    width:210px;
}

#listimageupload{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

#divcommentguest textarea{
    width:100%;
    min-height:92px;
    padding:11px 13px;
    border:1px solid var(--hh-border-strong);
    border-radius:var(--hh-radius);
    font-family:var(--hh-font);
    font-size:var(--hh-fs-base);
    line-height:1.5;
    resize:vertical;
}

#divcommentguest input[type="text"],
#divcommentguest input:not([type="hidden"]):not([type="file"]){
    height:42px;
    padding:0 28px;
    border:1px solid var(--hh-border-strong);
    border-radius:var(--hh-radius);
    font-family:var(--hh-font);
    font-size:var(--hh-fs-base);
}

#divcommentguest textarea:focus,
#divcommentguest input:focus{
    border-color:var(--hh-primary);
    outline:none;
    box-shadow:0 0 0 3px rgba(215,25,32,.10);
}

/* nút gửi đánh giá: bản cũ rộng 60px nên chữ "Gửi Đánh Giá" phải xuống 3 dòng,
   thành một khối đỏ cao lênh khênh. Nút thật có id là #btnsendcommentguest. */
#btnsendcommentguest{
    height:42px;
    min-width:148px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 20px;
    border:none;
    border-radius:var(--hh-radius);
    background:var(--hh-gradient);
    box-shadow:var(--hh-shadow-red);
    color:#fff;
    font-size:var(--hh-fs-base);
    font-weight:700;
    line-height:1;
    white-space:nowrap;
    cursor:pointer;
    transition:filter var(--hh-transition);
}

#btnsendcommentguest:hover{
    filter:brightness(1.07);
}


/*==========================================================================
  11. POPUP PHÓNG TO ẢNH / THÔNG SỐ ĐẦY ĐỦ
==========================================================================*/
#viewimagelarger,
#showattributepopup{
    background:rgba(16,24,40,.55);
    backdrop-filter:blur(2px);
}

/* Bản gốc để position:absolute + height:100% nên lớp phủ chỉ che được một
   phần trang (trang cao 5000px), còn bảng thì min-height:600px và nút tắt
   thì position:fixed ở góc màn hình — rời hẳn khỏi bảng.
   → Lớp phủ cố định toàn màn hình, bảng căn giữa và tự cuộn khi dài. */
#showattributepopup{
    position:fixed;
    inset:0;
    width:100%;
    height:100%;
    padding:24px 16px;
    box-sizing:border-box;
    overflow:auto;
}

#inshowattributepopup{
    position:relative;
    width:100%;
    max-width:760px;
    min-height:0 !important;      /* gỡ min-height:600px của bản gốc */
    margin:0 auto;
    padding:0;
    border-radius:var(--hh-radius-lg);
    background:var(--hh-white);
    box-shadow:var(--hh-shadow-lg);
    overflow:hidden;
}

#textthongsokythuatfull{
    padding:15px 56px 15px 20px;   /* chừa chỗ cho nút tắt */
    border-bottom:1px solid var(--hh-border);
    background:var(--hh-bg-soft);
    color:var(--hh-text);
    font-size:var(--hh-fs-lg);
    font-weight:700;
}

#ininshowattributepopup{
    padding:4px 20px 18px;
}

/* trong popup hiện ĐẦY ĐỦ, không cắt dòng như bảng rút gọn ngoài trang */
#ininshowattributepopup .initeminattribute table{
    table-layout:auto;
}

#ininshowattributepopup .initeminattribute td{
    overflow:visible;
    white-space:normal;
    text-overflow:clip;
}

#ininshowattributepopup .iteminattribute0,
#ininshowattributepopup .iteminattribute1{
    border-bottom:1px solid var(--hh-border-light);
}

#ininshowattributepopup .initeminattribute{
    padding:10px 0;
}

/* --- nút tắt: đưa về góc trên phải CỦA BẢNG --- */
#btncloseshowattribute{
    position:absolute;
    top:12px;
    right:14px;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    border-radius:50%;
    background:var(--hh-white);
    box-shadow:var(--hh-shadow-sm);
    cursor:pointer;
    transition:background var(--hh-transition);
}

#btncloseshowattribute:hover{
    background:var(--hh-primary);
}

#btncloseshowattribute img{
    display:none;                  /* ảnh nút tắt của bản gốc */
}

#btncloseshowattribute::before{
    content:"\f00d";
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    font-size:15px;
    color:var(--hh-text-body);
}

#btncloseshowattribute:hover::before{
    color:#fff;
}

#diviamgeshowlarger img{
    border-radius:var(--hh-radius);
}


/*==========================================================================
  MÀN HÌNH HẸP
==========================================================================*/
@media (max-width:1199px){
   /* #divitembasedetails{
        grid-template-columns:minmax(0,360px) minmax(0,1fr);
        grid-template-areas:            
            "anh muahang"
            "thongso  muahang"
            "chinhsach chinhsach";
    }*/
    #divitembasedetails {
        grid-template-columns: minmax(0,360px) minmax(0,1fr) minmax(0,286px);
        grid-template-areas: "anh     muahang  chinhsach" "thongso muahang  chinhsach";
        column-gap:8px;
    }

}
@media (max-width:900px){
    #divitembasedetails{
        grid-template-columns:minmax(0,1fr);
        grid-template-areas:
            "anh"
            "muahang"
            "thongso"
            "chinhsach";
    }

    #divimagecoldetailsitem,
    #divrightcoldetailsitem{
        position:static;
    }

    .divattributeitemdetails{
        grid-template-columns:minmax(0,1fr);
    }

    .hh-hang-nut-mua{
        flex-direction:column;
    }
}


/*==========================================================================
  12. KHỐI ĐẾM NGƯỢC "DEAL HỜI LỜI TO"  — bản gọn
  --------------------------------------------------------------------------
  Bản trước cao tới 217px vì xếp thành HAI tầng: thanh tiêu đề riêng một
  hàng, rồi cả dải đồng hồ một hàng nữa; thêm nền đen của .divtimeepoch
  (itemv168.css) làm khối nặng và tối.

  Bản này: gộp TẤT CẢ vào MỘT hàng — tiêu đề bên trái, đồng hồ bên phải.
  Bỏ hẳn màu đen; ô chữ số dùng đỏ đậm (--hh-primary-dark) trên nền hồng
  nhạt, nhãn ngày/giờ/phút/giây để chữ xám bên dưới. Cao còn khoảng 74px.

  ĐỦ 4 ĐƠN VỊ: ngày · giờ · phút · giây (giữ nguyên cấu trúc HTML gốc).
==========================================================================*/
#divcountdown{
    margin:0 0 12px;
}

.divdetailscountdown{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:10px 14px;
    padding:10px 14px;
    overflow:visible;
    border:1px solid rgba(215,25,32,.28);
    border-radius:var(--hh-radius);
    background:var(--hh-primary-soft);
}

/* --- tiêu đề: bỏ thanh nền xám, cho về cùng hàng với đồng hồ --- */
.titlecountdount{
    height:auto;
    margin:0;
    padding:0;
    border:none;
    background:none;
    border-radius:0;
}

#titleleftcountdown{
    float:none;
    display:flex;
    align-items:center;
    gap:7px;
    height:auto;
    color:var(--hh-primary);
    font-size:var(--hh-fs-md);
    font-weight:700;
    letter-spacing:.3px;
    text-transform:uppercase;
    white-space:nowrap;
}

#titleleftcountdown::before{
    content:"\f0e7";                 /* tia sét */
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    font-size:14px;
    color:var(--hh-accent);
}

/* --- vùng đồng hồ --- */
.indivdetailscountdown{
    display:flex;
    align-items:center;
    flex-wrap:nowrap;
    gap:8px;
    height:auto;
    margin:0;
    padding:0;
    background:none;
}

.chicontext{
    order:-1;
    float:none;
    width:auto;
    height:auto;
    margin:0;
    color:var(--hh-text-light);
    font-size:var(--hh-fs-sm);
    font-weight:400;
    letter-spacing:0;
    text-transform:none;
    white-space:nowrap;
}

.clockcountdount{
    display:flex;
    align-items:flex-start;
    gap:6px;
    float:none;
    width:auto;
    height:auto;
    padding:0;
}

/* .divtimeepoch của itemv168.css có background-color:#000 — chính là mảng
   đen người dùng muốn bỏ. */
.divtimeepoch{
    float:none;
    width:auto;
    margin:0;
    background:none;
    border-radius:0;
}

/* mỗi đơn vị: hai ô chữ số xếp NGANG, nhãn xuống hàng dưới.
   (đặt flex-direction:column ở đây là hai chữ số chồng lên nhau — đã mắc) */
.divtimeepoch > div{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    justify-content:center;
    gap:2px;
    margin:0;
}

.divtimeepoch > div > .texttime{
    flex:0 0 100%;
    margin-top:3px;
}

.itemtime{
    float:none;
    margin:0;
    padding:0;
    border-radius:var(--hh-radius-xs);
    background:var(--hh-primary-dark);
    box-shadow:0 1px 2px rgba(179,18,26,.30);
    overflow:hidden;
}

/* Đồng hồ chạy bằng cách CUỘN một dải 0–9 theo chiều dọc: JS đặt
   margin-top = -31px × chữ số. Nghĩa là mỗi ô chữ số PHẢI cao đúng 31px.
   Bản gốc ăn may đúng 31px nhờ font Arial mặc định; đổi sang Roboto có
   line-height 1.5 thì ô cao 39px → cuộn lệch dần, chữ số bị cắt đôi.
   → Khoá cứng 31px, đừng đổi con số này nếu không sửa cả JS. */
.initemtime{
    height:31px;
}

.initemtime > div > div{
    width:20px;
    height:31px;
    line-height:31px;
    color:#fff;
    font-size:18px;
    font-weight:700;
    text-align:center;
}

.texttime{
    float:none;
    width:auto;
    margin:0;
    padding:0;
    color:var(--hh-text-light);
    font-size:var(--hh-fs-xs);
    font-weight:400;
    line-height:1.2;
    text-align:center;
}


/*==========================================================================
  13. CHẤP NHẬN THANH TOÁN
==========================================================================*/
.hh-thanhtoan{
    margin-top:16px;
    padding-top:14px;
    border-top:1px solid var(--hh-border);
}

.hh-thanhtoan__tieude{
    margin-bottom:9px;
    color:var(--hh-text-light);
    font-size:var(--hh-fs-sm);
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.4px;
}

.hh-thanhtoan__ds{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}

.hh-tt-item{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:5px 10px;
    border:1px solid var(--hh-border);
    border-radius:var(--hh-radius-pill);
    background:var(--hh-white);
    color:var(--hh-text-body);
    font-size:var(--hh-fs-sm);
    line-height:1.4;
    white-space:nowrap;
    cursor:default;
    transition:border-color var(--hh-transition),box-shadow var(--hh-transition);
}

.hh-tt-item:hover{
    border-color:var(--hh-border-strong);
    box-shadow:var(--hh-shadow-xs);
}

.hh-tt-item i{
    font-size:15px;
    color:var(--hh-text-light);
}

.hh-tt-item .fa-cc-visa{ color:#1A1F71; }
.hh-tt-item .fa-cc-mastercard{ color:#EB001B; }
.hh-tt-item .fa-cc-jcb{ color:#0B4EA2; }
.hh-tt-item .fa-qrcode{ color:#0068A5; }
.hh-tt-item .fa-money-bill-1{ color:var(--hh-green); }
.hh-tt-item .fa-building-columns{ color:var(--hh-blue); }


/*==========================================================================
  14. BA TAB: CÙNG PHÂN KHÚC / MUA KÈM / ĐÃ XEM
==========================================================================*/
.hh-tab-bar{
    display:flex;
    flex-wrap:wrap;
    gap:2px;
    padding:0 6px;
    border-bottom:1px solid var(--hh-border);
    background:var(--hh-bg-soft);
}

.hh-tab{
    position:relative;
    padding:13px 16px;
    border:none;
    background:none;
    color:var(--hh-text-light);
    font-family:var(--hh-font);
    font-size:var(--hh-fs-md);
    font-weight:600;
    line-height:1.3;
    white-space:nowrap;
    cursor:pointer;
    transition:color var(--hh-transition);
}

.hh-tab:hover{
    color:var(--hh-text);
}

.hh-tab.is-active{
    color:var(--hh-primary);
}

.hh-tab.is-active::after{
    content:"";
    position:absolute;
    left:12px;
    right:12px;
    bottom:-1px;
    height:3px;
    border-radius:3px 3px 0 0;
    background:var(--hh-primary);
}

.hh-tab-panel[hidden]{
    display:none;
}

/* --- lưới thẻ sản phẩm cho 2 tab mới --- */
.hh-luoi-sp{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:12px;
    padding:16px 14px 18px;
}

.hh-the-sp{
    display:flex;
    flex-direction:column;
    border:1px solid var(--hh-border);
    border-radius:var(--hh-radius);
    background:var(--hh-white);
    overflow:hidden;
    transition:border-color var(--hh-transition),box-shadow var(--hh-transition),
               transform var(--hh-transition);
}

.hh-the-sp:hover{
    border-color:rgba(215,25,32,.30);
    box-shadow:var(--hh-shadow-md);
    transform:translateY(-2px);
}

/* KHÔNG đặt flex cho thẻ <a> này — bên trong có .hh-the-sp__ten đang cắt
   dòng bằng -webkit-line-clamp, con của flex bị ép về block là mất cắt dòng
   (xem ERR-003). */
.hh-the-sp__link{
    display:block;
    padding:10px 10px 6px;
    text-decoration:none;
}

.hh-the-sp__anh{
    display:flex;
    align-items:center;
    justify-content:center;
    height:120px;
    margin-bottom:9px;
}

.hh-the-sp__anh img{
    max-width:100%;
    max-height:100%;
    object-fit:contain;
}

.hh-the-sp__ten{
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
    height:54px;
    color:var(--hh-text);
    font-size:var(--hh-fs-sm);
    line-height:18px;
}

.hh-the-sp__gia{
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:4px 6px;
    margin-top:7px;
}

/* Giá mới chiếm trọn một dòng: nếu để cả ba mẩu (giá mới · giá cũ · % giảm)
   cùng chảy trên một dòng thì thẻ nào tên dài sẽ đẩy "% giảm" xuống dòng,
   thẻ nào ngắn thì không — sáu thẻ cao thấp khác nhau. */
.hh-the-sp__gia-moi{
    flex:0 0 100%;
    color:var(--hh-primary);
    font-size:var(--hh-fs-md);
    font-weight:700;
}

.hh-the-sp__gia-cu{
    color:var(--hh-text-muted);
    font-size:var(--hh-fs-sm);
    text-decoration:line-through;
}

.hh-the-sp__giam{
    color:var(--hh-primary);
    font-size:var(--hh-fs-sm);
    font-weight:700;
}

.hh-the-sp__nut{
    margin:auto 10px 10px;
    padding:7px 8px;
    border:1px solid var(--hh-primary);
    border-radius:var(--hh-radius-sm);
    color:var(--hh-primary);
    font-size:var(--hh-fs-sm);
    font-weight:600;
    text-align:center;
    cursor:pointer;
    transition:background var(--hh-transition),color var(--hh-transition);
}

.hh-the-sp__nut:hover{
    background:var(--hh-primary);
    color:#fff;
}

@media (max-width:1199px){
    .hh-luoi-sp{ grid-template-columns:repeat(4,minmax(0,1fr)); }
}

@media (max-width:900px){
    .hh-luoi-sp{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}


/*==========================================================================
  15. TINH CHỈNH ĐỢT 3 (theo góp ý người dùng)
==========================================================================*/

/*--------------------------------------------------------------------------
  15.1  DÓNG THẲNG HÀNG KHỐI GIÁ
  Đo được: #itempriceclass bắt đầu ở x=588 trong khi #itempricenyclass,
  .divtonkho, khung đếm ngược và các nút đều bắt đầu ở x=582 — lệch 6px do
  itemv168.css đặt lề trái riêng cho dòng giá khuyến mãi.
--------------------------------------------------------------------------*/
#itempriceclass,
#itempricenyclass,
#itempriceonlineclass,
#itempricesalesclass{
    margin-left:0;
    margin-right:0;
    padding-left:0;
    padding-right:0;
}

.showprice{
    margin:0 0 10px;
    padding:0;
}

/*--------------------------------------------------------------------------
  15.2  GIÁ NIÊM YẾT — chỉ gạch ngang CON SỐ, không gạch chữ
  HTML: <span>Giá niêm yết:</span> 16.990.000đ  (con số là text trần).
  Không nhắm được text trần bằng CSS, nên: gạch ngang cả dòng, rồi cho
  <span> thành inline-block — gạch ngang KHÔNG lan vào hộp inline nguyên tử,
  nên riêng chữ "Giá niêm yết:" thoát được gạch.
--------------------------------------------------------------------------*/
#itempricenyclass{
    color:var(--hh-text);           /* đậm hơn, không còn xám nhạt */
    font-size:var(--hh-fs-md);
    text-decoration:line-through;
    text-decoration-color:var(--hh-text-light);
    text-decoration-thickness:1px;
}

#itempricenyclass span{
    display:inline-block;           /* chốt: chặn gạch ngang lan vào */
    margin-right:4px;
    color:var(--hh-text-light);
    font-size:var(--hh-fs-base);
    text-decoration:none;
}

/*--------------------------------------------------------------------------
  15.3  SHOWROOM ĐANG CÓ HÀNG
--------------------------------------------------------------------------*/
.divtonkho{
    margin-bottom:8px;
}

.hh-showroom{
    margin:0 0 12px;
    padding:10px 12px;
    border:1px solid var(--hh-border);
    border-radius:var(--hh-radius-sm);
    background:var(--hh-bg-soft);
}

.hh-showroom__tieude{
    display:flex;
    align-items:center;
    gap:7px;
    margin-bottom:6px;
    color:var(--hh-text);
    font-size:var(--hh-fs-base);
    font-weight:600;
}

.hh-showroom__tieude::before{
    content:"\f54f";                /* cửa hàng */
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    font-size:13px;
    color:var(--hh-green);
}

.hh-showroom__dc{
    position:relative;
    padding-left:18px;
    color:var(--hh-text-body);
    font-size:13px;
    line-height:1.55;
}

.hh-showroom__dc::before{
    content:"\f3c5";                /* ghim bản đồ */
    position:absolute;
    left:0;
    top:2px;
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    font-size:11px;
    color:var(--hh-text-muted);
}

/*--------------------------------------------------------------------------
  15.4  HAI NÚT TRÊN CÙNG HÀNG PHẢI BẰNG NHAU
  Đo được: nút Trả góp rộng 140px, nút Thêm vào giỏ 246px — vì thẻ <a> bọc
  nút trả góp không phải là flex item co giãn.
--------------------------------------------------------------------------*/
.hh-hang-nut-mua{
    align-items:stretch;
}

.hh-nut-tragop{
    flex:1 1 0;
    min-width:0;
    display:block;
    text-decoration:none;
}

#divcentercoldetailsitem .hh-nut-tragop .indivbuttonsales3{
    width:100%;
    height:100%;
    box-sizing:border-box;
}

#divcentercoldetailsitem .indivbuttonsales-giohang{
    flex:1 1 0;
    min-width:0;
    box-sizing:border-box;
}

/*--------------------------------------------------------------------------
  15.5  CỘT CHÍNH SÁCH — không sát viền phải, lề hai bên bằng nhau
  Đo được: nội dung cách viền trái 21px nhưng cách viền phải chỉ 1px, do
  itemv168.css đặt lề trái riêng cho #indivrightcoldetailsitem.
--------------------------------------------------------------------------*/
#indivrightcoldetailsitem,
#indivrightcoldetailsitem .itemindivrightcoldetailsitem{
    margin:0;
    padding:0;
    border:none;
    box-sizing:border-box;
}

#indivrightcoldetailsitem .initemindivrightcoldetailsitem.goidatmua{
    padding:14px 18px;
}

.itemindivrightcoldetailsitem.endrightdetails{
    padding:15px 18px 17px;
}

.endrightdetails .vanchuyenvalapdat,
#indivrightcoldetailsitem .itemindivrightcoldetailsitem .initemindivrightcoldetailsitem{
    padding-right:2px;              /* chừa hơi thở ở mép phải */
}

/*--------------------------------------------------------------------------
  15.6  KHOẢNG CÁCH TỔNG THỂ — kéo các khối lại gần nhau
  Đo được: từ đáy thanh menu tới tên sản phẩm là 63px, quá thưa.
--------------------------------------------------------------------------*/
.allitemdetailsbody{
    margin-top:0;
}

#divuripage{
    padding:10px 2px 6px !important;
}

#itemnameclass{
    margin-bottom:10px;
}

/*--------------------------------------------------------------------------
  15.7  MÔ TẢ SẢN PHẨM — rút gọn tới hết ảnh đầu tiên
  Chiều cao thu gọn do JS tính theo đáy ảnh đầu tiên (mỗi bài một khác),
  đặt vào biến --hh-mota-cao.
--------------------------------------------------------------------------*/
#divimageitemdetails.hh-mota-thu-gon #indivimageitemdetails{
    position:relative;
    max-height:var(--hh-mota-cao,520px);
    overflow:hidden;
}

/* lớp mờ dần báo hiệu còn nội dung phía dưới */
#divimageitemdetails.hh-mota-thu-gon #indivimageitemdetails::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:110px;
    background:linear-gradient(180deg,rgba(255,255,255,0),var(--hh-white) 82%);
    pointer-events:none;
}

.hh-mota-xemthem{
    display:flex;
    justify-content:center;
    padding:0 18px 20px;
}

.hh-mota-nut{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-width:220px;
    padding:10px 22px;
    border:1px solid var(--hh-primary);
    border-radius:var(--hh-radius-pill);
    background:var(--hh-white);
    color:var(--hh-primary);
    font-family:var(--hh-font);
    font-size:var(--hh-fs-base);
    font-weight:600;
    line-height:1.2;
    cursor:pointer;
    justify-content:center;
    transition:background var(--hh-transition),color var(--hh-transition);
}

.hh-mota-nut::after{
    content:"\f078";                /* mũi tên xuống */
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    font-size:11px;
    transition:transform var(--hh-transition);
}

#divimageitemdetails:not(.hh-mota-thu-gon) .hh-mota-nut::after{
    transform:rotate(180deg);       /* đã mở → mũi tên quay lên */
}

.hh-mota-nut:hover{
    background:var(--hh-primary);
    color:#fff;
}


/*--------------------------------------------------------------------------
  15.8  CỘT CHÍNH SÁCH — gỡ khoảng đệm thừa bên trong mỗi dòng

  Mỗi dòng cam kết có một <div> con, và itemv168.css gắn cho <div> đó
  `background:url(../Images/*.png)` + `padding-left:30~32px` để chừa chỗ cho
  biểu tượng. Nhưng TOÀN BỘ ảnh trong ../Images/ không có trong bộ file đã
  lưu (404) — chỉ còn lại khoảng trống 32px vô nghĩa, cộng thêm 27px đệm của
  dòng thành ~59px hở giữa icon và chữ.
  → Gỡ đệm + ảnh nền của <div> con; biểu tượng nay do ::before của dòng vẽ.
--------------------------------------------------------------------------*/
.endrightdetails .vanchuyenvalapdat > div,
.endrightdetails .conglapdat > div,
.endrightdetails .phukiendikem > div,
.endrightdetails .doitramienphi > div,
.endrightdetails .baohanh > div,
.endrightdetails .huongdantragop > div{
    padding:0;
    background:none;
}

/* tiêu đề dài, cột chỉ ~250px → cho ngắt dòng cân đối thay vì rơi lẻ 1 chữ */
.yentammuahang > div{
    font-size:var(--hh-fs-base);
    text-wrap:balance;
}


/*==========================================================================
  16. BỐ CỤC ĐỢT 4 — bám theo bản vẽ của người dùng
==========================================================================*/

/*--------------------------------------------------------------------------
  16.1  SẮP XẾP LẠI THỨ TỰ CỘT GIỮA

  Thứ tự mong muốn (theo bản vẽ):
     giá → CÒN HÀNG → QUÀ TẶNG → [Trả góp][Thêm giỏ] → [MUA NGAY]
     → DEAL đếm ngược → CHẤP NHẬN THANH TOÁN → showroom → ghi chú

  Làm bằng `order` của flex, KHÔNG di chuyển thẻ trong HTML — đổi lại thứ tự
  chỉ cần sửa vài con số ở đây.
  Nhóm nút + thanh toán nằm chung trong một thẻ bọc, nên thẻ bọc đó phải
  `display:contents` thì các con mới tham gia xếp thứ tự được.
--------------------------------------------------------------------------*/
#divcentercoldetailsitem{
    display:flex;
    flex-direction:column;
    align-items:stretch;
}

#divcentercoldetailsitem > div[style*="margin-left"]{
    display:contents;
}

#divcentercoldetailsitem > .showprice{ order:1; }
#divcentercoldetailsitem > .divtonkho{ order:2; }
#divcentercoldetailsitem > .outquatangkhuyenmaichitietsanpham{ order:5; }
#divcentercoldetailsitem .hh-hang-nut-mua{ order:6; }
#divcentercoldetailsitem .hh-hang-mua-ngay{ order:7; }
#divcentercoldetailsitem .divbuttonsales.w49pecent,
#divcentercoldetailsitem > div[style*="margin-left"] > div:not([class]){ order:8; }
#divcentercoldetailsitem > #divcountdown{ order:9; }
#divcentercoldetailsitem .hh-thanhtoan{ order:10; }
#divcentercoldetailsitem > #showattributetop{ order:3; }
#divcentercoldetailsitem > .hh-showroom{ order:4; }
#divcentercoldetailsitem > .ghichuquatang{ order:11; }

/* các khối ẩn đẩy xuống cuối cho khỏi chen vào giữa */
#divcentercoldetailsitem > #pricetwocol,
#divcentercoldetailsitem > #itempriceonlineclass,
#divcentercoldetailsitem > #itempricesalesclass,
#divcentercoldetailsitem > .notetonkho,
#divcentercoldetailsitem > div[style*="clear"]{ order:0; }

/* khoảng cách giữa các khối trong cột giữa */
#divcentercoldetailsitem > .divtonkho{ margin-bottom:12px; }
#divcentercoldetailsitem > .hh-showroom{ margin:8px; }
#divcentercoldetailsitem > .ghichuquatang{ margin:12px 0 0; }
#divcentercoldetailsitem > #divcountdown{ margin:14px 0 0; }
#divcentercoldetailsitem .hh-thanhtoan{ margin-top:14px; }

/*--------------------------------------------------------------------------
  16.2  KHỐI QUÀ TẶNG — nay đã có nội dung
--------------------------------------------------------------------------*/
.outquatangkhuyenmaikhuyenmai,
.outquatangkhuyenmaichitietsanpham{
    margin-bottom:0;
}

/*.hh-ds-qua{
    margin:6px 0 0;
    padding:0 0 0 20px;
    list-style:decimal;
    color:var(--hh-text-body);
    font-size:var(--hh-fs-base);
    line-height:1.7;
}

.hh-ds-qua li{
    padding-left:2px;
}

.hh-ds-qua li::marker{
    color:var(--hh-primary);
    font-weight:600;
}*/
.hh-ds-qua{
    margin:6px 0 0;
    padding:0 0 0 2px;
    list-style:decimal;
    color:var(--hh-text-body);
    font-size:var(--hh-fs-base);
    line-height:1.7;
}
.hh-ds-qua  span{
    color:var(--hh-primary);
    font-weight:600;
    padding-right:2px;
} 
.hh-ds-qua::marker {
    content: none;
}

.hh-ds-qua li {
    display: inline;
}
/*--------------------------------------------------------------------------
  16.3  ĐẾM NGƯỢC — bố cục theo bản vẽ
  Trái: "DEAL HỜI LỜI TO" trên, "Kết Thúc Sau" dưới. Phải: các ô số.
  .indivdetailscountdown phải display:contents thì .chicontext (nằm bên
  trong nó) mới xếp được sang cột trái cùng tiêu đề.
--------------------------------------------------------------------------*/
.divdetailscountdown{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    grid-template-areas:
        "tieude  dongho"
        "ketthuc dongho";
    align-items:center;
    gap:0 14px;
    padding:10px 14px;
}

.indivdetailscountdown{
    display:contents;
}

.titlecountdount{ grid-area:tieude; }
.chicontext{ grid-area:ketthuc; order:0; }

.clockcountdount{
    grid-area:dongho;
    justify-self:end;
}

#titleleftcountdown{
    font-size:var(--hh-fs-base);
}

.chicontext{
    font-size:var(--hh-fs-sm);
}

/*--------------------------------------------------------------------------
  16.4  BANNER KHUYẾN MÃI Ở CỘT PHẢI
--------------------------------------------------------------------------*/
/*.hh-banner-qc{
    display:flex;
    flex-direction:column;
    gap:12px;
    margin-top:12px;
}*/
.hh-banner-qc {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
}
/*.hh-banner-qc__item{
    display:block;
    border-radius:var(--hh-radius-lg);
    overflow:hidden;
    box-shadow:var(--hh-shadow-xs);
    transition:box-shadow var(--hh-transition),transform var(--hh-transition);
}*/
.hh-banner-qc__item {
    display: block;
    width: 100%;
    overflow: hidden;
}
.hh-banner-qc__item:hover{
    box-shadow:var(--hh-shadow-md);
    transform:translateY(-2px);
}

/*.hh-banner-qc__item img{
    display:block;
    width:100%;
    height:auto;
}*/
.hh-banner-qc__item img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
}
/* banner nằm NGOÀI thẻ trắng của cột chính sách */
#divrightcoldetailsitem{
    background:transparent;
    border:none;
    box-shadow:none;
    overflow:visible;
}

#indivrightcoldetailsitem{
    border:1px solid var(--hh-border);
    border-radius:var(--hh-radius-lg);
    background:var(--hh-white);
    box-shadow:var(--hh-shadow-xs);
    overflow:hidden;
}

/*--------------------------------------------------------------------------
  16.5  THÔNG SỐ KỸ THUẬT — cao bằng mép dưới cột giữa
  Chiều cao do JS đo và đặt vào biến --hh-thongso-cao (mỗi sản phẩm, mỗi bề
  rộng màn hình một khác nên không thể viết cứng).
--------------------------------------------------------------------------*/
#outdivattributeitemright{
    max-height:var(--hh-thongso-cao,190px);
    overflow:hidden;
    transition:max-height var(--hh-transition-slow);
}


/*--------------------------------------------------------------------------
  16.6  SỬA CÁC LỖI PHÁT SINH KHI CHUYỂN CỘT GIỮA SANG FLEX
--------------------------------------------------------------------------*/

/* Cột giữa nay là flex column với align-items:stretch → mấy phần tử vốn
   "co theo nội dung" bị kéo dài hết bề ngang. Trả chúng về đúng bề rộng. */
#divcentercoldetailsitem > .divtonkho{
    align-self:flex-start;
}

/* Thẻ <div style="clear:both;"> nằm ngay sau cột phải là con của lưới nhưng
   không được gán grid-area → tự nhảy vào ô trống, đội thêm một hàng rỗng. */
#divitembasedetails > div[style*="clear"]{
    display:none;
}

/*--------------------------------------------------------------------------
  16.7  ĐẾM NGƯỢC — gọn đúng như bản vẽ
  Trái: tiêu đề trên, "kết thúc sau" ngay dưới. Phải: 4 cụm số sát mép phải.
--------------------------------------------------------------------------*/
.divdetailscountdown{
    gap:2px 16px;
    padding:12px 14px;
}

.titlecountdount{
    align-self:end;
}

.chicontext{
    align-self:start;
    line-height:1.3;
}

/* itemv168.css đặt float:right cho .clockcountdount — float làm hỏng
   justify-self của grid, phải gỡ. */
.clockcountdount{
    float:none;
    justify-self:end;
    align-self:center;
    grid-row:1 / 3;
    gap:10px;
}

.divtimeepoch > div{
    gap:3px;
}


/*--------------------------------------------------------------------------
  16.8  CHỐT CHIỀU CAO KHUNG THÔNG SỐ
  Dùng `height` (không phải `max-height`): max-height chỉ CẮT BỚT, nội dung
  ngắn hơn thì khung co lại và mép dưới lại lệch với cột bên cạnh.
--------------------------------------------------------------------------*/
#outdivattributeitemright{
    height:var(--hh-thongso-cao,auto);
    max-height:none;
    overflow:hidden;
}

/* JS đã chuyển .chicontext ra làm con trực tiếp của .divdetailscountdown,
   nên không cần display:contents nữa — gỡ để bố cục ổn định. */
.indivdetailscountdown{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    grid-area:dongho;
}


/*--------------------------------------------------------------------------
  16.9  ĐẾM NGƯỢC — bản chốt (một hàng flex, không dùng grid)
  JS đã gom tiêu đề + "kết thúc sau" vào .hh-dem-trai, nên khối này chỉ còn
  hai phần tử: khối chữ bên trái, đồng hồ bên phải.
--------------------------------------------------------------------------*/
.divdetailscountdown{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:10px 16px;
    padding:11px 14px;
}

.hh-dem-trai{
    display:flex;
    flex-direction:column;
    gap:2px;
    min-width:0;
}

.hh-dem-trai .titlecountdount,
.hh-dem-trai .chicontext{
    grid-area:auto;
    align-self:auto;
    order:0;
    margin:0;
    padding:0;
}

.indivdetailscountdown{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex:0 0 auto;
    grid-area:auto;
    margin:0;
    padding:0;
    background:none;
}

.clockcountdount{
    float:none;
    grid-area:auto;
    grid-row:auto;
    justify-self:auto;
    display:flex;
    align-items:flex-start;
    gap:8px;
    padding:0;
}

/* thẻ clear:both rỗng của bản gốc nằm lẫn trong khối — ẩn đi */
.divdetailscountdown > div[style*="clear"]{
    display:none;
}


/*--------------------------------------------------------------------------
  16.10  THU NHỎ ĐỒNG HỒ CHO VỪA MỘT HÀNG
  Cột giữa chỉ rộng ~395px. Tiêu đề ~170px + đồng hồ ~250px vượt quá chỗ nên
  flex tự xuống dòng, đồng hồ rơi xuống dưới — sai bản vẽ.
  Thu ô số còn 18px thì tổng ~362px, vừa đúng một hàng.
--------------------------------------------------------------------------*/
.clockcountdount{
    gap:7px;
}

.divtimeepoch > div{
    gap:2px;
}

.initemtime > div > div{
    width:18px;
    font-size:16px;
}

#titleleftcountdown{
    letter-spacing:.1px;
    white-space:nowrap;
}

.texttime{
    font-size:10px;
}


/*--------------------------------------------------------------------------
  16.11  ĐẾM NGƯỢC — chốt hẳn một hàng
  Đo thực tế: khối chữ bên trái chiếm trọn 366px (cả bề ngang) nên đồng hồ bị
  đẩy xuống hàng dưới. Ép rõ ràng: khối chữ co giãn được, đồng hồ giữ nguyên
  kích thước, và CẤM xuống dòng.
--------------------------------------------------------------------------*/
.divdetailscountdown{    
    flex-wrap:nowrap;
    align-items:center;
    justify-content:space-between;
}

.hh-dem-trai{
    flex:1 1 auto;
    min-width:0;
    width:auto;
}

.indivdetailscountdown{
    flex:0 0 auto;
    width:auto;
}


/*--------------------------------------------------------------------------
  16.12  ĐẾM NGƯỢC — cân lại bề ngang
  Đo được: đồng hồ chiếm 277px trong khung 366px, chỉ còn 89px cho tiêu đề
  → tiêu đề (có white-space:nowrap) TRÀN RA và bị các ô số đè lên.
  → Khối chữ KHÔNG được co (flex:0 0 auto); đồng hồ thu nhỏ lại cho vừa.
    Nếu vẫn chật thì cho xuống dòng — thà xuống dòng còn hơn đè chữ.
--------------------------------------------------------------------------*/
.divdetailscountdown{
    flex-wrap:wrap;
    row-gap:8px;
}

.hh-dem-trai{
    flex:0 0 auto;
}

.indivdetailscountdown{
    flex:1 1 auto;
    justify-content:flex-end;
}

.clockcountdount{
    gap:5px;
}

.initemtime > div > div{
    width:16px;
    font-size:15px;
}

.divtimeepoch > div{
    gap:1px;
}

#titleleftcountdown{
    font-size:13px;
    gap:5px;
}

#titleleftcountdown::before{
    font-size:12px;
}

.chicontext{
    font-size:var(--hh-fs-xs);
}


/*--------------------------------------------------------------------------
  16.13  ĐẾM NGƯỢC — khoá bề rộng cụm theo Ô SỐ, không theo nhãn
  Đo được: hai ô số chỉ rộng 33px nhưng NHÃN ("ngày", "giờ"…) rộng tới 56px,
  nên chính cái nhãn mới là thứ kéo cụm to ra: 4 cụm = 233px, cộng khối chữ
  137px thì vượt khung 366px → xuống dòng.
  → Chốt bề rộng cụm đúng bằng hai ô số; nhãn canh giữa trong bề rộng đó.
--------------------------------------------------------------------------*/
.divtimeepoch > div{
    width:35px;          /* 2 ô × 16px + 1px khe */
    flex:0 0 35px;
}

.divtimeepoch > div > .texttime{
    flex:0 0 100%;
    width:100%;
    font-size:10px;
    letter-spacing:-.2px;
}


/*==========================================================================
  17. TINH CHỈNH ĐỢT 5
==========================================================================*/

/*--------------------------------------------------------------------------
  17.1  KÉO "CÒN HÀNG" + "QUÀ TẶNG" LÊN SÁT GIÁ,
        ĐỒNG THỜI TÁCH HẲN KHỎI HAI NÚT BÊN DƯỚI
--------------------------------------------------------------------------*/
#divcentercoldetailsitem > .showprice{
    margin-bottom:6px;
}

#divcentercoldetailsitem > #itempricenyclass,
.showprice #itempricenyclass{
    margin-bottom:0;
}

#divcentercoldetailsitem > .divtonkho{
    margin:0 0 8px;
}

#divcentercoldetailsitem > .outquatangkhuyenmaichitietsanpham{
    margin:0 0 20px;          /* khoảng hở tách khỏi nhóm nút */
}

/*--------------------------------------------------------------------------
  17.2  ĐẾM NGƯỢC — hai chữ số GỘP THÀNH MỘT Ô như bản mẫu
  Bản trước mỗi chữ số một ô rời nên "19" đọc ra thành "1 9".
  Nay dán liền: ô trái bo góc trái, ô phải bo góc phải, giữa có vạch mảnh.
--------------------------------------------------------------------------*/
.divtimeepoch > div{
    width:38px;
    flex:0 0 38px;
    gap:0;
}

.initemtime > div > div{
    width:19px;
    font-size:16px;
}

.itemtime{
    border-radius:0;
    box-shadow:none;
}

.itemtime:first-of-type{
    border-radius:var(--hh-radius-xs) 0 0 var(--hh-radius-xs);
    box-shadow:inset -1px 0 0 rgba(255,255,255,.22);
}

.itemtime:first-of-type + .itemtime{
    border-radius:0 var(--hh-radius-xs) var(--hh-radius-xs) 0;
}

.texttime{
    margin-top:4px;
}

/*--------------------------------------------------------------------------
  17.3  "YÊN TÂM MUA HÀNG" — chữ cuối đang sát viền dưới
--------------------------------------------------------------------------*/
.itemindivrightcoldetailsitem.endrightdetails{
    padding:16px 18px 20px;
}

#indivrightcoldetailsitem .itemindivrightcoldetailsitem .initemindivrightcoldetailsitem:last-child{
    margin-bottom:0;
    padding-bottom:2px;
}


/*==========================================================================
  18. TINH CHỈNH ĐỢT 6
==========================================================================*/

/*--------------------------------------------------------------------------
  18.1  KHUNG ẢNH SẢN PHẨM — nền trắng, ảnh nhỏ có khung vuông mờ
--------------------------------------------------------------------------*/
#divimageshow{
    background:var(--hh-white);
}

/* Nền khung ảnh nay trắng nên ảnh nhỏ (cũng nền trắng) sẽ chìm mất.
   Cho mỗi ảnh nhỏ một khung VUÔNG mờ để tách khỏi nền. */
#divimagelist .imginlistimg{
    border:1px solid var(--hh-border-strong);
    border-radius:3px;
    background:var(--hh-white);
}

#divimagelist .imginlistimg:hover{
    border-color:var(--hh-primary);
}

/*--------------------------------------------------------------------------
  18.2  QUÀ TẶNG — cỡ chữ bằng khung "Yên tâm mua hàng" (13px)
--------------------------------------------------------------------------*/
.hh-ds-qua{
    font-size:13px;
    line-height:1.65;
}

.titledacdiemnoibat{
    font-size:var(--hh-fs-sm);
}

/*--------------------------------------------------------------------------
  18.3  ĐẾM NGƯỢC — thấp bớt, hai dòng chữ căn lề phải cho thẳng nhau
--------------------------------------------------------------------------*/
.divdetailscountdown{
    padding:8px 14px;
    gap:6px 14px;
}

.hh-dem-trai{
    align-items:flex-end;     /* hai dòng chữ thẳng mép PHẢI */
    text-align:right;
    gap:1px;
}

#titleleftcountdown{
    justify-content:flex-end;
}

.texttime{
    margin-top:3px;
}

/*--------------------------------------------------------------------------
  18.4  "YÊN TÂM MUA HÀNG" — chữ đang cách viền đúng 1px

  LỖI ĐÃ SỬA: mục 15.5 đặt
      #indivrightcoldetailsitem .itemindivrightcoldetailsitem { padding:0 }
  với độ ưu tiên (1,2,0), cao hơn quy tắc đặt đệm 18px viết ở mục 17.3 với
  độ ưu tiên (0,2,0) → đệm chưa bao giờ có hiệu lực, chữ sát viền.
  Viết lại đúng mức ưu tiên (1,3,0) mới ăn.
--------------------------------------------------------------------------*/
#indivrightcoldetailsitem .itemindivrightcoldetailsitem.endrightdetails{
    padding:16px 18px 20px;
}

#indivrightcoldetailsitem .itemindivrightcoldetailsitem.endrightdetails .vanchuyenvalapdat,
#indivrightcoldetailsitem .itemindivrightcoldetailsitem.endrightdetails .initemindivrightcoldetailsitem{
    padding-right:0;
    padding-left:26px;
}


/*==========================================================================
  19. TINH CHỈNH ĐỢT 7
==========================================================================*/

/*--------------------------------------------------------------------------
  19.1  BỎ GHIM CỘT ẢNH — cho trượt theo trang
  Mục 03 đặt position:sticky nên khi lăn chuột, khung ảnh đứng yên còn phần
  còn lại chạy qua, tạo cảm giác "bị ghim". Người dùng muốn nó trôi bình
  thường theo trang.
  (Cột chính sách bên phải cũng đang sticky — KHÔNG động tới, người dùng
   chưa yêu cầu.)
--------------------------------------------------------------------------*/
#divimagecoldetailsitem{
    position:static;
    top:auto;
}

/*--------------------------------------------------------------------------
  19.2  ẢNH NHỎ — viền đậm hơn cho rõ khung
  --hh-border-strong (#D5DAE3) vẫn nhạt, nhìn gần như không thấy khung.
--------------------------------------------------------------------------*/
/*  ĐÂY LÀ CHỖ DUY NHẤT TRONG DỰ ÁN DÙNG !important — và có lý do:
    mỗi ảnh nhỏ mang style NỘI TUYẾN `border: 1px solid rgb(248,248,248)`
    (còn lại từ bản lưu máy chủ), và hàm ClickImageSelect() của itemv18.js
    GHI LẠI style nội tuyến mỗi lần bấm ảnh. Style nội tuyến thắng mọi
    selector, kể cả selector có ID → !important là cách duy nhất thắng được.
    Đã thử gỡ style nội tuyến bằng JS: itemv18.js ghi lại ngay, đo ra viền
    mỗi ảnh một kiểu. Nay để nó ghi thoải mái, hh-product-2026.js chỉ ĐỌC
    màu đó để gắn class .hh-anh-chon cho ảnh đang xem. */
#divimagelist .imginlistimg{
    border:1px solid #A8B0BF !important;
    background:var(--hh-white);
}

#divimagelist .imginlistimg:hover{
    border-color:var(--hh-primary) !important;
}

/* ảnh đang xem — giữ đúng màu cam của bản gốc, chỉ dày lên cho dễ thấy */
#divimagelist .imginlistimg.hh-anh-chon{
    border:2px solid #EFAB07 !important;
    padding:4px;
}

/*--------------------------------------------------------------------------
  19.3  ĐẾM NGƯỢC — GIỮ NGUYÊN CHIỀU CAO, PHÓNG TO CHỮ VÀ SỐ
  --------------------------------------------------------------------------
  Bản trước gọn nhưng chữ số 16px trong khung cao 74px trông bé và trống
  trải; nhãn 10px thì gần như không đọc được, nên nhìn "lệch lung tung".

  RÀNG BUỘC KHÔNG ĐƯỢC PHÁ: ô chữ số vẫn PHẢI cao đúng 31px — JS chạy đồng
  hồ bằng cách cuộn dải 0–9 với bước margin-top = -31px × chữ số (xem ERR-012).
  Nên chỉ phóng to CỠ CHỮ và BỀ NGANG ô, tuyệt đối không đổi chiều cao ô.

  Ngân sách bề ngang (ERR-017 — phải tính, không được đoán): khung trong rộng
  ~365px. Đồng hồ = 4 cụm × 44px + 3 khe × 5px = 191px, khối chữ ~160px,
  khe giữa 12px ⇒ 363px. Vừa khít, không xuống dòng.
--------------------------------------------------------------------------*/
.divdetailscountdown{
    padding:11px 12px;
    gap:6px 12px;
}

/* THỦ PHẠM làm chữ tràn và đồng hồ rơi xuống dòng:
   itemv168.css có `#titleleftcountdown{float:left; padding:10px; padding-top:11px}`.
   Mục 12 khi viết lại tiêu đề chỉ gỡ `float`, QUÊN gỡ `padding` — mà selector kia
   là ID (1,0,0) nên mọi quy tắc bằng class đều thua. Cái đệm 10px đó cộng thêm
   20px bề ngang + 21px chiều cao cho khối chữ: tiêu đề bị ép xuống 2 dòng (cao 44px
   thay vì 22px) và cụm chữ chiếm 156px thay vì 136px.
   Cùng loại lỗi với ERR-019 — xem bài học 14. */
#titleleftcountdown{
    padding:0;
}

/* --- chữ số --- */
.initemtime > div > div{
    width:22px;
    font-size:21px;
    font-weight:700;
}

.divtimeepoch > div{
    width:44px;          /* 2 ô × 22px, dán liền nhau */
    flex:0 0 44px;
}

.clockcountdount{
    gap:5px;
}

/* --- nhãn ngày/giờ/phút/giây --- */
.divtimeepoch > div > .texttime,
.texttime{
    font-size:12px;
    letter-spacing:0;
    line-height:1.25;
    margin-top:4px;
}

/* --- hai dòng chữ bên trái --- */
#titleleftcountdown{
    font-size:15px;
    letter-spacing:.2px;
}

#titleleftcountdown::before{
    font-size:14px;
}

.chicontext{
    font-size:15px;
}

.hh-dem-trai{
    gap:2px;
}


/*==========================================================================
  20. TINH CHỈNH ĐỢT 8
==========================================================================*/

/*--------------------------------------------------------------------------
  20.1  ICON HỘP QUÀ CẠNH CHỮ "QUÀ TẶNG"
  Dùng Font Awesome đã nhúng sẵn (\f06b = fa-gift), không thêm file ảnh.
--------------------------------------------------------------------------*/
.titledacdiemnoibat{
    display:flex;
    align-items:center;
    gap:7px;
}

.titledacdiemnoibat::before{
    content:"\f06b";
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    font-size:13px;
    color:var(--hh-primary);
    flex:0 0 auto;
}

/*--------------------------------------------------------------------------
  20.2  BỎ VIỀN VÀNG CAM Ở ẢNH NHỎ
  Mục 19.2 đánh dấu ảnh đang xem bằng viền cam #EFAB07 (màu của bản gốc).
  Người dùng không muốn hiệu ứng này → mọi ảnh nhỏ dùng chung một kiểu viền.
  Class .hh-anh-chon do JS gắn vẫn còn (vô hại), để nguyên phòng khi cần
  đánh dấu lại bằng kiểu khác.
--------------------------------------------------------------------------*/
#divimagelist .imginlistimg.hh-anh-chon{
    border:1px solid #A8B0BF !important;
    padding:5px;
}

/*--------------------------------------------------------------------------
  20.3  THANH "THÔNG SỐ KỸ THUẬT" — nền ghi phải tràn hết bề ngang khung
  --------------------------------------------------------------------------
  Nền ghi đứt một đoạn ~8px ở mép phải. Nguyên nhân: itemv168.css có
  `.inoutthongsokythuatbottomimage{ margin-right:8px; padding:8px }`.
  Mục 08 khi viết lại đã gỡ `padding` và `border` nhưng BỎ SÓT `margin-right`
  → thẻ trong hụt 8px so với khung ngoài, đúng bằng đoạn nền bị đứt.
  (Cùng loại lỗi với bài học 17: viết lại khối cũ thì phải gỡ HẾT thuộc tính.)
--------------------------------------------------------------------------*/
.inoutthongsokythuatbottomimage{
    margin:0;
}


/*==========================================================================
  21. HÀNG THÔNG TIN DƯỚI TÊN SẢN PHẨM
      ★ đánh giá  |  đã bán  |  so sánh
  --------------------------------------------------------------------------
  Bản mẫu người dùng gửi xếp hàng này NGANG HÀNG với tên sản phẩm. Ở trang
  này không đặt cùng hàng được: tên dài "Máy tính xách tay HP Pavilion X360
  14-ek1046TU_80R24PA (màu bạc)" ở cỡ 26px đã chiếm ~900px trong cột 1200px,
  chỉ còn ~300px trong khi ba mục cần ~380px ⇒ sẽ gãy dòng xấu.
  → Đặt xuống ngay dưới tên, cùng mép trái. Vẫn là một cụm liền mạch, và với
    tiêu đề cỡ lớn thì kiểu này còn dễ đọc hơn.
==========================================================================*/
/*  Bản gốc cho các thẻ con của khối tên `float:left` nên không kiểm soát được
    vị trí. Chuyển hẳn sang flex.

    ĐẶT CÙNG MỘT HÀNG VỚI TÊN — số đo cho thấy vừa:
        cột 1180px · tên 26px chiếm 801px · hàng thông tin 312px
        801 + 18 (khe) + 312 = 1131  ⇒ vừa, nhưng chỉ dư 49px.
    Hạ tên xuống 22px cho chắc: tên còn ~678px ⇒ tổng 1008px, dư 172px, tên dài
    hơn sản phẩm này vẫn không gãy hàng. `flex-wrap:wrap` là lưới an toàn: tên
    nào quá dài thì hàng thông tin tự rơi xuống dòng dưới chứ không tràn ra. */
#itemnameclass{
    display:flex;
    flex-direction:row;
    align-items:center;
    flex-wrap:wrap;
    gap:4px 18px;
}

.initemnameclass,
#itemnameclass .linkfacebook{
    float:none;
    width:auto;
}

/* tên nhỏ lại một nấc để hàng thông tin lên cùng hàng */
.initemnameclass{
    flex:0 1 auto;
    min-width:0;
    font-size:22px;
    line-height:1.3;
}

#itemnameclass > div[style*="clear"]{
    display:none;
}

.hh-sp-meta{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    flex:0 0 auto;
    gap:0 12px;
    margin-top:0;
    padding-top:3px;          /* hạ nhẹ cho thẳng thị giác với chữ tiêu đề */
    color:var(--hh-text-light);
    font-size:13px;
    line-height:1.5;
}

.hh-sp-meta b{
    color:var(--hh-text);
    font-weight:700;
}

/* --- ngôi sao + điểm --- */
.hh-sp-danhgia{
    display:inline-flex;
    align-items:center;
    gap:5px;
}

.hh-sp-danhgia i{
    color:#F5A623;          /* vàng sao — màu duy nhất ngoài bảng màu chính,
                               dùng đúng chỗ này vì ngôi sao xám thì vô nghĩa */
    font-size:13px;
}

.hh-sp-phu{
    color:var(--hh-text-light);
}

/* --- vạch ngăn mảnh giữa các mục --- */
.hh-sp-vach{
    width:1px;
    height:13px;
    background:var(--hh-border-strong);
}

/* --- nút so sánh --- */
.hh-sp-sosanh{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:0;
    border:none;
    background:none;
    color:var(--hh-text-light);
    font-family:inherit;
    font-size:13px;
    line-height:1.5;
    cursor:pointer;
    transition:color var(--hh-transition);
}

.hh-sp-sosanh i{
    font-size:13px;
}

.hh-sp-sosanh:hover{
    color:var(--hh-primary);
}

/*==========================================================================
  22. GIAO DIỆN MOBILE (≤ 767px) — RIÊNG TRANG SẢN PHẨM
  --------------------------------------------------------------------------
  Đo ở 390px ra (2026-09-14):
   ① Thanh 4 tab (cùng phân khúc / mua kèm / cùng hãng / đã xem) xếp thành 4 hàng
     dọc cao ~190px.
   ② Slider thẻ trong tab: JS cũ ghi cứng style nội tuyến `width:113px` cho từng
     thẻ và `width:340px; overflow:hidden` cho khung ⇒ 3 thẻ hẹp, giá bị cắt, chữ
     "Tặng quà" gãy dòng, hai nút mũi tên đè lên thẻ. Style nội tuyến chỉ thắng
     được bằng !important (xem ERR-020).
   ③ Ô "Gọi đặt mua" chỉ rộng 190px, nền hồng lệch một nửa.
   ④ Form đánh giá: 2 ô nhập (Họ tên / SĐT) mỗi ô 50% bề ngang.
  Tất cả trong một media query — giao diện máy tính không đổi.
==========================================================================*/
@media (max-width:767px){

    /*  22.1  THANH TAB: một hàng cuộn ngang, dạng viên thuốc  */
    .hh-tab-bar{
        flex-wrap:nowrap;
        gap:8px;
        padding:12px;
        overflow-x:auto;
        scrollbar-width:none;
    }

    .hh-tab-bar::-webkit-scrollbar{
        display:none;
    }

    .hh-tab{
        flex:0 0 auto;
        padding:8px 14px;
        border:1px solid var(--hh-border);
        border-radius:var(--hh-radius-pill);
        background:#fff;
        font-size:13px;
    }

    .hh-tab.is-active{
        border-color:var(--hh-primary);
        background:var(--hh-primary-soft);
    }

    .hh-tab.is-active::after{
        content:none;
    }

    /*  22.2  SLIDER THẺ TRONG TAB: cuộn ngang bằng tay, thẻ 150px  */
    .hh-tab-panel [id^="listiteminpdnchildv"]{
        width:auto !important;
        overflow-x:auto !important;
        overflow-y:hidden !important;
        scroll-snap-type:x mandatory;
        scrollbar-width:none;
    }

    .hh-tab-panel [id^="listiteminpdnchildv"]::-webkit-scrollbar{
        display:none;
    }

    .hh-tab-panel [id^="inlistiteminpdnchildv"]{
        display:flex !important;
        gap:10px;
        width:max-content !important;
        margin-left:0 !important;
        left:0 !important;
        transform:none !important;
    }

    .hh-tab-panel .detailsiteminpdnchildv1{
        float:none !important;
        width:150px !important;
        min-width:150px !important;
        max-width:150px !important;
        scroll-snap-align:start;
    }

    /* đã cuộn được bằng tay ⇒ bỏ hai nút mũi tên đè lên thẻ */
    .hh-tab-panel .btnleftlistitemhomev1,
    .hh-tab-panel .btnrightlistitemhomev1{
        display:none !important;
    }

    /*  22.3  CỘT PHẢI + Ô "GỌI ĐẶT MUA": trải hết bề ngang  */
    #indivrightcoldetailsitem .itemindivrightcoldetailsitem{
        float:none;
        width:auto;
    }

    #indivrightcoldetailsitem .initemindivrightcoldetailsitem.goidatmua{
        width:auto;
    }

    /*  22.4  FORM ĐÁNH GIÁ: mỗi ô nhập một hàng, rộng hết khung  */
    /* mục 13 cùng tệp đặt `#bottomcommentguest .intenkhbinhluan input{width:210px}`
       (1,1,1) và khung ngoài `.tenkhbinhluan` còn viền cũ ⇒ ô nhập 210px dạt phải
       (khung cha text-align:right) trong một hộp viền đôi. Viết cùng độ ưu tiên. */
    #bottomcommentguest .thongtinkhachhangbinhluan,
    #bottomcommentguest .inthongtinkhachhangbinhluan,
    #bottomcommentguest .tenkhbinhluan,
    #bottomcommentguest .sdtkhbinhluan,
    #bottomcommentguest .intenkhbinhluan{
        width:100%;
        float:none;
    }

    #bottomcommentguest .tenkhbinhluan,
    #bottomcommentguest .sdtkhbinhluan{
        border:0;
    }

    #bottomcommentguest .intenkhbinhluan input{
        box-sizing:border-box;
        width:100%;
        text-align:left;
    }

    #txtcommentguest{
        box-sizing:border-box;
        width:100%;
    }
    .hh-banner-qc {
        gap: 10px;
    }
}
/* Mobile */
@media (max-width: 576px) {
    .hh-banner-qc {
        grid-template-columns: 1fr;
        gap: 10px;
    }
}