/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/

:root {
    --fs-color-primary: #d6002b;
}

/* ============================================================
   SALLY-STYLE HEADER
   ============================================================ */

/* --- TOP BAR (thanh đen) --- */
.header-top {
    background-color: #000 !important;
    min-height: 32px;
}
/* Ép font-size + bỏ uppercase cho toàn bộ top bar */
.header-top,
.header-top .nav > li > a,
.header-top .nav > li,
.header-top .html_topbar_left,
.header-top .html_topbar_right {
    font-size: 12px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: #fff !important;
}
.header-top a:hover { color: #ccc !important; }

/* === Tắt MỌI divider gốc của Flatsome trong top bar === */
.header-top .is-divider,
.header-top .nav .is-divider { display: none !important; }
.header-top .nav,
.header-top .nav > li,
.header-top .nav.nav-divided > li {
    border: 0 !important;
}

/* Ép nav + li dùng flex để chiều cao đồng đều, content căn giữa dọc */
.header-top .flex-row,
.header-top .nav {
    display: flex !important;
    align-items: center !important;
    min-height: 32px;
}
.header-top .nav > li {
    display: flex !important;
    align-items: center !important;
    padding: 0 14px !important;
    margin: 0 !important;
    position: relative;
    line-height: 1 !important;
}
.header-top .nav > li:first-child { padding-left: 0 !important; }
.header-top .nav > li:last-child  { padding-right: 0 !important; }

/* Divider mảnh, căn giữa dọc tuyệt đối — chỉ vẽ giữa 2 li thật (loại trừ is-divider) */
.header-top .nav > li:not(:first-child):not(.is-divider)::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 12px;
    width: 1px;
    background: rgba(255,255,255,0.4);
}

/* Khoảng cách icon với chữ */
.header-top .nav i { margin-right: 6px; font-size: 14px; }

/* --- MAIN HEADER (thanh trắng) --- */
.header-main {
    height: 90px !important;
    background: #fff;
}

/* Logo SALLY */
.header-main .logo a {
    color: #d6002b;
    font-weight: 900;
    font-size: 38px;
    letter-spacing: -1px;
    font-style: italic;
}

/* Ô tìm kiếm bo nhẹ */
.header-main .header-search-form .searchform input[type="search"] {
    border: 1px solid #ccc;
    border-radius: 6px;
    height: 40px;
    padding-left: 45px;
    background: #fff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="%23000" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>') no-repeat 15px center;
}
.header-main .header-search-form .searchform .ux-search-submit { display: none; }

/* === Element Account (Flatsome) — style theo dạng Sally === */
.header-main .mrd-account-link {
    display: flex !important;
    align-items: center;
    gap: 10px;
    line-height: 1.2;
    text-transform: none !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}
.header-main .mrd-account-link i {
    font-size: 26px;
    color: #000;
    margin: 0 !important;
}
.header-main .mrd-account-link .sally-greeting-text {
    display: flex;
    flex-direction: column;
    text-align: left;
    font-size: 13px;
}
.header-main .mrd-account-link .greet {
    color: #1f8a4c;
    font-weight: 600;
    line-height: 1.1;
    text-transform: none;
}
.header-main .mrd-account-link .signin {
    color: #000;
    font-weight: 500;
    text-decoration: underline;
    line-height: 1.2;
    text-transform: none;
}
.header-main .mrd-account-link:hover .signin { color: #d6002b; }

.header-bottom {
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}

/* Cart icon đỏ */
.header-main .cart-icon strong { display: none; }       /* ẩn chữ Cart */
.header-main .header-cart-icon i { font-size: 28px; color: #000; }
.header-main .cart-icon .cart-icon-label {
    background: #d6002b;
    color: #fff;
    border-radius: 50%;
    min-width: 18px;
    height: 18px;
    line-height: 18px;
    font-size: 11px;
    border: none;
}

.nav-divided>li+li>a:after {
    display: none !important;
}

/* Active state menu chính */
.header-bottom-nav.nav > li.active > a,
.header-bottom-nav.nav > li.current > a,
.header-bottom-nav.nav > li > a.active,
.header-bottom-nav.nav > li > a.current {
    color: #d6002b !important;
}

/* --- Popup login / register --- */
#login-form-popup {
    border-radius: 16px;
    overflow: hidden;
    max-width: 820px;
    width: 90vw;
    padding: 0;
    background: #fff;
}

/* Panel login (trái) */
#login-form-popup .account-login-inner {
    padding: 36px 32px !important;
}
#login-form-popup .account-login-inner h2 {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #111 !important;
    text-transform: none !important;
    letter-spacing: -0.3px;
    margin: 0 0 24px !important;
}

/* Panel register (phải) */
#login-form-popup .account-register-inner {
    padding: 36px 32px !important;
    background: #111;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    height: 100%;
    min-height: 320px;
}
#login-form-popup .account-register-inner h2,
#login-form-popup .account-register-inner h3 {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #fff !important;
    text-transform: none !important;
    letter-spacing: -0.3px;
    margin: 0 0 10px !important;
}
#login-form-popup .account-register-inner p {
    color: rgba(255,255,255,0.75);
    font-size: 14px;
    margin: 0 0 24px;
    line-height: 1.5;
}
#login-form-popup .account-register-inner .button {
    background: #d6002b !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: none !important;
    padding: 0 28px !important;
    height: 44px !important;
    line-height: 44px !important;
    display: inline-block;
}
#login-form-popup .account-register-inner .button:hover {
    background: #a90022 !important;
}

/* Input fields */
#login-form-popup input[type="text"],
#login-form-popup input[type="email"],
#login-form-popup input[type="password"] {
    height: 44px !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    padding: 0 14px !important;
    width: 100%;
    box-sizing: border-box;
    transition: border-color .15s;
}
#login-form-popup input[type="text"]:focus,
#login-form-popup input[type="email"]:focus,
#login-form-popup input[type="password"]:focus {
    border-color: #d6002b !important;
    outline: none;
    box-shadow: 0 0 0 3px rgba(214,0,43,0.08);
}
#login-form-popup .account-login-inner label {
    font-size: 13px;
    font-weight: 600;
    color: #444;
}
#login-form-popup .account-register-inner label {
    font-size: 13px;
    font-weight: 600;
    color: rgba(255,255,255,0.75);
}

/* Nút Login */
#login-form-popup .woocommerce-form-login__submit {
    width: 100%;
    height: 46px !important;
    background: #d6002b !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: none !important;
    cursor: pointer;
    transition: background .2s;
    margin-top: 4px;
}
#login-form-popup .woocommerce-form-login__submit:hover {
    background: #a90022 !important;
}

/* Remember me + Lost password */
#login-form-popup .woocommerce-form-login__rememberme span {
    font-size: 13px;
    color: #555;
}
#login-form-popup .lost_password a {
    font-size: 13px;
    color: #888;
    text-decoration: underline;
}
#login-form-popup .lost_password a:hover { color: #d6002b; }

/* Popup chỉ có login (không có register) */
#login-form-popup:not(:has(.col2-set)) {
    max-width: 440px;
}

/* === Promo banner 3 cột (Sally style) === */
/* Reset nền cột về trong suốt */
.sally-promo .col-inner { background: transparent !important; }

/* Áp nền xám lên TỪNG Icon Box, không phải cả cột */
.sally-promo .icon-box {
    background: #f5f5f5;
    padding: 20px 24px;
    align-items: center;
    width: 100%;
    height: 100%;
}
.sally-promo .icon-box:hover { background: #ececec; transition: background .2s; }

@media (max-width: 768px) {
    .sally-promo .col { padding-bottom: 12px !important; }
}
.sally-promo .icon-box-img {
    margin-right: 16px;
    flex-shrink: 0;
}
.sally-promo .icon-box-text {
    line-height: 1.3;
}
.sally-promo .icon-box-text h1,
.sally-promo .icon-box-text h2,
.sally-promo .icon-box-text h3,
.sally-promo .icon-box-text h4 {
    margin: 0 0 4px;
    font-size: 14px;
    font-weight: 700;
    color: #000;
    letter-spacing: 0;
    text-transform: none;
}
.sally-promo .icon-box-text p {
    margin: 0;
    font-size: 13px;
    color: #555;
}
.sally-promo .icon-box-text u { color: #000; }

/* Cột thứ 3 — title đỏ */
.sally-promo .col:last-child .icon-box-text h1,
.sally-promo .col:last-child .icon-box-text h2,
.sally-promo .col:last-child .icon-box-text h3,
.sally-promo .col:last-child .icon-box-text h4 {
    color: #d6002b;
}

@media (max-width: 768px) {
    .sally-promo .col-inner { padding: 16px 18px; }
    .sally-promo .icon-box-text h4 { font-size: 14px; }
}

/* === Section title (Sally style) === */
.sally-section-title {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #000;
    letter-spacing: -0.5px;
    text-transform: none;
    margin: 0 0 6px !important;
    line-height: 1.15;
}
.sally-section-sub {
    font-size: 14px;
    color: #555;
    margin: 0 0 24px;
    line-height: 1.4;
}

/* === Product grid (Sally style) === */
/* Khung viền nhẹ cho từng card sản phẩm — không hiệu ứng */
.sally-products .product-small.box {
    text-align: left !important;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    padding: 14px;
    background: #fff;
}

/* Ẩn HẲN ảnh thứ 2 (back image) — chỉ giữ ảnh đầu tiên */
.sally-products .box-image img:not(:first-of-type),
.sally-products .box-image .show-on-hover,
.sally-products .box-image .image-hover { display: none !important; }

/* Tắt mọi animation / transform trên ảnh chính */
.sally-products .box-image img:first-of-type {
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
}

/* Ảnh sản phẩm trong khung xám bo tròn */
.sally-products .box-image {
    background: #f5f5f5;
    border-radius: 12px;
    overflow: hidden;
    transition: background .2s;
}
.sally-products .box-image:hover { background: #ececec; }
.sally-products .box-image img {
    mix-blend-mode: multiply;     /* loại nền trắng nếu ảnh sp có nền trắng */
    padding: 14px;
    box-sizing: border-box;
}

/* Tắt overlay/badge mặc định nếu không cần */
.sally-products .image-tools { display: none; }

/* Phần text bên dưới ảnh */
.sally-products .box-text {
    padding-top: 14px;
    padding-left: 0;
    padding-right: 0;
}

/* Brand */
.sally-products .sally-brand {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.8px;
    color: #555;
    margin-bottom: 6px;
    text-transform: uppercase;
}

/* Tên sản phẩm */
.sally-products .product-title,
.sally-products .name a {
    font-size: 14px;
    font-weight: 600;
    color: #000;
    text-transform: none;
    line-height: 1.35;
    letter-spacing: 0;
}
.sally-products .product-title:hover,
.sally-products .name a:hover { color: #d6002b; }

/* Giá */
.sally-products .price {
    font-size: 16px;
    font-weight: 800;
    color: #d6002b;          /* đổi #000 nếu muốn đen */
    margin-top: 8px;
    letter-spacing: -0.3px;
    display: flex;
    align-items: baseline;
    gap: 8px;
}
.sally-products .price ins {
    text-decoration: none;
    color: #d6002b;
    font-weight: 800;
    order: 1;
}
.sally-products .price del {
    color: #999;
    font-weight: 400;
    font-size: 13px;
    text-decoration: line-through;
    order: 2;
    opacity: 0.85;
}
.sally-products .price .amount { font-weight: inherit; }

/* === Badge "Sale" === */
.sally-products .badge-container { top: 10px !important; left: 10px !important; }
.sally-products .badge {
    background: #ed5454;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 999px;       /* pill */
    line-height: 1.2;
    box-shadow: 0 2px 6px rgba(214,0,43,0.25);
}
.sally-products .badge .badge-inner {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    color: inherit !important;
}
.sally-products .badge.onsale::after,
.sally-products .badge .badge-label::after { content: ""; }
.sally-products .badge.onsale .badge-inner::before { content: ""; }

/* Ẩn % giảm giá mặc định nếu Flatsome show, chỉ giữ chữ "Sale" */
.sally-products .badge.onsale .amount { display: none; }

/* Bỏ rating / category mặc định ở loop cho gọn */
.sally-products .category,
.sally-products .star-rating { display: none; }

.footer-wrapper .wpcf7-form-control.wpcf7-submit.has-spinner.button{
    font-size: 14px;
    background: #ed5454;
}

@media (max-width: 768px) {
    .sally-section-title { font-size: 18px !important; }
    .sally-products .box-image img { padding: 8px; }
}

/* ============================================================
   ÁP DỤNG SALLY STYLE CHO:
   - Trang danh mục sản phẩm (archive / product_cat)
   - Trang kết quả tìm kiếm sản phẩm
   - Section "Sản phẩm liên quan" / "Upsells" trong trang chi tiết sản phẩm
   ============================================================ */

/* Card sản phẩm */
body.tax-product_cat .products .product-small.box,
body.post-type-archive-product .products .product-small.box,
body.woocommerce.search-results .products .product-small.box,
body.single-product .related-products-wrapper .product-small.box,
body.single-product .up-sells .product-small.box,
body.single-product .cross-sells .product-small.box {
    text-align: left !important;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    padding: 14px;
    background: #fff;
}

/* Ẩn ảnh hover (back image) — chỉ giữ ảnh đầu */
body.tax-product_cat .products .box-image img:not(:first-of-type),
body.tax-product_cat .products .box-image .show-on-hover,
body.tax-product_cat .products .box-image .image-hover,
body.post-type-archive-product .products .box-image img:not(:first-of-type),
body.post-type-archive-product .products .box-image .show-on-hover,
body.post-type-archive-product .products .box-image .image-hover,
body.woocommerce.search-results .products .box-image img:not(:first-of-type),
body.woocommerce.search-results .products .box-image .show-on-hover,
body.woocommerce.search-results .products .box-image .image-hover,
body.single-product .related-products-wrapper .box-image img:not(:first-of-type),
body.single-product .related-products-wrapper .box-image .show-on-hover,
body.single-product .related-products-wrapper .box-image .image-hover,
body.single-product .up-sells .box-image img:not(:first-of-type),
body.single-product .up-sells .box-image .show-on-hover,
body.single-product .up-sells .box-image .image-hover {
    display: none !important;
}

/* Tắt animation ảnh chính */
body.tax-product_cat .products .box-image img:first-of-type,
body.post-type-archive-product .products .box-image img:first-of-type,
body.woocommerce.search-results .products .box-image img:first-of-type,
body.single-product .related-products-wrapper .box-image img:first-of-type,
body.single-product .up-sells .box-image img:first-of-type {
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
}

/* Ảnh trong khung xám bo tròn */
body.tax-product_cat .products .box-image,
body.post-type-archive-product .products .box-image,
body.woocommerce.search-results .products .box-image,
body.single-product .related-products-wrapper .box-image,
body.single-product .up-sells .box-image {
    background: #f5f5f5;
    border-radius: 12px;
    overflow: hidden;
    transition: background .2s;
}
body.tax-product_cat .products .box-image:hover,
body.post-type-archive-product .products .box-image:hover,
body.woocommerce.search-results .products .box-image:hover,
body.single-product .related-products-wrapper .box-image:hover,
body.single-product .up-sells .box-image:hover {
    background: #ececec;
}
body.tax-product_cat .products .box-image img,
body.post-type-archive-product .products .box-image img,
body.woocommerce.search-results .products .box-image img,
body.single-product .related-products-wrapper .box-image img,
body.single-product .up-sells .box-image img {
    mix-blend-mode: multiply;
    padding: 14px;
    box-sizing: border-box;
}

/* Ẩn image-tools overlay */
body.tax-product_cat .products .image-tools,
body.post-type-archive-product .products .image-tools,
body.woocommerce.search-results .products .image-tools,
body.single-product .related-products-wrapper .image-tools,
body.single-product .up-sells .image-tools {
    display: none;
}

/* Phần text dưới ảnh */
body.tax-product_cat .products .box-text,
body.post-type-archive-product .products .box-text,
body.woocommerce.search-results .products .box-text,
body.single-product .related-products-wrapper .box-text,
body.single-product .up-sells .box-text {
    padding-top: 14px;
    padding-left: 0;
    padding-right: 0;
}

/* Tên sản phẩm */
body.tax-product_cat .products .product-title,
body.tax-product_cat .products .name a,
body.post-type-archive-product .products .product-title,
body.post-type-archive-product .products .name a,
body.woocommerce.search-results .products .product-title,
body.woocommerce.search-results .products .name a,
body.single-product .related-products-wrapper .product-title,
body.single-product .related-products-wrapper .name a,
body.single-product .up-sells .product-title,
body.single-product .up-sells .name a {
    font-size: 14px;
    font-weight: 600;
    color: #000;
    text-transform: none;
    line-height: 1.35;
    letter-spacing: 0;
}
body.tax-product_cat .products .product-title:hover,
body.tax-product_cat .products .name a:hover,
body.post-type-archive-product .products .product-title:hover,
body.post-type-archive-product .products .name a:hover,
body.woocommerce.search-results .products .product-title:hover,
body.woocommerce.search-results .products .name a:hover,
body.single-product .related-products-wrapper .product-title:hover,
body.single-product .related-products-wrapper .name a:hover,
body.single-product .up-sells .product-title:hover,
body.single-product .up-sells .name a:hover {
    color: #d6002b;
}

/* Giá */
body.tax-product_cat .products .price,
body.post-type-archive-product .products .price,
body.woocommerce.search-results .products .price,
body.single-product .related-products-wrapper .price,
body.single-product .up-sells .price {
    font-size: 16px;
    font-weight: 800;
    color: #d6002b;
    margin-top: 8px;
    letter-spacing: -0.3px;
    display: flex;
    align-items: baseline;
    gap: 8px;
}
body.tax-product_cat .products .price ins,
body.post-type-archive-product .products .price ins,
body.woocommerce.search-results .products .price ins,
body.single-product .related-products-wrapper .price ins,
body.single-product .up-sells .price ins {
    text-decoration: none;
    color: #d6002b;
    font-weight: 800;
    order: 1;
}
body.tax-product_cat .products .price del,
body.post-type-archive-product .products .price del,
body.woocommerce.search-results .products .price del,
body.single-product .related-products-wrapper .price del,
body.single-product .up-sells .price del {
    color: #999;
    font-weight: 400;
    font-size: 13px;
    text-decoration: line-through;
    order: 2;
    opacity: 0.85;
}
body.tax-product_cat .products .price .amount,
body.post-type-archive-product .products .price .amount,
body.woocommerce.search-results .products .price .amount,
body.single-product .related-products-wrapper .price .amount,
body.single-product .up-sells .price .amount {
    font-weight: inherit;
}

/* Badge Sale */
body.tax-product_cat .products .badge-container,
body.post-type-archive-product .products .badge-container,
body.woocommerce.search-results .products .badge-container,
body.single-product .related-products-wrapper .badge-container,
body.single-product .up-sells .badge-container {
    top: 10px !important;
    left: 10px !important;
}
body.tax-product_cat .products .badge,
body.post-type-archive-product .products .badge,
body.woocommerce.search-results .products .badge,
body.single-product .related-products-wrapper .badge,
body.single-product .up-sells .badge {
    background: #ed5454;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 999px;
    line-height: 1.2;
    box-shadow: 0 2px 6px rgba(214,0,43,0.25);
}
body.tax-product_cat .products .badge .badge-inner,
body.post-type-archive-product .products .badge .badge-inner,
body.woocommerce.search-results .products .badge .badge-inner,
body.single-product .related-products-wrapper .badge .badge-inner,
body.single-product .up-sells .badge .badge-inner {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    color: inherit !important;
}
body.tax-product_cat .products .badge.onsale .amount,
body.post-type-archive-product .products .badge.onsale .amount,
body.woocommerce.search-results .products .badge.onsale .amount,
body.single-product .related-products-wrapper .badge.onsale .amount,
body.single-product .up-sells .badge.onsale .amount {
    display: none;
}

/* Ẩn rating / category cho gọn */
body.tax-product_cat .products .category,
body.tax-product_cat .products .star-rating,
body.post-type-archive-product .products .category,
body.post-type-archive-product .products .star-rating,
body.woocommerce.search-results .products .category,
body.woocommerce.search-results .products .star-rating,
body.single-product .related-products-wrapper .category,
body.single-product .related-products-wrapper .star-rating,
body.single-product .up-sells .category,
body.single-product .up-sells .star-rating {
    display: none;
}

.slider-nav-reveal .flickity-prev-next-button, .slider-nav-reveal .flickity-prev-next-button:hover {
    background-color: rgba(0,0,0,0) !important;
    box-shadow: 0 -150px 15px 0 rgba(0, 0, 0, 0) !important;
}

/* Mobile */
@media (max-width: 768px) {
    body.tax-product_cat .products .box-image img,
    body.post-type-archive-product .products .box-image img,
    body.woocommerce.search-results .products .box-image img,
    body.single-product .related-products-wrapper .box-image img,
    body.single-product .up-sells .box-image img {
        padding: 8px;
    }
}

/* ============================================================ */


/* ============================================================
   CATEGORY BANNER — đầu trang danh mục sản phẩm
   ============================================================ */

.mrd-category-banner {
    position: relative;
    width: 100%;
    height: 220px;
    overflow: hidden;
    margin-bottom: 28px;
}
.mrd-category-banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
.mrd-category-banner-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.15) 60%, transparent 100%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 40px;
}
.mrd-category-banner-overlay h1 {
    color: #fff;
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 6px;
    line-height: 1.2;
    letter-spacing: -0.4px;
}
.mrd-category-banner-overlay p {
    color: rgba(255,255,255,0.85);
    font-size: 14px;
    margin: 0;
    max-width: 400px;
    line-height: 1.5;
}

.ux-cart-coupon{
    margin-top: 15px;
}

@media (max-width: 768px) {
    .mrd-category-banner { height: 150px; }
    .mrd-category-banner-overlay { padding: 0 20px; }
    .mrd-category-banner-overlay h1 { font-size: 20px; }
}

/* ============================================================
   SIDEBAR WIDGETS — trang danh mục sản phẩm
   ============================================================ */

/* Ẩn is-divider trong sidebar */
#shop-sidebar .is-divider,
.woocommerce-sidebar .is-divider { display: none !important; }

/* Widget chung */
#shop-sidebar .widget,
.woocommerce-sidebar .widget {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 20px;
}

/* Tiêu đề widget */
#shop-sidebar .widget-title,
.woocommerce-sidebar .widget-title,
#shop-sidebar .widgettitle,
.woocommerce-sidebar .widgettitle {
    font-size: 14px !important;
    font-weight: 800 !important;
    color: #111 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 26px !important;
    padding-bottom: 22px;
}

/* --- Widget danh mục sản phẩm --- */
#shop-sidebar .woocommerce-widget-layered-nav-list,
#shop-sidebar .product-categories {
    list-style: none;
    margin: 0;
    padding: 0;
}
#shop-sidebar .woocommerce-widget-layered-nav-list li,
#shop-sidebar .product-categories li {
    margin: 0;
    padding: 0;
}
#shop-sidebar .woocommerce-widget-layered-nav-list li a,
#shop-sidebar .product-categories li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 10px;
    font-size: 13px;
    font-weight: 500;
    color: #333;
    text-decoration: none;
    border-radius: 6px;
    transition: background .15s, color .15s;
}
#shop-sidebar .woocommerce-widget-layered-nav-list li a:hover,
#shop-sidebar .product-categories li a:hover {
    background: #fef0f3;
    color: #d6002b;
}
#shop-sidebar .woocommerce-widget-layered-nav-list li.chosen a,
#shop-sidebar .product-categories li.current-cat > a {
    background: #fef0f3;
    color: #d6002b;
    font-weight: 700;
}
#shop-sidebar .woocommerce-widget-layered-nav-list .count,
#shop-sidebar .product-categories .count {
    font-size: 11px;
    color: #999;
    background: #f5f5f5;
    border-radius: 999px;
    padding: 2px 8px;
    font-weight: 600;
}
#shop-sidebar .woocommerce-widget-layered-nav-list li.chosen .count,
#shop-sidebar .product-categories li.current-cat > a .count {
    background: #fcd9e1;
    color: #d6002b;
}

/* Ẩn nút xóa filter mặc định (dấu ×) và thay bằng gọn hơn */
#shop-sidebar .woocommerce-widget-layered-nav-list li.chosen a::after {
    content: "×";
    font-size: 14px;
    color: #d6002b;
    margin-left: 4px;
}

/* --- Widget lọc theo giá --- */
#shop-sidebar .price_slider_wrapper {
    padding-top: 4px;
}
#shop-sidebar .price_slider {
    margin-bottom: 20px;
}

/* Track slider */
#shop-sidebar .ui-slider {
    background: #e5e5e5;
    border-radius: 999px;
    height: 4px;
    border: none;
    margin: 8px 0 20px;
}
#shop-sidebar .ui-slider .ui-slider-range {
    background: #d6002b;
    border-radius: 999px;
}
#shop-sidebar .ui-slider .ui-slider-handle {
    width: 16px;
    height: 16px;
    background: #fff;
    border: 2px solid #d6002b;
    border-radius: 50%;
    top: -6px;
    cursor: pointer;
    outline: none;
    transition: box-shadow .15s;
}
#shop-sidebar .ui-slider .ui-slider-handle:focus,
#shop-sidebar .ui-slider .ui-slider-handle:hover {
    box-shadow: 0 0 0 4px rgba(214,0,43,0.15);
}

/* Label giá */
#shop-sidebar .price_label {
    font-size: 13px;
    color: #555;
    margin-bottom: 12px;
    display: block !important;
}
#shop-sidebar .price_label .from,
#shop-sidebar .price_label .to {
    font-weight: 700;
    color: #d6002b;
}

/* Ẩn input text min/max (đã có label hiển thị) */
#shop-sidebar .price_slider_amount input[type="text"] {
    display: none;
}

/* Nút Filter */
#shop-sidebar .price_slider_amount .button {
    width: 100%;
    height: 38px;
    background: #d6002b !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    cursor: pointer;
    transition: background .2s;
    margin-top: 4px;
}
#shop-sidebar .price_slider_amount .button:hover {
    background: #a90022 !important;
}

/* ============================================================ */


/* ============================================================
   SINGLE PRODUCT PAGE — nội dung chi tiết sản phẩm
   ============================================================ */

/* --- Vùng tổng thể --- */
body.single-product .product-container {
    background: #fff;
}

/* --- Phần ảnh sản phẩm --- */
body.single-product .product-gallery {
    padding-right: 32px !important;
}
body.single-product .product-gallery .woocommerce-product-gallery {
    border-radius: 16px;
    overflow: hidden;
    background: #f7f7f7;
    border: 1.5px solid #e5e5e5;
}
body.single-product .product-gallery .woocommerce-product-gallery__image img {
    border-radius: 12px;
    mix-blend-mode: multiply;
}

/* Badge Sale trong gallery ảnh sản phẩm — đồng bộ với badge ở các trang khác */
body.single-product .product-gallery .badge-container {
    top: 10px !important;
    left: 10px !important;
}
body.single-product .product-gallery .badge {
    background: #ed5454;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 999px;
    line-height: 1.2;
    box-shadow: 0 2px 6px rgba(214,0,43,0.25);
}
body.single-product .product-gallery .badge .badge-inner {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    color: inherit !important;
}
body.single-product .product-gallery .badge.onsale .amount,
body.single-product .product-gallery .badge .badge-label::after {
    display: none;
}
body.single-product .product-gallery .product-thumbnails .col a {
    display: block;
    border-radius: 8px;
    border: 2px solid #e5e5e5;
    overflow: hidden;
    background: #f7f7f7;
    transition: border-color .2s;
    cursor: pointer;
    box-sizing: border-box;
}
body.single-product .product-gallery .product-thumbnails .col a img {
    display: block;
    width: 100%;
    mix-blend-mode: multiply;
    padding: 4px;
    box-sizing: border-box;
}
body.single-product .product-gallery .product-thumbnails .col.is-nav-selected a,
body.single-product .product-gallery .product-thumbnails .col a:hover {
    border-color: #ed5454;
}

/* --- Phần thông tin sản phẩm (bên phải) --- */
body.single-product .product-info .is-divider { display: none !important; }
body.single-product .product-info.entry-summary {
    padding-left: 12px !important;
    padding-top: 0 !important;
}

/* Tên sản phẩm */
body.single-product .product-info .product_title {
    font-size: 26px !important;
    font-weight: 800 !important;
    color: #111 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.4px;
    margin-bottom: 10px !important;
}

/* Rating */
body.single-product .product-info .woocommerce-product-rating {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}
body.single-product .product-info .star-rating {
    font-size: 14px;
    color: #f5a623;
}
body.single-product .product-info .woocommerce-review-link {
    font-size: 13px;
    color: #777;
    text-decoration: none;
}
body.single-product .product-info .woocommerce-review-link:hover {
    color: #d6002b;
}

/* Giá */
body.single-product .product-info .price-wrapper {
    background: #fafafa;
    border-left: 4px solid #d6002b;
    border-radius: 0 8px 8px 0;
    padding: 14px 18px;
    margin: 14px 0 18px;
}
body.single-product .product-info .product-page-price {
    margin: 0 !important;
    font-size: 28px !important;
    font-weight: 900 !important;
    color: #d6002b !important;
    letter-spacing: -0.5px;
    line-height: 1.15;
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 10px;
}
body.single-product .product-info .product-page-price ins {
    text-decoration: none;
    color: #d6002b;
    font-weight: 900;
    order: 1;
}
body.single-product .product-info .product-page-price del {
    color: #aaa;
    font-size: 16px;
    font-weight: 400;
    text-decoration: line-through;
    order: 2;
    opacity: 0.85;
}
body.single-product .product-info .product-page-price .amount {
    font-weight: inherit;
}

/* Mô tả ngắn */
body.single-product .product-info .product-short-description {
    font-size: 14px;
    color: #555;
    line-height: 1.7;
    margin-bottom: 20px;
    border-bottom: 1px solid #eee;
    padding-bottom: 20px;
}
body.single-product .product-info .product-short-description p {
    margin: 0 0 8px;
}
body.single-product .product-info .product-short-description p:last-child {
    margin-bottom: 0;
}

/* Add to cart */
body.single-product .product-info .cart {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}
body.single-product .product-info .cart .quantity {
    display: flex;
    align-items: center;
}
body.single-product .product-info .cart .qty {
    width: 60px;
    height: 46px;
    border: 1px solid #ddd;
    border-radius: 8px;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    background: #fff;
}
body.single-product .product-info .cart .single_add_to_cart_button {
    flex: 1;
    min-width: 160px;
    height: 46px;
    background: #d6002b !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    cursor: pointer;
    transition: background .2s, transform .1s;
    padding: 0 24px !important;
}
body.single-product .product-info .cart .single_add_to_cart_button:hover {
    background: #a90022 !important;
    transform: translateY(-1px);
}
body.single-product .product-info .cart .single_add_to_cart_button:active {
    transform: none;
}

/* Meta (SKU, danh mục, tags) */
body.single-product .product-info .product_meta {
    font-size: 13px;
    color: #666;
    line-height: 1.8;
    border-top: 0;
    padding-top: 10px;
    margin-top: 4px;
}
body.single-product .product-info .product_meta .sku_wrapper,
body.single-product .product-info .product_meta .posted_in,
body.single-product .product-info .product_meta .tagged_as {
    display: block;
    margin-bottom: 4px;
}
body.single-product .product-info .product_meta a {
    color: #333;
    text-decoration: none;
    font-weight: 600;
}
body.single-product .product-info .product_meta a:hover {
    color: #d6002b;
}

/* Chia sẻ */
body.single-product .product-info .product-share {
    margin-top: 16px;
}

/* Box cam kết sản phẩm */
body.single-product .mrd-assurance-box {
    margin-top: 16px;
    margin-bottom: 20px;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    padding: 14px 18px;
    background: #fafafa;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
body.single-product .mrd-assurance-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: #333;
    font-weight: 500;
    line-height: 1.4;
}
body.single-product .mrd-assurance-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    min-width: 22px;
    border-radius: 50%;
    background: #ed5454;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}

/* Ẩn avatar trong danh sách review */
body.single-product .woocommerce-Reviews .comment_container .avatar { display: none !important; }
body.single-product .woocommerce-Reviews .comment_container { padding-left: 0 !important; }

/* --- Tabs mô tả + đánh giá --- */
body.single-product .product-footer {
    margin-top: 48px;
    border-top: 2px solid #eee;
}
body.single-product .woocommerce-tabs.wc-tabs-wrapper {
    padding-top: 0;
}
body.single-product .woocommerce-tabs .wc-tabs {
    border-bottom: 2px solid #e5e5e5;
    display: flex;
    gap: 0;
    padding: 0;
    margin: 0;
    list-style: none;
}
body.single-product .woocommerce-tabs .wc-tabs li {
    margin: 0;
}
body.single-product .woocommerce-tabs .wc-tabs li a {
    display: block;
    padding: 14px 24px;
    font-size: 14px;
    font-weight: 700;
    color: #555;
    text-transform: none;
    border-bottom: 3px solid transparent;
    transition: color .2s, border-color .2s;
    text-decoration: none;
    letter-spacing: 0;
    margin-bottom: -2px;
}
body.single-product .woocommerce-tabs .wc-tabs li.active a,
body.single-product .woocommerce-tabs .wc-tabs li a:hover {
    color: #d6002b;
    border-bottom-color: #d6002b;
}
body.single-product .woocommerce-tabs .tab-panels {
    padding: 28px 0;
}
body.single-product .woocommerce-tabs .panel.active {
    font-size: 14px;
    color: #444;
    line-height: 1.75;
}
body.single-product .woocommerce-tabs .panel.active h2 {
    font-size: 18px;
    font-weight: 800;
    color: #111;
    margin-bottom: 14px;
}
body.single-product .woocommerce-tabs .panel.active table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}
body.single-product .woocommerce-tabs .panel.active table th,
body.single-product .woocommerce-tabs .panel.active table td {
    border: 1px solid #e5e5e5;
    padding: 10px 14px;
    text-align: left;
}
body.single-product .woocommerce-tabs .panel.active table th {
    background: #f7f7f7;
    font-weight: 700;
    color: #333;
    width: 30%;
}

.commentlist .review {
    margin-left: 0 !important;
}

.commentlist .comment-text{
    padding-left: 0 !important;
}

/* --- Responsive mobile --- */
@media (max-width: 768px) {
    body.single-product .product-gallery {
        padding-right: 0 !important;
        margin-bottom: 24px;
    }
    body.single-product .product-info .product_title {
        font-size: 20px !important;
    }
    body.single-product .product-info .product-page-price {
        font-size: 22px !important;
    }
    body.single-product .product-info .cart {
        flex-direction: column;
        align-items: stretch;
    }
    body.single-product .product-info .cart .single_add_to_cart_button {
        width: 100%;
    }
    body.single-product .woocommerce-tabs .wc-tabs li a {
        padding: 10px 14px;
        font-size: 13px;
    }
}

/* ============================================================ */


@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/


}

/* ============================================================
   BLOG — DANH SÁCH TIN TỨC
   ============================================================ */

#post-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    margin-bottom: 40px;
}

/* Card bài viết */
#post-list article {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 14px;
    overflow: hidden;
    transition: box-shadow .2s, transform .2s;
    display: flex;
    flex-direction: column;
}
#post-list article:hover {
    box-shadow: 0 8px 28px rgba(0,0,0,0.09);
    transform: translateY(-3px);
}
#post-list .article-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Ảnh thumbnail */
#post-list .entry-image {
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #f5f5f5;
}
#post-list .entry-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
    display: block;
}
#post-list article:hover .entry-image img {
    transform: scale(1.04);
}

/* Badge ngày */
#post-list .entry-post-date {
    position: absolute;
    bottom: 12px;
    left: 12px;
    background: #d6002b;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 999px;
    line-height: 1.4;
}

/* Header text (title + meta) */
#post-list .entry-header-text {
    padding: 18px 18px 0;
    text-align: left !important;
}

/* Category */
#post-list .entry-meta .cat-links,
#post-list .entry-meta .cat-links a {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: #d6002b;
    text-decoration: none;
}

/* Tiêu đề bài viết */
#post-list .entry-title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #111;
    line-height: 1.4;
    margin: 6px 0 10px !important;
}
#post-list .entry-title a {
    color: inherit;
    text-decoration: none;
}
#post-list .entry-title a:hover { color: #d6002b; }

/* Excerpt */
#post-list .entry-content {
    padding: 12px 18px 18px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}
#post-list .entry-summary p {
    font-size: 13px;
    color: #666;
    line-height: 1.65;
    margin: 0 0 14px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Nút Continue reading */
#post-list .more-link {
    display: inline-flex;
    align-items: center;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #d6002b !important;
    border-color: #d6002b !important;
    border-radius: 6px !important;
    padding: 6px 14px !important;
    text-transform: none !important;
    text-decoration: none;
    margin-top: auto;
    transition: background .2s, color .2s;
}
#post-list .more-link:hover {
    background: #d6002b !important;
    color: #fff !important;
}

/* Entry footer (category / tags) */
#post-list .entry-meta.clearfix {
    display: none;
}

/* Pagination */
.blog .pagination .page-numbers,
.archive .pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #555;
    text-decoration: none;
    border: 1px solid #e5e5e5;
    transition: background .15s, color .15s, border-color .15s;
    margin: 0 3px;
}
.blog .pagination .page-numbers.current,
.archive .pagination .page-numbers:hover {
    background: #d6002b;
    color: #fff;
    border-color: #d6002b;
}

@media (max-width: 900px) {
    #post-list { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}
@media (max-width: 600px) {
    #post-list { grid-template-columns: 1fr; gap: 16px; }
    #post-list .entry-title { font-size: 15px !important; }
}

/* ============================================================
   BLOG — CHI TIẾT TIN TỨC (SINGLE POST)
   ============================================================ */

.single-post .article-inner {
    max-width: 100%;
}

/* Featured image */
.single-post .entry-image {
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 32px;
    aspect-ratio: 16 / 7;
    background: #f5f5f5;
}
.single-post .entry-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Tiêu đề */
.single-post .entry-title {
    font-size: 32px !important;
    font-weight: 900 !important;
    color: #111;
    line-height: 1.25 !important;
    letter-spacing: -0.5px;
    margin: 0 0 16px !important;
    text-align: left !important;
}

/* Meta ngày / tác giả */
.single-post .entry-meta-top,
.single-post .entry-header-text .entry-meta {
    font-size: 13px;
    color: #888;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 24px;
}
.single-post .entry-meta-top a,
.single-post .entry-header-text .entry-meta a {
    color: #d6002b;
    font-weight: 600;
    text-decoration: none;
}

/* Nội dung bài viết */
.single-post .entry-content.single-page {
    font-size: 15px;
    color: #333;
    line-height: 1.85;
}
.single-post .entry-content.single-page h2,
.single-post .entry-content.single-page h3,
.single-post .entry-content.single-page h4 {
    font-weight: 800;
    color: #111;
    margin: 32px 0 12px;
    line-height: 1.3;
}
.single-post .entry-content.single-page h2 { font-size: 22px; }
.single-post .entry-content.single-page h3 { font-size: 18px; }
.single-post .entry-content.single-page h4 { font-size: 16px; }
.single-post .entry-content.single-page p { margin: 0 0 18px; }
.single-post .entry-content.single-page img {
    border-radius: 10px;
    max-width: 100%;
    height: auto;
}
.single-post .entry-content.single-page ul,
.single-post .entry-content.single-page ol {
    padding-left: 22px;
    margin-bottom: 18px;
}
.single-post .entry-content.single-page li { margin-bottom: 6px; }
.single-post .entry-content.single-page blockquote {
    border-left: 4px solid #d6002b;
    margin: 24px 0;
    padding: 14px 20px;
    background: #fafafa;
    border-radius: 0 8px 8px 0;
    font-style: italic;
    color: #555;
}
.single-post .entry-content.single-page a {
    color: #d6002b;
    text-decoration: underline;
}

/* Footer meta (category / tag) */
.single-post footer.entry-meta {
    margin-top: 32px;
    padding-top: 20px;
    border-top: 1px solid #eee;
    font-size: 13px;
    color: #777;
}
.single-post footer.entry-meta a {
    color: #d6002b;
    font-weight: 600;
    text-decoration: none;
}

/* Author box */
.single-post .entry-author {
    background: #fafafa;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    padding: 20px;
    margin-top: 32px;
}
.single-post .entry-author .author-name {
    font-size: 14px !important;
    font-weight: 800 !important;
    color: #111;
    text-transform: none !important;
    margin: 0 0 6px !important;
}
.single-post .entry-author .author-desc {
    font-size: 13px;
    color: #666;
    line-height: 1.6;
    margin: 0;
}
.single-post .entry-author .blog-author-image img {
    border-radius: 50%;
    width: 60px !important;
    height: 60px !important;
    object-fit: cover;
    border: 2px solid #e5e5e5;
}

/* Prev / Next navigation */
.single-post .nav-single {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid #eee;
}
.single-post .nav-single a {
    font-size: 13px;
    font-weight: 600;
    color: #333;
    text-decoration: none;
    flex: 1;
    padding: 12px 16px;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    transition: border-color .2s, color .2s;
    display: block;
}
.single-post .nav-single a:hover {
    border-color: #d6002b;
    color: #d6002b;
}
.single-post .nav-single .nav-next { text-align: right; }

@media (max-width: 768px) {
    .single-post .entry-title { font-size: 22px !important; }
    .single-post .entry-content.single-page { font-size: 14px; }
    .single-post .nav-single { flex-direction: column; }
}

/* ============================================================
   CHECKOUT STEPS BREADCRUMB
   ============================================================ */

.checkout-page-title {
    background: #fff;
    border-bottom: 2px solid #f0f0f0;
    padding: 0 !important;
    margin-bottom: 36px;
}
.checkout-page-title .page-title-inner {
    justify-content: center !important;
    padding: 0 !important;
    min-height: unset !important;
}

/* Nav wrapper */
.checkout-breadcrumbs {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

/* Mỗi bước */
.checkout-breadcrumbs a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 22px 28px;
    color: #bbb !important;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 600;
    border-bottom: 3px solid transparent;
    transition: color .2s, border-color .2s;
    white-space: nowrap;
}
.checkout-breadcrumbs a::before {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #ebebeb;
    color: #aaa;
    font-size: 12px;
    font-weight: 800;
    flex-shrink: 0;
    transition: background .2s, color .2s;
}

/* Số bước */
.checkout-breadcrumbs a:nth-child(1)::before { content: "1"; }
.checkout-breadcrumbs a:nth-child(3)::before { content: "2"; }
.checkout-breadcrumbs a:nth-child(5)::before { content: "3"; }

/* Bước đang active */
.checkout-breadcrumbs a.current {
    color: #111 !important;
    border-bottom-color: #d6002b;
}
.checkout-breadcrumbs a.current::before {
    background: #d6002b;
    color: #fff;
    box-shadow: 0 2px 8px rgba(214,0,43,0.3);
}

/* Divider */
.checkout-breadcrumbs .divider {
    color: #ddd !important;
    padding: 0 4px;
    display: inline-flex;
    align-items: center;
}
.checkout-breadcrumbs .divider svg,
.checkout-breadcrumbs .divider i {
    width: 16px !important;
    height: 16px !important;
}

@media (max-width: 768px) {
    .checkout-breadcrumbs a {
        padding: 16px 14px;
        font-size: 12px;
        gap: 7px;
    }
    .checkout-breadcrumbs a::before {
        width: 20px;
        height: 20px;
        font-size: 10px;
    }
}

/* ============================================================
   CART PAGE
   ============================================================ */

.woocommerce-cart .woocommerce {
    background: transparent;
}

/* Bảng giỏ hàng */
.woocommerce-cart .shop_table {
    border: 1px solid #e5e5e5 !important;
    border-radius: 12px;
    overflow: hidden;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    width: 100%;
}
.woocommerce-cart .shop_table thead tr {
    background: #f7f7f7;
}
.woocommerce-cart .shop_table thead th {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #555;
    padding: 14px 16px;
    border-bottom: 1px solid #e5e5e5 !important;
    white-space: nowrap;
}
.woocommerce-cart .shop_table tbody tr {
    border-bottom: 1px solid #f0f0f0;
    transition: background .15s;
}
.woocommerce-cart .shop_table tbody tr:hover {
    background: #fafafa;
}
.woocommerce-cart .shop_table td {
    padding: 16px !important;
    vertical-align: middle !important;
    border-top: 1px solid #f0f0f0 !important;
}

/* Ảnh sản phẩm trong cart */
.woocommerce-cart .product-thumbnail img {
    width: 72px !important;
    height: 72px !important;
    object-fit: cover;
    border-radius: 8px;
    background: #f5f5f5;
    mix-blend-mode: multiply;
    padding: 4px;
    box-sizing: border-box;
    border: 1px solid #e5e5e5;
}

/* Tên sản phẩm */
.woocommerce-cart .product-name a {
    font-size: 14px;
    font-weight: 600;
    color: #111;
    text-decoration: none;
}
.woocommerce-cart .product-name a:hover { color: #d6002b; }

/* Giá */
.woocommerce-cart .product-price .amount,
.woocommerce-cart .product-subtotal .amount {
    font-weight: 700;
    color: #111;
}
.woocommerce-cart .product-subtotal .amount {
    color: #d6002b;
}

/* Nút xóa */
.woocommerce-cart .product-remove a.remove {
    width: 28px;
    height: 28px;
    line-height: 28px;
    border-radius: 50%;
    background: #f5f5f5;
    color: #999 !important;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .15s, color .15s;
    text-decoration: none;
}
.woocommerce-cart .product-remove a.remove:hover {
    background: #fcd9e1;
    color: #d6002b !important;
}

/* Ô số lượng */
.woocommerce-cart .product-quantity .qty {
    width: 56px;
    height: 38px;
    border: 1px solid #ddd;
    border-radius: 6px;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
}

/* Nút Continue shopping + Update cart — đồng bộ kích thước */
.woocommerce-cart .button-continue-shopping,
.woocommerce-cart .actions .button[name="update_cart"] {
    height: 40px !important;
    line-height: 40px !important;
    padding: 0 18px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    border-radius: 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
}
.woocommerce-cart .button-continue-shopping {
    background: transparent !important;
    color: #555 !important;
    border: 1px solid #ddd !important;
}
.woocommerce-cart .button-continue-shopping:hover {
    border-color: #d6002b !important;
    color: #d6002b !important;
}
.woocommerce-cart .actions .button[name="update_cart"] {
    background: transparent !important;
    color: #555 !important;
    border: 1px solid #ddd !important;
}
.woocommerce-cart .actions .button[name="update_cart"]:hover {
    border-color: #d6002b !important;
    color: #d6002b !important;
}

/* Coupon */
.woocommerce-cart .coupon {
    background: #fafafa;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    padding: 16px;
    margin-bottom: 16px;
}
.woocommerce-cart .coupon .widget-title {
    font-size: 13px !important;
    font-weight: 700 !important;
    margin: 0 0 10px !important;
    color: #333;
    border: none !important;
    padding: 0 !important;
    text-transform: none;
}
.woocommerce-cart .coupon input.input-text {
    height: 40px;
    border-radius: 6px;
    border: 1px solid #ddd;
    font-size: 13px;
    padding: 0 12px;
}
.woocommerce-cart .coupon .button {
    height: 40px;
    background: #111 !important;
    color: #fff !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    border: none !important;
    padding: 0 18px !important;
}
.woocommerce-cart .coupon .button:hover { background: #333 !important; }

/* Cart totals sidebar */
.woocommerce-cart .cart_totals {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    padding: 24px;
}
.woocommerce-cart .cart_totals h2 {
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #111;
    margin: 0 0 16px !important;
    padding-bottom: 12px;
    border-bottom: 2px solid #f0f0f0;
}
.woocommerce-cart .cart_totals .shop_table {
    border: none !important;
    border-radius: 0 !important;
}
.woocommerce-cart .cart_totals .shop_table th,
.woocommerce-cart .cart_totals .shop_table td {
    padding: 10px 0 !important;
    border: none !important;
    border-bottom: 1px solid #f0f0f0 !important;
    font-size: 13px;
}
.woocommerce-cart .cart_totals .shop_table th {
    color: #555;
    font-weight: 600;
}
.woocommerce-cart .cart_totals .order-total .amount {
    font-size: 20px;
    font-weight: 900;
    color: #d6002b;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    display: block;
    width: 100%;
    height: 48px;
    line-height: 48px;
    background: #d6002b !important;
    color: #fff !important;
    border-radius: 8px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: none !important;
    text-align: center;
    border: none !important;
    margin-top: 16px;
    transition: background .2s;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
    background: #a90022 !important;
}

/* ============================================================
   CHECKOUT PAGE
   ============================================================ */

.woocommerce-checkout .woocommerce {
    background: transparent;
}

/* Ẩn shipping fields wrapper khi không có fields */
.woocommerce-checkout .woocommerce-shipping-fields { display: none !important; }

/* Ẩn box Additional information */
.woocommerce-checkout .woocommerce-additional-fields { display: none !important; }

/* Ép street address full width dù WooCommerce gán form-row-first */
.woocommerce-checkout #billing_address_1_field {
    width: 100% !important;
    clear: both;
}

/* Form sections */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 20px;
}
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #111;
    margin: 0 0 18px !important;
    padding-bottom: 12px;
    border-bottom: 2px solid #f0f0f0;
    text-transform: none;
}

/* Input fields */
.woocommerce-checkout .input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
    height: 42px !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    padding: 0 12px !important;
    color: #333;
    background: #fff;
    transition: border-color .15s;
}
.woocommerce-checkout textarea {
    height: auto !important;
    padding: 12px !important;
    resize: vertical;
}
.woocommerce-checkout .input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
    border-color: #d6002b !important;
    outline: none;
    box-shadow: 0 0 0 3px rgba(214,0,43,0.08);
}
.woocommerce-checkout label {
    font-size: 13px;
    font-weight: 600;
    color: #444;
    margin-bottom: 5px;
    display: block;
}

/* Order review */
.woocommerce-checkout #order_review_heading {
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #111;
    margin: 0 0 18px !important;
    padding-bottom: 12px;
    border-bottom: 2px solid #f0f0f0;
    text-transform: none;
}
.woocommerce-checkout #order_review {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    padding: 24px;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: collapse;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
    padding: 10px 0;
    border-bottom: 1px solid #f0f0f0;
    font-size: 13px;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table th {
    font-weight: 700;
    color: #555;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total .amount {
    font-size: 18px;
    font-weight: 900;
    color: #d6002b;
}

/* Payment box */
.woocommerce-checkout #payment {
    background: #fafafa;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    padding: 20px;
    margin-top: 16px;
}
.woocommerce-checkout #payment .payment_methods li {
    border-bottom: 1px solid #f0f0f0;
    padding: 10px 0;
    font-size: 13px;
}
.woocommerce-checkout #payment .payment_methods li:last-child { border: none; }
.woocommerce-checkout #payment .place-order {
    padding: 0;
    margin-top: 16px;
}
.woocommerce-checkout #payment #place_order {
    width: 100%;
    height: 50px;
    background: #d6002b !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: none !important;
    cursor: pointer;
    transition: background .2s;
}
.woocommerce-checkout #payment #place_order:hover { background: #a90022 !important; }

/* ============================================================
   ORDER COMPLETE (Thank You)
   ============================================================ */

.woocommerce-order {
    max-width: 860px;
    margin: 0 auto;
}

/* Notice thành công */
.woocommerce-thankyou-order-received {
    background: #f0faf4;
    border: 1.5px solid #1f8a4c;
    border-radius: 10px;
    padding: 16px 20px !important;
    font-size: 15px !important;
    color: #1f8a4c !important;
    margin-bottom: 24px !important;
}

/* Box chi tiết đơn hàng */
.woocommerce-order .is-well {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    padding: 24px;
}
.woocommerce-order-overview {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}
.woocommerce-order-overview li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #f0f0f0;
    font-size: 13px;
    color: #555;
}
.woocommerce-order-overview li:last-child { border: none; }
.woocommerce-order-overview li strong {
    color: #111;
    font-weight: 700;
}
.woocommerce-order-overview .total strong .amount {
    color: #d6002b;
    font-size: 16px;
}

/* Chi tiết sản phẩm trong đơn hàng */
.woocommerce-order .woocommerce-table--order-details {
    width: 100%;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    overflow: hidden;
    border-collapse: separate;
    border-spacing: 0;
    margin-top: 24px;
}
.woocommerce-order .woocommerce-table--order-details thead th {
    background: #f7f7f7;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #555;
    padding: 12px 16px;
    border-bottom: 1px solid #e5e5e5;
}
.woocommerce-order .woocommerce-table--order-details tbody td,
.woocommerce-order .woocommerce-table--order-details tfoot th,
.woocommerce-order .woocommerce-table--order-details tfoot td {
    padding: 12px 16px;
    border-bottom: 1px solid #f0f0f0;
    font-size: 13px;
}
.woocommerce-order .woocommerce-table--order-details tfoot .order-total .amount {
    font-size: 16px;
    font-weight: 900;
    color: #d6002b;
}

/* Địa chỉ billing/shipping */
.woocommerce-order .woocommerce-customer-details address {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    padding: 18px 20px;
    font-size: 13px;
    line-height: 1.7;
    color: #444;
    font-style: normal;
}

#order_comments_field{
    margin-top: 15px;
}

.category-blog .entry-divider, .category-blog .entry-meta{
    display: none;
}

.top-link, #top-link{
	display: none !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.single-product #ppc-button-ppcp-gateway, .woocommerce-cart #ppc-button-ppcp-gateway{
    display: none !important;   
}

.woocommerce-customer-details .woocommerce-column--shipping-address{
    display: none !important;
}

/* ============================================================
   RESPONSIVE MOBILE — Cart / Checkout / Order
   ============================================================ */

@media (max-width: 768px) {
    /* Cart */
    .woocommerce-cart .shop_table thead { display: none; }
    .woocommerce-cart .shop_table td {
        display: block;
        padding: 8px 12px !important;
        border-top: none !important;
        border-bottom: none !important;
    }
    .woocommerce-cart .shop_table tr {
        display: block;
        border: 1px solid #e5e5e5;
        border-radius: 10px;
        margin-bottom: 12px;
        padding: 8px;
        background: #fff;
    }
    .woocommerce-cart .shop_table td::before {
        content: attr(data-title) ": ";
        font-weight: 700;
        font-size: 12px;
        color: #888;
        text-transform: uppercase;
        letter-spacing: 0.3px;
    }
    .woocommerce-cart .product-thumbnail,
    .woocommerce-cart .product-remove { display: inline-block; }
    .woocommerce-cart .cart_totals { margin-top: 20px; }

    /* Checkout */
    .woocommerce-checkout .woocommerce-billing-fields,
    .woocommerce-checkout .woocommerce-shipping-fields,
    .woocommerce-checkout .woocommerce-additional-fields,
    .woocommerce-checkout #order_review {
        padding: 16px;
        border-radius: 10px;
    }
    .woocommerce-checkout .col2-set .col-1,
    .woocommerce-checkout .col2-set .col-2 {
        width: 100% !important;
        float: none !important;
    }

    /* Order complete */
    .woocommerce-order .large-7,
    .woocommerce-order .large-5 {
        width: 100% !important;
    }
    .woocommerce-order .is-well { padding: 16px; }
}