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

:root {
    --c-primary: var(--primary-color, #009b91);
    --c-primary-dark: var(--fs-color-secondary, #007d75);
    --c-primary-soft: rgba(0, 155, 145, 0.08);
    --c-focus-ring: rgba(0, 155, 145, 0.1);
    --c-info: #3b82f6;
    --c-rating: #fbbf24;
    --c-offer-member-bg: #e8efff;
    --c-offer-member-text: #334ca1;
    --c-offer-special-bg: #eee8ff;
    --c-offer-special-text: #5940a8;
    --c-offer-neutral: #f3f4f6;
    --c-error: #d70018;
    --c-danger: #d42a1f;
    --c-black: #000;
    --c-white: #fff;
    --c-product-text: #1d1d20;
    --c-ink: #18181b;
    --c-heading: #171717;
    --c-article-text: #27272a;
    --c-text: #262626;
    --c-text-soft: #333;
    --c-text-secondary: #3f3f46;
    --c-table-text: #52525b;
    --c-muted-strong: #71717a;
    --c-muted: #737373;
    --c-muted-soft: #a1a1aa;
    --c-muted-light: #a3a3a3;
    --c-gray: #aaa;
    --c-gallery-border: #d1d5db;
    --c-placeholder: #e8eaed;
    --c-border-neutral: #e4e4e7;
    --c-border-subtle: #eeeeef;
    --c-border: #e5e5e5;
    --c-border-soft: #f1f1f1;
    --c-border-strong: #d4d4d4;
    --c-border-cool: #e5e7eb;
    --c-primary-pale: #f0fdfa;
    --c-product-bg: #f6f6f7;
    --c-table-bg: #f0f0f1;
    --c-surface-muted: #f4f4f5;
    --c-bg: #fafafa;
    --c-bg-soft: #f5f5f5;
    --c-bg-alt: #f2f2f3;
    --c-panel: #eff5ff;
    --c-tab: #f7f7f8;
    --c-link: #1e97ee;
    --category-desc-collapsed-height: clamp(540px, 55vw, 700px);
    --content-width: min(90%, 1020px);
    --category-desc-padding: clamp(8px, 1.4vw, 16px);
    --space-xs: clamp(4px, 0.5vw, 6px);
    --size-xs: clamp(8px, 0.8vw, 10px);
    --size-sm: clamp(10px, 1vw, 12px);
    --size-md: clamp(12px, 1.3vw, 16px);
    --space-panel: clamp(10px, 1.4vw, 16px);
    --space-lg: clamp(12px, 1.5vw, 18px);
    --space-xl: clamp(14px, 1.5vw, 20px);
    --space-2xl: clamp(18px, 2vw, 26px);
    --space-page: clamp(14px, 2.2vw, 25px);
    --radius-section: clamp(12px, 1.3vw, 16px);
    --radius-panel: clamp(14px, 1.6vw, 20px);
    --radius-card: clamp(10px, 1.2vw, 15px);
    --radius-media: clamp(8px, 1vw, 12px);
    --radius-xs: clamp(4px, 0.5vw, 6px);
    --radius-sm: clamp(6px, 0.7vw, 8px);
    --radius-control: clamp(7px, 0.7vw, 9px);
    --radius-gallery: clamp(12px, 1.3vw, 15px);
    --radius-lg: clamp(12px, 1.2vw, 16px);
    --font-page-title: clamp(27px, 3.3vw, 44px);
    --font-section-title: clamp(23px, 2.7vw, 36px);
    --font-card-title: clamp(16px, 1.5vw, 20px);
    --font-description: clamp(14px, 1.2vw, 16px);
    --font-content-h1: clamp(22px, 2.2vw, 25px);
    --font-content-h2: clamp(18px, 1.8vw, 21px);
    --font-content-h3: clamp(15px, 1.4vw, 17px);
    --font-content-h4: clamp(14px, 1.25vw, 16px);
    --font-table: clamp(12px, 1.05vw, 14px);
    --font-compact: clamp(12px, 1.1vw, 14px);
    --font-caption: clamp(11px, 1vw, 13px);
    --font-xs: clamp(11px, 0.95vw, 12px);
    --font-sm: clamp(13px, 1.05vw, 14px);
    --icon-sm: clamp(12px, 1.2vw, 16px);
    --icon-rating: clamp(14px, 1.3vw, 18px);
    --size-toggle: clamp(28px, 2.5vw, 30px);
    --control-compact: clamp(30px, 2.8vw, 36px);
    --control-size: clamp(36px, 3.5vw, 42px);
    --shadow-panel: 0 1px 2px rgba(60, 64, 67, 0.04), 0 8px 28px rgba(60, 64, 67, 0.1);
    --shadow-panel-hover: 0 4px 10px rgba(60, 64, 67, 0.06), 0 16px 42px rgba(60, 64, 67, 0.14);
    --shadow-card: 0 1px 2px rgba(60, 64, 67, 0.05), 0 2px 14px rgba(60, 64, 67, 0.1);
    --tab-shape-width: clamp(26px, 3vw, 36px);

    --about-eyebrow-size: clamp(11px, 1vw, 13px);
    --about-hero-title-size: clamp(31px, 4.2vw, 58px);
    --about-title-size: clamp(25px, 3vw, 40px);
    --about-card-title-size: clamp(17px, 1.6vw, 21px);
    --about-description-size: clamp(14px, 1.2vw, 16px);

    --about-shadow: 0 1px 2px rgba(60, 64, 67, 0.04), 0 10px 35px rgba(60, 64, 67, 0.1);

    --about-shadow-hover: 0 4px 10px rgba(60, 64, 67, 0.06), 0 18px 45px rgba(60, 64, 67, 0.14);

    --about-gradient: linear-gradient(
        135deg,
        var(--c-primary-pale) 0%,
        var(--c-white) 55%,
        rgba(0, 155, 145, 0.06) 100%
    );
}

.header-category-overlay {
    --header-category-top: 90px;
    --header-category-space: clamp(7px, 0.8vw, 11px);
    --header-category-height: clamp(430px, 44vw, 500px);
    --header-category-width: clamp(220px, 19vw, 250px);

    position: fixed;
    z-index: 998;

    top: var(--header-category-top);
    right: 0;
    bottom: 0;
    left: 0;

    visibility: hidden;
    opacity: 0;
    pointer-events: none;

    transition:
        visibility 0.2s ease,
        opacity 0.2s ease;
}

/* =========================================================
   DESKTOP - CHUYỂN MAX MEGA MENU THÀNH MENU DỌC
========================================================= */

@media (min-width: 850px) {
    /*
     * Wrapper do Max Mega Menu sinh ra.
     */

    .home-category-menu #mega-menu-wrap-primary {
        position: relative;
        z-index: 50;

        width: 100% !important;
        height: 100% !important;
        min-height: 0;

        background: transparent;
        border-radius: inherit;

        overflow: visible;
    }

    /*
     * UL cấp cao nhất: ép từ horizontal thành vertical.
     */

    .home-category-menu #mega-menu-wrap-primary #mega-menu-primary {
        position: relative;

        display: flex;
        flex-direction: column;
        align-items: stretch;

        width: 100%;
        height: 100%;
        min-height: 0;
        padding: clamp(5px, 0.6vw, 8px) 0;

        list-style: none;
        border-radius: inherit;

        overflow: visible;
    }

    /*
     * Item cấp 1.
     * position: static để mọi panel bắt đầu từ đầu khung menu.
     */

    .home-category-menu #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item {
        position: static;

        display: block;
        float: none;
        flex: 0 0 auto;

        width: 100%;
        max-width: none;
        height: auto;
    }

    /* =====================================================
       LINK DANH MỤC CẤP 1
    ====================================================== */

    .home-category-menu #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
        position: relative;
        height: auto;
        line-height: 1;
        align-items: center;
        display: flex;

        gap: clamp(7px, 0.8vw, 10px);

        width: 100%;
        padding: clamp(7px, 0.8vw, 10px) clamp(11px, 1.2vw, 15px);

        font-size: var(--font-sm, clamp(12px, 1vw, 14px)) !important;
        transition:
            color 0.18s ease,
            background-color 0.18s ease;
    }

    /*
     * Material Symbols của Max Mega Menu.
     */

    .home-category-menu
        #mega-menu-wrap-primary
        #mega-menu-primary
        > li.mega-menu-item
        > a.mega-material-symbol::before {
        flex: 0 0 auto;

        width: clamp(16px, 1.8vw, 20px);

        color: var(--primary-color);
        font-weight: 400;

        font-size: clamp(16px, 1.8vw, 20px);
        text-align: center;

        transition: color 0.18s ease;
    }

    /*
     * Mũi tên cấp 1: tự vẽ mũi tên hướng sang phải.
     */

    .home-category-menu
        #mega-menu-wrap-primary
        #mega-menu-primary
        > li.mega-menu-item-has-children
        > a.mega-menu-link
        > .mega-indicator {
        position: relative;
        flex: 0 0 auto;
        width: clamp(12px, 1.4vw, 14px);
        margin-right: 0;
        margin-left: auto;
    }

    .home-category-menu
        #mega-menu-wrap-primary
        #mega-menu-primary
        > li.mega-menu-item-has-children
        > a.mega-menu-link
        > .mega-indicator::after {
        transform: rotate(270deg);
    }

    /*
     * Hover, menu đang mở và menu hiện tại.
     */

    .home-category-menu #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item:hover > a.mega-menu-link,
    .home-category-menu #mega-menu-wrap-primary #mega-menu-primary > li.mega-toggle-on > a.mega-menu-link,
    .home-category-menu #mega-menu-wrap-primary #mega-menu-primary > li.mega-current-menu-item > a.mega-menu-link,
    .home-category-menu #mega-menu-wrap-primary #mega-menu-primary > li.mega-current-menu-ancestor > a.mega-menu-link {
        color: var(--category-primary);
        background-color: var(--category-primary-soft);
    }

    .home-category-menu
        #mega-menu-wrap-primary
        #mega-menu-primary
        > li.mega-menu-item:hover
        > a.mega-material-symbol::before,
    .home-category-menu
        #mega-menu-wrap-primary
        #mega-menu-primary
        > li.mega-toggle-on
        > a.mega-material-symbol::before {
        color: var(--category-primary);
    }

    .home-category-menu
        #mega-menu-wrap-primary
        #mega-menu-primary
        > li.mega-toggle-on
        > a.mega-menu-link
        > .mega-indicator::after {
        color: var(--category-primary);
        transform: rotate(90deg) !important;
    }

    /*
     * Bo góc đúng cho dòng đầu và dòng cuối.
     */

    .home-category-menu #mega-menu-wrap-primary #mega-menu-primary > li:first-child > a.mega-menu-link {
        border-radius: calc(var(--category-radius) - 2px) calc(var(--category-radius) - 2px) 0 0;
    }

    .home-category-menu #mega-menu-wrap-primary #mega-menu-primary > li:last-child > a.mega-menu-link {
        border-radius: 0 0 calc(var(--category-radius) - 2px) calc(var(--category-radius) - 2px);
    }

    /* =====================================================
       PANEL CẤP 2 MỞ SANG BÊN PHẢI

       Áp dụng cho cả:
       - Mega Menu - Standard Layout
       - Flyout Menu
    ====================================================== */

    .home-category-menu #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item-has-children > ul.mega-sub-menu {
        z-index: 100;
        top: -1px;
        left: calc(100% + var(--category-panel-gap));

        display: block !important;
        column-count: 3;
        column-width: clamp(150px, 16vw, 240px);
        column-gap: var(--category-column-gap);
        column-fill: balance;

        float: none !important;
        width: clamp(620px, 68vw, 960px) !important;
        max-width: calc(100vw - clamp(280px, 28vw, 370px)) !important;
        height: auto;
        min-height: calc(100% + 2px);
        max-height: calc(100vh - var(--header-category-top, 80px) - clamp(18px, 2vw, 28px));

        margin: 0 !important;
        padding: var(--category-panel-padding) !important;

        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;

        color: var(--category-text);
        background-color: var(--category-background) !important;
        border: 1px solid var(--category-border) !important;
        border-radius: var(--category-radius) !important;
        box-shadow:
            0 1px 2px rgba(60, 64, 67, 0.05),
            0 3px 14px rgba(60, 64, 67, 0.12) !important;

        overflow-x: hidden;
        overflow-y: auto;

        transform: translateX(clamp(4px, 0.5vw, 8px)) !important;
        transition:
            opacity 0.18s ease,
            visibility 0.18s ease,
            transform 0.18s ease !important;
    }

    /*
     * Max Mega Menu Free tự thêm .mega-toggle-on
     * theo Hover Intent. Chỉ trạng thái này được mở panel.
     */

    .home-category-menu
        #mega-menu-wrap-primary
        #mega-menu-primary
        > li.mega-menu-item-has-children.mega-toggle-on
        > ul.mega-sub-menu {
        z-index: 110;

        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;

        transform: translateX(0) !important;
    }

    /*
     * Tạo cầu nối trong khoảng trống giữa menu trái và panel,
     * tránh panel đóng khi rê chuột sang phải.
     */

    .home-category-menu
        #mega-menu-wrap-primary
        #mega-menu-primary
        > li.mega-menu-item-has-children.mega-toggle-on::after {
        content: "";

        position: absolute;
        z-index: 105;
        top: 0;
        left: 100%;

        width: var(--category-panel-gap);
        height: 100%;
    }

    /* =====================================================
       SCROLLBAR PANEL
    ====================================================== */

    .home-category-menu #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item-has-children > ul.mega-sub-menu {
        scrollbar-width: thin;
        scrollbar-color: #a1a1aa transparent;
    }

    .home-category-menu
        #mega-menu-wrap-primary
        #mega-menu-primary
        > li.mega-menu-item-has-children
        > ul.mega-sub-menu::-webkit-scrollbar {
        width: 5px;
    }

    .home-category-menu
        #mega-menu-wrap-primary
        #mega-menu-primary
        > li.mega-menu-item-has-children
        > ul.mega-sub-menu::-webkit-scrollbar-track {
        background-color: transparent;
    }

    .home-category-menu
        #mega-menu-wrap-primary
        #mega-menu-primary
        > li.mega-menu-item-has-children
        > ul.mega-sub-menu::-webkit-scrollbar-thumb {
        background-color: #a1a1aa;
        border-radius: 10px;
    }

    /* =====================================================
       CỘT / NHÓM CẤP 2
    ====================================================== */

    /*
     * Gỡ width 2/6 do plugin sinh ra.
     * Grid mới tự chia đúng 3 cột.
     */

    .home-category-menu
        #mega-menu-wrap-primary
        #mega-menu-primary
        > li.mega-menu-item-has-children
        > ul.mega-sub-menu
        > li.mega-menu-item {
        position: relative;
        display: inline-block !important;
        vertical-align: top;

        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        height: auto !important;

        margin: 0 0 var(--category-row-gap) !important;
        padding: 0 !important;

        background: transparent !important;
        border: 0 !important;

        break-inside: avoid;
        break-inside: avoid-column;
        -webkit-column-break-inside: avoid;
    }

    /*
     * Tiêu đề nhóm cấp 2 có menu con.
     */

    .home-category-menu
        #mega-menu-wrap-primary
        #mega-menu-primary
        > li.mega-menu-item-has-children
        > ul.mega-sub-menu
        > li.mega-menu-item-has-children
        > a.mega-menu-link {
        display: flex !important;
        align-items: center;
        gap: 5px;

        width: fit-content !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 0 clamp(8px, 1vw, 12px) !important;
        padding: 0 !important;

        color: var(--category-heading) !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;

        font-family: inherit !important;
        font-size: clamp(13px, 1.15vw, 15px) !important;
        line-height: 1.35 !important;
        font-weight: 700 !important;
        text-transform: none !important;
        letter-spacing: 0 !important;
        white-space: normal !important;
    }

    .home-category-menu
        #mega-menu-wrap-primary
        #mega-menu-primary
        > li.mega-menu-item-has-children
        > ul.mega-sub-menu
        > li.mega-menu-item-has-children
        > a.mega-menu-link:hover {
        color: var(--category-primary) !important;
    }

    /*
     * Menu cấp 3 luôn hiển thị, nên ẩn indicator cấp 2.
     */

    .home-category-menu
        #mega-menu-wrap-primary
        #mega-menu-primary
        > li.mega-menu-item-has-children
        > ul.mega-sub-menu
        > li.mega-menu-item-has-children
        > a.mega-menu-link
        > .mega-indicator {
        display: none !important;
    }

    /*
     * Cấp 2 không có menu con: hiển thị như thẻ.
     */

    .home-category-menu
        #mega-menu-wrap-primary
        #mega-menu-primary
        > li.mega-menu-item-has-children
        > ul.mega-sub-menu
        > li.mega-menu-item:not(.mega-menu-item-has-children)
        > a.mega-menu-link {
        display: flex !important;
        align-items: center;

        width: 100% !important;
        height: auto !important;
        min-height: clamp(34px, 3.2vw, 40px) !important;
        margin: 0 !important;
        padding: clamp(6px, 0.7vw, 8px) clamp(9px, 1vw, 12px) !important;

        color: var(--category-text) !important;
        background-color: #fff !important;

        border: 1px solid var(--category-border) !important;
        border-radius: clamp(5px, 0.6vw, 7px) !important;

        font-family: inherit !important;
        font-size: clamp(11px, 1vw, 13px) !important;
        line-height: 1.3 !important;
        font-weight: 500 !important;
        text-transform: none !important;
        white-space: normal !important;

        transition:
            color 0.18s ease,
            border-color 0.18s ease,
            background-color 0.18s ease,
            transform 0.18s ease !important;
    }

    .home-category-menu
        #mega-menu-wrap-primary
        #mega-menu-primary
        > li.mega-menu-item-has-children
        > ul.mega-sub-menu
        > li.mega-menu-item:not(.mega-menu-item-has-children)
        > a.mega-menu-link:hover {
        color: var(--category-primary) !important;
        background-color: #f0fdfa !important;
        border-color: var(--category-primary) !important;

        transform: translateY(-1px);
    }

    /* =====================================================
       MENU CẤP 3 - CHIP
    ====================================================== */

    /*
     * Gỡ kiểu flyout mặc định của plugin.
     */

    .home-category-menu
        #mega-menu-wrap-primary
        #mega-menu-primary
        > li.mega-menu-item-has-children
        > ul.mega-sub-menu
        > li.mega-menu-item-has-children
        > ul.mega-sub-menu {
        position: static;

        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        gap: var(--category-chip-gap);
    }

    .home-category-menu
        #mega-menu-wrap-primary
        #mega-menu-primary
        > li.mega-menu-item-has-children
        > ul.mega-sub-menu
        > li.mega-menu-item-has-children
        > ul.mega-sub-menu
        > li.mega-menu-item {
        position: static !important;

        display: flex !important;
        float: none !important;
        flex: 0 0 auto;

        width: auto !important;
        min-width: 0 !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;

        background: transparent !important;
        border: 0 !important;
    }

    .home-category-menu
        #mega-menu-wrap-primary
        #mega-menu-primary
        > li.mega-menu-item-has-children
        > ul.mega-sub-menu
        > li.mega-menu-item-has-children
        > ul.mega-sub-menu
        > li.mega-menu-item
        > a.mega-menu-link {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;

        width: auto !important;
        height: auto !important;
        min-height: clamp(31px, 3vw, 38px) !important;
        margin: 0 !important;
        padding: clamp(5px, 0.6vw, 7px) clamp(8px, 0.9vw, 12px) !important;

        color: var(--category-text) !important;
        background-color: #fff !important;

        border: 1px solid var(--category-border) !important;
        border-radius: clamp(5px, 0.6vw, 7px) !important;

        font-family: inherit !important;
        font-size: clamp(11px, 1vw, 13px) !important;
        line-height: 1.25 !important;
        font-weight: 500 !important;
        text-align: center;
        text-transform: none !important;
        white-space: normal !important;

        transition:
            color 0.18s ease,
            background-color 0.18s ease,
            border-color 0.18s ease,
            transform 0.18s ease !important;
    }

    .home-category-menu
        #mega-menu-wrap-primary
        #mega-menu-primary
        > li.mega-menu-item-has-children
        > ul.mega-sub-menu
        > li.mega-menu-item-has-children
        > ul.mega-sub-menu
        > li.mega-menu-item
        > a.mega-menu-link:hover {
        color: var(--category-primary) !important;
        background-color: #f0fdfa !important;
        border-color: var(--category-primary) !important;

        transform: translateY(-1px);
    }
}

.single-product .product-info.summary .woocommerce-variation-add-to-cart {
    display: block;
    width: 100%;
}

.single-product .product-page-sections > .product-section:first-child .entry-content center {
    position: relative;

    display: block;

    width: 100%;
    aspect-ratio: 16 / 9;

    margin: clamp(14px, 1.6vw, 20px) 0;

    background-color: #000;
    border-radius: var(--detail-radius-small);

    overflow: hidden;
}

.single-product .product-page-sections > .product-section:first-child .entry-content center iframe {
    position: absolute;
    inset: 0;

    display: block;

    width: 100% !important;
    height: 100% !important;

    margin: 0;
    border: 0;
}

/* =========================================================
   KHỐI THÔNG SỐ KỸ THUẬT
========================================================= */

.single-product .product-page-sections > .product-section:has(.yikes-custom-woo-tab-title) .panel.entry-content {
    width: 100%;
    margin: 0;
    padding: var(--detail-padding);

    color: var(--detail-text);
    background-color: var(--detail-white);

    border: 1px solid #eeeeef;
    border-radius: var(--detail-radius);

    overflow: hidden;
}

/* Tiêu đề thông số */

.single-product .product-page-sections .yikes-custom-woo-tab-title {
    display: none;
}

/* Mô tả phụ bên trên bảng */

.single-product .product-page-sections .product-section:has(.yikes-custom-woo-tab-title) .entry-content > p {
    margin: 0 0 clamp(10px, 1.2vw, 14px);

    color: var(--detail-muted);

    font-size: clamp(12px, 1vw, 14px);
    line-height: 1.5;
}

/* =========================================================
   BẢNG THÔNG SỐ KỸ THUẬT
========================================================= */

.single-product .product-page-sections .product-section:has(.yikes-custom-woo-tab-title) .entry-content table {
    display: block;

    width: 100%;
    margin: 0;

    background-color: var(--detail-white);
    border: 1px solid var(--detail-border);
    border-radius: clamp(9px, 0.9vw, 12px);
    border-spacing: 0;

    overflow-x: auto;
    overflow-y: hidden;
}

.single-product .product-page-sections .product-section:has(.yikes-custom-woo-tab-title) .entry-content table tbody {
    display: table;

    width: 100%;
    border-collapse: collapse;
}

.single-product .product-page-sections .product-section:has(.yikes-custom-woo-tab-title) .entry-content table td {
    padding: clamp(9px, 1vw, 12px) clamp(10px, 1.2vw, 16px);

    color: #52525b;
    background-color: var(--detail-white);

    border: 0;
    border-bottom: 1px solid var(--detail-border);

    font-size: clamp(12px, 1vw, 14px);
    line-height: 1.45;
    font-weight: 400;
    text-align: left;
    vertical-align: middle;
}

.single-product
    .product-page-sections
    .product-section:has(.yikes-custom-woo-tab-title)
    .entry-content
    table
    tr:last-child
    td {
    border-bottom: 0;
}

.single-product
    .product-page-sections
    .product-section:has(.yikes-custom-woo-tab-title)
    .entry-content
    table
    td:first-child {
    width: clamp(125px, 32%, 185px);

    color: #52525b;
    background-color: #f0f0f1;

    border-right: 1px solid var(--detail-border);
}

.single-product
    .product-page-sections
    .product-section:has(.yikes-custom-woo-tab-title)
    .entry-content
    table
    td
    strong {
    color: inherit;
    font-weight: 500;
}

/* Danh sách bên trong ô */

.single-product .product-page-sections .product-section:has(.yikes-custom-woo-tab-title) .entry-content table ul {
    margin: 0;
    padding-left: 18px;
}

.single-product .product-page-sections .product-section:has(.yikes-custom-woo-tab-title) .entry-content table li {
    margin: 0 0 4px;

    color: #52525b;

    font-size: inherit;
    line-height: 1.45;
}

.single-product
    .product-page-sections
    .product-section:has(.yikes-custom-woo-tab-title)
    .entry-content
    table
    li:last-child {
    margin-bottom: 0;
}

/* =========================================================
   PRODUCT REVIEWS – FLATSOME
========================================================= */

.single-product .product-page-sections > .product-section:has(#reviews) {
    width: 100%;
    margin-top: clamp(4px, 1vw, 12px);
    padding: var(--detail-padding);

    color: var(--detail-text);
    background-color: var(--detail-white);

    border: 1px solid #eeeeef;
    border-radius: var(--detail-radius);

    overflow: hidden;
}

/* Xóa định dạng panel mặc định */

.single-product .product-section:has(#reviews) .panel.entry-content {
    width: 100%;
    padding-top: 0;
}

@media (min-width: 850px) {
    .single-product .product-page-sections > .product-section:has(.yikes-custom-woo-tab-title) {
        position: sticky;
        top: clamp(80px, 8vw, 110px);

        grid-column: 2;
        grid-row: 1;

        align-self: start;
    }
}

.shop-container .term-description {
    display: none;
}

/* =========================================================
   THU GỌN MÔ TẢ DANH MỤC
========================================================= */

.product-category-description {
    --category-description-limit: clamp(420px, 48vw, 560px);
}

/* Bình thường không giới hạn nội dung */

.product-category-description__content {
    position: relative;

    width: 100%;
    max-height: none;

    overflow: visible;

    transition: max-height 0.35s ease;
}

/* Chỉ thu gọn khi JS xác nhận nội dung dài */

.product-category-description.is-collapsible:not(.is-expanded) .product-category-description__content {
    max-height: var(--category-description-limit);

    overflow: hidden;
}

/* Khi mở rộng */

.product-category-description.is-expanded .product-category-description__content {
    max-height: none;
    overflow: visible;
}

/* Ẩn footer thật sự khi nội dung ngắn */

.product-category-description__footer[hidden] {
    display: none !important;
}

/* Footer xem thêm */

.product-category-description__footer {
    position: relative;

    display: flex;
    align-items: flex-end;
    justify-content: center;

    min-height: clamp(62px, 7vw, 82px);
    margin-top: clamp(-62px, -5vw, -48px);
    padding-top: clamp(32px, 4vw, 48px);

    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0),
        rgba(255, 255, 255, 0.92) 42%,
        var(--c-white, #fff) 72%
    );

    pointer-events: none;
}

/* Khi mở rộng thì bỏ lớp gradient phủ */

.product-category-description.is-expanded .product-category-description__footer {
    min-height: auto;
    margin-top: 10px;
    padding-top: 0;

    background: transparent;
}

/* Nút xem thêm */

.product-category-description__toggle {
    position: relative;
    z-index: 2;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;

    min-height: 36px;
    margin: 0;
    padding: 5px clamp(18px, 2vw, 24px);

    color: var(--c-primary, #009b91);
    background-color: var(--c-white, #fff);

    border: 1px solid var(--c-border-neutral, #e4e4e7);

    border-radius: 999px;

    box-shadow: 0 2px 8px rgba(60, 64, 67, 0.1);

    font-size: clamp(12px, 1vw, 14px);
    line-height: 1;
    font-weight: 600;
    text-transform: none;

    cursor: pointer;
    pointer-events: auto;
}

.mega-menu-description {
    display: none !important;
}

/* Xoay mũi tên khi mở */

.product-category-description__toggle svg {
    transition: transform 0.25s ease;
}

.product-category-description.is-expanded .product-category-description__toggle svg {
    transform: rotate(180deg);
}
.animate-scroll-left-infinite {
    animation: scroll-left 20s linear infinite;
}
.gap-6 {
    gap: calc(0.25rem * 6);
}
.gap-1 {
    gap: 0.25rem;
}
.whitespace-nowrap {
    white-space: nowrap;
}
.overflow-x-auto {
    overflow-x: auto;
}
.flex {
    display: flex;
}
.scrollbar-none {
    scrollbar-width: none;
}

.contact-btn-list {
    width: 100%;
}

a.account-link {
    background-color: #ffc210;
    border: 0px;
    text-transform: capitalize;
    font-weight: 500;
}

a.header-cart-link {
    border: 0px;
    text-transform: capitalize;
    font-weight: 500;
}

#header-contact img {
    width: 16px;
    margin-right: 6px;
}

@keyframes scroll-left {
    0% {
        transform: translate(0);
    }
    to {
        transform: translate(calc(-50% - 12px));
    }
}

.footer.footer-1 {
    border-top: 0px;
    background-color: unset;
}

.footer-bottom__row .col {
    padding-bottom: 0;
}

.footer .col.widget {
    margin-bottom: 0;
    padding-left: 0;
    padding-right: 0;
}

.section-header .sendora-product-reviews__title.section-title::after {
    display: none;
}

/* =========================================================
   DANH SÁCH DANH MỤC ẢNH
   Tự xuống dòng, không cuộn ngang
========================================================= */

#shop-sidebar .product-category-image-widget__list {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: clamp(8px, 0.9vw, 12px);

    width: 100%;

    list-style: none;

    overflow: visible;
}

/* =========================================================
   TỪNG DANH MỤC
========================================================= */

#shop-sidebar .product-category-image-widget__item {
    display: flex;
    flex: 1 1 clamp(160px, 18vw, 200px);

    width: auto;
    min-width: min(100%, 160px);
    max-width: clamp(190px, 22vw, 230px);
    background: transparent;
}

/* Xóa đường phân cách của Flatsome */

#shop-sidebar .product-category-image-widget__item + .product-category-image-widget__item {
    border-top: 0 !important;
}

/* =========================================================
   THẺ DANH MỤC DẠNG NGANG
========================================================= */

#shop-sidebar .product-category-image-widget__link {
    position: relative;

    display: flex;
    flex: 1;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: clamp(8px, 0.8vw, 11px);

    width: 100%;
    padding: clamp(7px, 0.8vw, 10px);

    color: var(--c-ink, #18181b);
    background-color: var(--c-tab, #f7f7f8);
    border: 1px solid transparent;
    border-radius: clamp(12px, 1.2vw, 16px);
    overflow: hidden;
    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}

/* =========================================================
   ẢNH DANH MỤC BÊN TRÁI
========================================================= */

#shop-sidebar .product-category-image-widget__image {
    display: flex;
    flex: 0 0 clamp(54px, 5vw, 66px);
    align-items: center;
    justify-content: center;

    width: clamp(54px, 5vw, 66px);
    height: clamp(54px, 5vw, 66px);

    margin: 0;

    background-color: var(--c-white, #fff);
    border-radius: clamp(8px, 0.8vw, 10px);

    overflow: hidden;
}

/* Ảnh thật và placeholder */

#shop-sidebar .product-category-image-widget__thumbnail {
    display: block;

    margin: 0;
    padding: clamp(2px, 0.3vw, 4px);

    object-fit: contain;
    object-position: center;

    border-radius: inherit;

    transition:
        opacity 0.2s ease,
        transform 0.25s ease;
}

/* =========================================================
   TÊN DANH MỤC BÊN PHẢI
========================================================= */

#shop-sidebar .product-category-image-widget__content {
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: flex-start;

    width: auto;
    min-width: 0;
}

#shop-sidebar .product-category-image-widget__name {
    display: -webkit-box;

    width: 100%;
    margin: 0;

    color: inherit;

    font-size: clamp(12px, 1vw, 13px);
    line-height: 1.4;
    font-weight: 600;
    text-align: left;

    overflow: hidden;
    overflow-wrap: anywhere;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

/* =========================================================
   HOVER
========================================================= */

@media (hover: hover) {
    #shop-sidebar .product-category-image-widget__link:hover {
        color: var(--c-primary, #009b91);
        background-color: var(--c-primary-pale, #f0fdfa);
        border-color: rgba(0, 155, 145, 0.22);

        box-shadow:
            0 2px 5px rgba(60, 64, 67, 0.05),
            0 5px 14px rgba(60, 64, 67, 0.08);

        transform: translateY(-2px);
    }

    #shop-sidebar .product-category-image-widget__link:hover .product-category-image-widget__thumbnail {
        transform: scale(1.06);
    }
}

/* =========================================================
   DANH MỤC ĐANG ĐƯỢC CHỌN
========================================================= */

#shop-sidebar .product-category-image-widget__item.current-cat > .product-category-image-widget__link,
#shop-sidebar .product-category-image-widget__item.current-cat-parent > .product-category-image-widget__link {
    color: var(--c-primary, #009b91);
    background-color: var(--c-primary-pale, #f0fdfa);
    border-color: var(--c-primary, #009b91);

    box-shadow: 0 0 0 2px var(--c-focus-ring, rgba(0, 155, 145, 0.1));
}

/* =========================================================
   TÌM KIẾM SẢN PHẨM
========================================================= */

#shop-sidebar .widget_search {
    width: 100%;
    margin: 0 0 clamp(18px, 2vw, 26px) !important;
    padding: 0;

    background: transparent;
    border: 0;
    box-shadow: none;
}

/* Tiêu đề tìm kiếm */

#shop-sidebar .widget_search > .widget-title {
    display: block;

    margin: 0 0 clamp(11px, 1vw, 14px);
    padding: 0;

    color: var(--c-ink, #18181b);

    font-size: clamp(18px, 1.6vw, 21px);
    line-height: 1.35;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0;
}

#shop-sidebar .widget_search > .is-divider {
    display: none;
}

/* Form */

#shop-sidebar .widget_search .searchform {
    position: relative;

    width: 100%;
    margin: 0;
}

/* Khung tìm kiếm giống nút bộ lọc */

#shop-sidebar .widget_search .searchform > .flex-row {
    display: flex;
    align-items: stretch;

    width: 100%;
    height: clamp(42px, 4vw, 46px);

    background-color: var(--c-surface-muted, #f4f4f5);
    border: 1px solid transparent;
    border-radius: clamp(8px, 0.8vw, 10px);

    overflow: hidden;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

/* Focus */

#shop-sidebar .widget_search .searchform > .flex-row:focus-within {
    background-color: var(--c-white, #fff);
    border-color: var(--c-primary, #009b91);

    box-shadow: 0 0 0 3px var(--c-focus-ring, rgba(0, 155, 145, 0.1));
}

/* Input */

#shop-sidebar .widget_search .search-field {
    width: 100%;
    height: 100%;

    margin: 0 !important;
    padding: 0 clamp(12px, 1.2vw, 15px);

    color: var(--c-ink, #18181b);
    background: transparent;

    border: 0 !important;
    border-radius: 0;

    box-shadow: none !important;
    outline: none !important;

    font-size: var(--font-sm, 14px);
    line-height: normal;
    font-weight: 400;
}

#shop-sidebar .widget_search .search-field::placeholder {
    color: var(--c-muted-strong, #71717a);
    opacity: 1;
}

/* Nút tìm kiếm */

#shop-sidebar .widget_search .ux-search-submit {
    display: flex;
    align-items: center;
    justify-content: center;

    width: clamp(42px, 4vw, 46px);
    min-width: clamp(42px, 4vw, 46px);
    height: 100%;
    min-height: 0;

    margin: 0 !important;
    padding: 0 !important;

    color: var(--c-primary, #009b91);
    background: transparent;

    border: 0 !important;
    border-left: 1px solid var(--c-border-neutral, #e4e4e7) !important;
    border-radius: 0;

    box-shadow: none !important;
    text-shadow: none;

    transition:
        color 0.2s ease,
        background-color 0.2s ease;
}

#shop-sidebar .widget_search .ux-search-submit:hover {
    color: var(--c-white, #fff);
    background-color: var(--c-primary, #009b91);
}

#shop-sidebar .widget_search .ux-search-submit::before,
#shop-sidebar .widget_search .ux-search-submit::after {
    display: none;
}

#shop-sidebar .widget_search .ux-search-submit i {
    color: inherit;
    font-size: clamp(16px, 1.5vw, 19px);
}

/* =========================================================
   LIVE SEARCH
========================================================= */

#shop-sidebar .widget_search .live-search-results {
    position: relative;
    z-index: 100;

    width: 100%;
}

#shop-sidebar .widget_search .autocomplete-suggestions {
    top: clamp(7px, 0.8vw, 10px) !important;
    right: 0;
    left: 0 !important;

    width: 100% !important;
    max-height: clamp(250px, 40vh, 350px) !important;

    padding: 5px;

    background-color: var(--c-white, #fff);
    border: 1px solid var(--c-border-neutral, #e4e4e7);
    border-radius: clamp(8px, 0.8vw, 10px);

    box-shadow: 0 8px 24px rgba(24, 24, 27, 0.14);

    overflow-x: hidden;
    overflow-y: auto;
}

/* Từng kết quả tìm kiếm */

#shop-sidebar .widget_search .autocomplete-suggestion {
    padding: clamp(7px, 0.7vw, 9px);

    color: var(--c-ink, #18181b);
    background-color: var(--c-white, #fff);
    border-radius: var(--radius-sm, 8px);
}

#shop-sidebar .widget_search .autocomplete-suggestion:hover,
#shop-sidebar .widget_search .autocomplete-selected {
    background-color: var(--c-primary-soft, rgba(0, 155, 145, 0.08));
}

/* =========================================================
   MINI CART TRÊN HEADER
========================================================= */

/* Khung dropdown giỏ hàng */

.header .cart-item .nav-dropdown,
.header .cart-item .nav-dropdown-default {
    background-color: var(--c-white, #fff);

    /* Bỏ toàn bộ viền mặc định của Flatsome */
    border: 0 !important;
    border-radius: var(--radius-card, 15px);

    box-shadow:
        0 8px 24px rgba(24, 24, 27, 0.1),
        0 3px 8px rgba(24, 24, 27, 0.06);
}

/* Bỏ màu viền tam giác phía trên */

.header .cart-item .nav-dropdown::before,
.header .cart-item .nav-dropdown::after {
    border-bottom-color: var(--c-white, #fff) !important;
}

/* Xóa padding của li mặc định */

/* Nội dung mini cart */

.header .cart-item .widget_shopping_cart_content {
    width: 100%;

    background-color: var(--c-white, #fff);
    border-radius: inherit;

    overflow: hidden;
}

/* =========================================================
   GIỎ HÀNG TRỐNG
========================================================= */

.header .cart-item .ux-mini-cart-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(10px, 1vw, 14px);

    width: 100%;
    min-height: clamp(235px, 22vw, 275px);
    padding: clamp(22px, 2.4vw, 32px) !important;

    color: var(--c-ink, #18181b);
    background-color: var(--c-white, #fff);

    text-align: center;
}

/* =========================================================
   ICON GIỎ HÀNG TRỐNG
========================================================= */

.header .cart-item .ux-mini-cart-empty-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: clamp(76px, 7vw, 88px);
    height: clamp(76px, 7vw, 88px);

    margin: 0 0 clamp(2px, 0.3vw, 4px);

    color: var(--c-primary, #009b91);
    background-color: var(--c-primary-soft, rgba(0, 155, 145, 0.08));

    border-radius: 50%;
}

/* Ghi đè inline opacity và height của SVG */

.header .cart-item .ux-mini-cart-empty-icon svg {
    display: block;

    width: clamp(42px, 4vw, 52px) !important;
    height: clamp(48px, 4.5vw, 58px) !important;

    color: inherit;

    opacity: 1 !important;
}

/* =========================================================
   THÔNG BÁO GIỎ HÀNG TRỐNG
========================================================= */

.header .cart-item .woocommerce-mini-cart__empty-message {
    margin: 0 !important;

    color: var(--c-text-secondary, #3f3f46);

    font-size: var(--font-sm, 14px);
    line-height: 1.5;
    font-weight: 600;
    text-align: center;
}

/* =========================================================
   NÚT QUAY LẠI SHOP
========================================================= */

.header .cart-item .return-to-shop {
    width: 100%;
    margin: clamp(4px, 0.5vw, 7px) 0 0 !important;
}

.header .cart-item .return-to-shop .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: var(--control-size, 42px);

    margin: 0 !important;
    padding: clamp(8px, 0.8vw, 10px) clamp(14px, 1.4vw, 18px);

    color: var(--c-white, #fff);
    background-color: var(--c-primary, #009b91);

    border: 0 !important;
    border-radius: var(--radius-control, 9px);

    box-shadow: none;
    text-shadow: none;

    font-size: var(--font-sm, 14px);
    line-height: 1.2;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0;

    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.header .cart-item .return-to-shop .button:hover {
    color: var(--c-white, #fff);
    background-color: var(--c-primary-dark, #007d75);

    box-shadow: 0 5px 14px rgba(0, 155, 145, 0.2);

    transform: translateY(-1px);
}

.header .cart-item .return-to-shop .button:active {
    box-shadow: none;
    transform: translateY(0);
}

/* =========================================================
   SHOP FILTER TOOLBAR
   Chỉ áp dụng bộ lọc giá và bộ lọc thuộc tính
========================================================= */

#shop-sidebar .shop-filter-toolbar {
    position: relative;
    z-index: 30;

    width: 100%;
    margin: clamp(18px, 2vw, 26px) 0;

    overflow: visible;
}

/* Tiêu đề Chọn theo tiêu chí */

#shop-sidebar .shop-filter-toolbar__title {
    margin: 0 0 clamp(12px, 1.2vw, 16px);

    color: var(--c-ink, #18181b);

    font-size: clamp(18px, 1.6vw, 21px);
    line-height: 1.35;
    font-weight: 700;
}

/* Danh sách nút filter */

#shop-sidebar .shop-filter-toolbar__controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: clamp(7px, 0.8vw, 10px);

    width: 100%;

    overflow: visible;
}

/* =========================================================
   TỪNG WIDGET FILTER
========================================================= */

#shop-sidebar .shop-filter-control {
    position: relative;

    display: block;
    flex: 0 0 auto;

    width: auto;
    margin: 0 !important;
    padding: 0 !important;

    background: transparent;
    border: 0;
    box-shadow: none;

    overflow: visible;
}

/* Ẩn divider của riêng các filter */

#shop-sidebar .shop-filter-control > .is-divider {
    display: none !important;
}

/* =========================================================
   NÚT MỞ FILTER
========================================================= */

#shop-sidebar .shop-filter-control > .widget-title {
    position: relative;

    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: clamp(5px, 0.6vw, 8px);

    width: auto;
    min-width: 0;
    min-height: clamp(38px, 3.7vw, 42px);

    margin: 0 !important;
    padding: clamp(7px, 0.75vw, 9px) clamp(34px, 3.2vw, 40px) clamp(7px, 0.75vw, 9px) clamp(11px, 1.1vw, 15px);

    color: var(--c-product-text, #1d1d20);
    background-color: var(--c-bg-alt, #f2f2f3);

    border: 0;
    border-radius: var(--radius-control, 9px);

    font-size: var(--font-sm, 14px);
    line-height: 1.2;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
    white-space: nowrap;

    cursor: pointer;
    user-select: none;

    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        box-shadow 0.2s ease;
}

#shop-sidebar .shop-filter-control > .widget-title:hover {
    background-color: var(--c-border-neutral, #e4e4e7);
}

/* Icon giá */

#shop-sidebar .shop-filter-title-icon {
    flex: 0 0 auto;

    width: clamp(17px, 1.6vw, 19px);
    height: clamp(17px, 1.6vw, 19px);

    margin-left: 0;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Mũi tên */

#shop-sidebar .shop-filter-title-arrow {
    position: absolute;
    top: 50%;
    right: clamp(11px, 1vw, 14px);

    width: clamp(13px, 1.2vw, 15px);
    height: clamp(13px, 1.2vw, 15px);

    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;

    transform: translateY(-50%);
    transform-origin: center;

    transition: transform 0.2s ease;
}

/* Khi đang mở */

#shop-sidebar .shop-filter-control.is-open > .widget-title {
    color: var(--c-primary, #009b91);
    background-color: var(--c-primary-soft, rgba(0, 155, 145, 0.08));

    box-shadow: inset 0 0 0 1px var(--c-primary, #009b91);
}

#shop-sidebar .shop-filter-control.is-open > .widget-title .shop-filter-title-arrow {
    transform: translateY(-50%) rotate(180deg);
}

/* Filter đang có lựa chọn */

#shop-sidebar .shop-filter-control.has-selection > .widget-title {
    color: var(--c-primary, #009b91);
    background-color: var(--c-primary-pale, #f0fdfa);

    box-shadow: inset 0 0 0 1px var(--c-primary, #009b91);

    font-weight: 600;
}

/* =========================================================
   PANEL DROPDOWN CHUNG
========================================================= */

#shop-sidebar .shop-filter-control > .shop-filter-panel {
    position: absolute !important;
    z-index: 1000;
    top: calc(100% + clamp(8px, 0.8vw, 11px));
    left: 0;

    display: block !important;

    width: min(clamp(270px, 31vw, 360px), calc(100vw - 24px));
    max-height: min(430px, 56vh);

    margin: 0 !important;
    padding: clamp(12px, 1.3vw, 16px) !important;

    visibility: hidden;
    opacity: 0;
    pointer-events: none;

    background-color: var(--c-white, #fff);

    border: 1px solid var(--c-border-subtle, #eeeeef);
    border-radius: var(--radius-card, 15px);

    box-shadow:
        0 8px 28px rgba(24, 24, 27, 0.14),
        0 2px 8px rgba(24, 24, 27, 0.06);

    overflow-x: hidden;
    overflow-y: auto;

    transform: translateY(6px);

    transition:
        visibility 0.2s ease,
        opacity 0.2s ease,
        transform 0.2s ease;
}

/* Panel nằm sát bên phải màn hình */

#shop-sidebar .shop-filter-control > .shop-filter-panel--right {
    right: 0;
    left: auto;
}

/* Hiện panel */

#shop-sidebar .shop-filter-control.is-open > .shop-filter-panel {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;

    transform: translateY(0);
}

/* Mũi nhọn trên panel */

#shop-sidebar .shop-filter-control > .shop-filter-panel::before {
    content: "";

    position: absolute;
    top: -7px;
    left: 24px;

    width: 14px;
    height: 14px;

    background-color: var(--c-white, #fff);
    border-top: 1px solid var(--c-border-subtle, #eeeeef);
    border-left: 1px solid var(--c-border-subtle, #eeeeef);

    transform: rotate(45deg);
}

#shop-sidebar .shop-filter-control > .shop-filter-panel--right::before {
    right: 24px;
    left: auto;
}

/* Thanh cuộn panel */

#shop-sidebar .shop-filter-panel::-webkit-scrollbar {
    width: 6px;
}

#shop-sidebar .shop-filter-panel::-webkit-scrollbar-track {
    background: transparent;
}

#shop-sidebar .shop-filter-panel::-webkit-scrollbar-thumb {
    background-color: var(--c-border-strong, #d4d4d4);
    border-radius: 99px;
}

/* =========================================================
   FILTER THUỘC TÍNH: ĐỘNG CƠ, MÀU...
========================================================= */

#shop-sidebar .shop-filter-control.widget_layered_nav > .shop-filter-panel {
    display: flex !important;
    flex-wrap: wrap;
    align-content: flex-start;
    gap: clamp(7px, 0.8vw, 10px);
}

/* Từng lựa chọn */

#shop-sidebar .shop-filter-control .woocommerce-widget-layered-nav-list__item {
    display: inline-flex;
    align-items: center;
    gap: 3px;

    width: auto;
    margin: 0 !important;
    padding: 0;

    color: var(--c-ink, #18181b);
    background-color: var(--c-tab, #f7f7f8);

    border: 1px solid var(--c-border-neutral, #e4e4e7) !important;
    border-radius: 999px;

    overflow: hidden;

    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease;
}

#shop-sidebar .shop-filter-control .woocommerce-widget-layered-nav-list__item a {
    display: inline-flex;
    align-items: center;

    padding: clamp(6px, 0.65vw, 8px) 4px clamp(6px, 0.65vw, 8px) clamp(10px, 1vw, 13px);

    color: inherit;

    font-size: var(--font-sm, 14px);
    line-height: 1.2;
    font-weight: 500;
    text-decoration: none;

    white-space: nowrap;
}

/* Số lượng sản phẩm */

#shop-sidebar .shop-filter-control .woocommerce-widget-layered-nav-list__item .count {
    padding-right: clamp(9px, 0.9vw, 12px);

    color: var(--c-muted-strong, #71717a);

    font-size: var(--font-xs, 12px);
    line-height: 1;
}

/* Hover lựa chọn */

#shop-sidebar .shop-filter-control .woocommerce-widget-layered-nav-list__item:hover {
    color: var(--c-primary, #009b91);
    background-color: var(--c-primary-pale, #f0fdfa);
    border-color: rgba(0, 155, 145, 0.35) !important;
}

/* Lựa chọn đang active */

#shop-sidebar .shop-filter-control .woocommerce-widget-layered-nav-list__item.chosen,
#shop-sidebar .shop-filter-control .woocommerce-widget-layered-nav-list__item--chosen {
    color: var(--c-primary, #009b91);
    background-color: var(--c-primary-pale, #f0fdfa);
    border-color: var(--c-primary, #009b91) !important;
}

/* =========================================================
   PRICE FILTER
========================================================= */

#shop-sidebar .shop-filter-control.widget_price_filter > .shop-filter-panel {
    width: min(clamp(290px, 32vw, 350px), calc(100vw - 24px));
}

#shop-sidebar .shop-filter-control .price_slider_wrapper {
    width: 100%;
}

/* Thanh trượt */

#shop-sidebar .shop-filter-control .price_slider {
    position: relative;

    height: 5px !important;
    margin: clamp(10px, 1vw, 13px) 9px clamp(24px, 2.2vw, 30px) !important;

    background-color: var(--c-border-neutral, #e4e4e7) !important;
    border: 0 !important;
    border-radius: 99px !important;

    box-shadow: none !important;
}

/* Phần khoảng giá đang chọn */

#shop-sidebar .shop-filter-control .price_slider .ui-slider-range {
    height: 100%;

    background-color: var(--c-primary, #009b91) !important;
    border-radius: inherit;
}

/* Hai nút kéo */

#shop-sidebar .shop-filter-control .price_slider .ui-slider-handle {
    top: 50% !important;

    width: clamp(17px, 1.7vw, 20px) !important;
    height: clamp(17px, 1.7vw, 20px) !important;

    margin-top: 0;
    margin-left: -9px !important;

    background-color: var(--c-white, #fff) !important;

    border: 3px solid var(--c-primary, #009b91) !important;
    border-radius: 50% !important;

    box-shadow: 0 2px 6px rgba(24, 24, 27, 0.16) !important;

    transform: translateY(-50%);

    cursor: grab;
}

#shop-sidebar .shop-filter-control .price_slider .ui-slider-handle:active {
    cursor: grabbing;
}

/* Khối giá và nút áp dụng */

#shop-sidebar .shop-filter-control .price_slider_amount {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: clamp(9px, 1vw, 12px);

    width: 100%;

    text-align: left;
}

/* Nhãn khoảng giá */

#shop-sidebar .shop-filter-control .price_slider_amount .price_label {
    order: 1;

    width: 100%;
    margin: 0;

    color: var(--c-text-secondary, #3f3f46);

    font-size: var(--font-sm, 14px);
    line-height: 1.4;
    font-weight: 500;
    text-align: left;
}

#shop-sidebar .shop-filter-control .price_slider_amount .price_label .from,
#shop-sidebar .shop-filter-control .price_slider_amount .price_label .to {
    color: var(--c-primary, #009b91);
    font-weight: 700;
}

/* Nút áp dụng */

#shop-sidebar .shop-filter-control .price_slider_amount .button {
    order: 2;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: clamp(38px, 3.8vw, 42px);

    margin: 0 !important;
    padding: clamp(8px, 0.8vw, 10px) clamp(14px, 1.4vw, 18px);

    color: var(--c-white, #fff);
    background-color: var(--c-primary, #009b91);

    border: 0 !important;
    border-radius: var(--radius-control, 9px);

    box-shadow: none;
    text-shadow: none;

    font-size: var(--font-sm, 14px);
    line-height: 1.2;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0;

    transition:
        background-color 0.2s ease,
        transform 0.2s ease;
}

#shop-sidebar .shop-filter-control .price_slider_amount .button:hover {
    background-color: var(--c-primary-dark, #007d75);
    transform: translateY(-1px);
}

#shop-sidebar .shop-filter-control .price_slider_amount .clear {
    display: none;
}

/* =========================================================
   CAM KẾT SẢN PHẨM
========================================================= */

.single-product .product-commitments {
    --commitment-gap: clamp(8px, 1vw, 10px);
    --commitment-card-height: clamp(10px, 16vw, 120px);

    width: 100%;
    min-width: 0;

    margin-top: clamp(16px, 2vw, 22px);
    margin-bottom: clamp(10px, 1.5vw, 16px);
}

.single-product .product-commitments__title {
    margin: 0 0 clamp(10px, 1.2vw, 14px);

    color: var(--c-ink, #18181b);

    font-size: clamp(16px, 1.4vw, 18px);
    line-height: 1.4;
    font-weight: 700;
    text-transform: none;
}

.single-product .product-commitments__swiper {
    position: relative;

    width: 100%;
    min-width: 0;
}

.single-product .product-commitments__slide {
    height: auto;
    min-width: 0;
}

/* =========================================================
   THẺ CAM KẾT
========================================================= */

.single-product .product-commitments__card {
    width: 100%;
    height: 100%;
    min-height: var(--commitment-card-height);

    padding: clamp(10px, 1.2vw, 12px);

    color: var(--c-text-secondary, #3f3f46);
    background-color: var(--c-tab, #f7f7f8);

    border: 1px solid transparent;
    border-radius: clamp(12px, 1.4vw, 16px);

    overflow: hidden;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}

@media (hover: hover) {
    .single-product .product-commitments__card:hover {
        border-color: rgba(0, 155, 145, 0.18);

        box-shadow:
            0 2px 5px rgba(60, 64, 67, 0.04),
            0 6px 16px rgba(60, 64, 67, 0.08);

        transform: translateY(-2px);
    }
}

/* =========================================================
   BIỂU TƯỢNG
========================================================= */

.single-product .product-commitments__icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: clamp(24px, 2.2vw, 28px);
    height: clamp(24px, 2.2vw, 28px);

    margin-bottom: clamp(8px, 0.9vw, 10px);

    color: var(--c-white, #fff);

    background: linear-gradient(135deg, var(--c-primary, #009b91), var(--c-primary-dark, #007d75));

    border-radius: clamp(4px, 0.5vw, 6px);

    overflow: hidden;
}

.single-product .product-commitments__icon svg {
    display: block;

    width: 18px;
    height: 18px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.single-product .product-commitments__icon-image {
    display: block;

    width: 18px;
    height: 18px;

    margin: 0;
    padding: 0;

    object-fit: contain;
    object-position: center;
}

/* =========================================================
   NỘI DUNG
========================================================= */

.single-product .product-commitments__content {
    color: var(--c-text-secondary, #3f3f46);

    font-size: clamp(12px, 1vw, 13px);
    line-height: 1.45;
    font-weight: 400;
    text-align: left;
}

.single-product .product-commitments__content p {
    margin: 0 0 4px;
}

.single-product .product-commitments__content p:last-child {
    margin-bottom: 0;
}

.single-product .product-commitments__content strong {
    color: var(--c-ink, #18181b);
    font-weight: 700;
}

.single-product .product-commitments__content a {
    color: var(--c-link, #1e97ee);

    font-weight: 700;
    text-decoration: none;
}

.single-product .product-commitments__content a:hover {
    text-decoration: underline;
}

/* =========================================================
   NÚT MŨI TÊN
========================================================= */

.single-product .product-commitments__navigation {
    position: absolute;
    z-index: 10;
    top: 50%;

    display: none;
    align-items: center;
    justify-content: center;

    width: 28px;
    min-width: 28px;
    height: 28px;
    min-height: 28px;

    margin: 0;
    padding: 0;

    color: var(--c-ink, #18181b);
    background-color: var(--c-white, #fff);

    border: 1px solid var(--c-border-neutral, #e4e4e7);

    border-radius: 50%;

    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.16);

    line-height: 1;
    cursor: pointer;

    transform: translateY(-50%);
}

.single-product .product-commitments__navigation--prev {
    left: 1px;
}

.single-product .product-commitments__navigation--next {
    right: 1px;
}

.single-product .product-commitments__navigation svg {
    display: block;

    width: 16px;
    height: 16px;

    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.single-product .product-commitments__navigation.swiper-button-disabled,
.single-product .product-commitments__navigation.swiper-button-lock {
    display: none !important;
}

.single-product .product-commitments__pagination {
    display: none;
    align-items: center;
    justify-content: center;

    gap: 3px;

    width: 100%;
    margin-top: 10px;
}

.single-product .product-commitments__pagination .swiper-pagination-bullet {
    width: 8px;
    height: 3px;

    margin: 0;

    background-color: var(--c-border-neutral, #e4e4e7);

    border-radius: 10px;

    opacity: 1;

    transition:
        width 0.2s ease,
        background-color 0.2s ease;
}

.single-product .product-commitments__pagination .swiper-pagination-bullet-active {
    width: 18px;

    background-color: var(--c-primary, #009b91);
}

/* =========================================================
   DESKTOP: GRID 2 CỘT x 2 HÀNG
========================================================= */

@media (min-width: 850px) {
    .single-product .product-commitments__swiper {
        overflow: visible;
    }

    .single-product .product-commitments__swiper > .swiper-wrapper {
        display: grid !important;

        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: var(--commitment-gap);

        width: 100%;

        transform: none !important;
    }

    .single-product .product-commitments__swiper .product-commitments__slide {
        width: auto !important;
        height: auto !important;

        margin: 0 !important;
    }

    .single-product .product-commitments__navigation,
    .single-product .product-commitments__pagination {
        display: none !important;
    }
}

/* =========================================================
   MOBILE: MỘT HÀNG VÀ CUỘN NGANG
========================================================= */

@media (max-width: 849px) {
    .single-product .product-commitments {
        margin-top: 16px;
    }

    .single-product .product-commitments__swiper {
        padding-bottom: 2px;

        overflow: hidden;
    }

    .single-product .product-commitments__swiper > .swiper-wrapper {
        display: flex;
        align-items: stretch;
        flex-wrap: nowrap;
    }

    .single-product .product-commitments__card {
        min-height: 140px;
        border-radius: 12px;
    }

    .single-product .product-commitments__navigation {
        display: flex;
    }

    .single-product .product-commitments__pagination {
        display: flex;
    }
}
/* =========================================================
   SẢN PHẨM ĐI CÙNG TRONG PRODUCT SUMMARY
========================================================= */

.single-product #boxUpsell {
    --upsell-gap: clamp(8px, 1vw, 10px);
    width: 100%;
    min-width: 0;

    margin-top: clamp(16px, 2vw, 22px);
    padding: clamp(10px, 1.2vw, 12px);

    background-color: var(--c-tab, #f7f7f8);

    border-radius: var(--radius-lg, 16px);

    overflow: hidden;
}

/* =========================================================
   TIÊU ĐỀ
========================================================= */

.single-product #boxUpsell .upsell-title {
    margin: 0 0 clamp(8px, 1vw, 10px);

    color: var(--c-ink, #18181b);

    font-size: clamp(15px, 1.3vw, 16px);
    line-height: 1.4;
    font-weight: 700;
    text-transform: none;
}

/* =========================================================
   KHUNG SWIPER
========================================================= */

.single-product #boxUpsell .upsell-block-product {
    width: 100%;
    min-width: 0;
}

.single-product #boxUpsell .summary-upsells__swiper {
    position: relative;

    width: 100%;
    min-width: 0;
    height: calc(var(--upsell-card-height) * 2 + var(--upsell-gap) + 22px);

    padding-bottom: 22px;

    overflow: hidden;
}

.single-product #boxUpsell .summary-upsells__swiper .swiper-wrapper {
    align-content: flex-start;
}

/* =========================================================
   THẺ SẢN PHẨM
========================================================= */

.single-product #boxUpsell .upsell-item-wrapper {
    display: grid;

    grid-template-columns:
        clamp(50px, 6vw, 60px)
        minmax(0, 1fr);

    align-items: center;
    gap: clamp(4px, 0.8vw, 5px);

    width: 100%;
    height: 100%;
    min-width: 0;

    padding: clamp(6px, 1.2vw, 16px) 6px;

    background-color: var(--c-white, #fff);

    border: 1px solid var(--c-border-neutral, #e4e4e7);

    border-radius: var(--radius-sm, 8px);

    overflow: hidden;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}

@media (hover: hover) {
    .single-product #boxUpsell .upsell-item-wrapper:hover {
        border-color: rgba(0, 155, 145, 0.22);

        box-shadow:
            0 2px 5px rgba(60, 64, 67, 0.04),
            0 5px 14px rgba(60, 64, 67, 0.08);
    }
}

/* =========================================================
   ẢNH SẢN PHẨM
========================================================= */

.single-product #boxUpsell .upsell-item-image-link {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    aspect-ratio: 1;

    background-color: var(--c-white, #fff);

    border-radius: var(--radius-xs, 6px);

    overflow: hidden;
}

.single-product #boxUpsell .upsell-item-image {
    display: block;

    width: 100%;
    height: 100%;

    margin: 0;
    padding: 0;

    object-fit: cover;
    object-position: center;

    transition: transform 0.25s ease;
}

@media (hover: hover) {
    .single-product #boxUpsell .upsell-item-wrapper:hover .upsell-item-image {
        transform: scale(1.05);
    }
}

/* =========================================================
   THÔNG TIN SẢN PHẨM
========================================================= */

.single-product #boxUpsell .upsell-item-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: clamp(4px, 0.5vw, 6px);

    min-width: 0;
}

.single-product #boxUpsell .upsell-item-text {
    min-width: 0;
}

.single-product #boxUpsell .upsell-item-name-link {
    display: block;

    color: inherit;
    text-decoration: none;
}

.single-product #boxUpsell .upsell-item-name {
    margin: 0 0 3px;
    color: var(--c-product-text, #1d1d20);
    font-size: clamp(11px, 0.95vw, 12px);
    line-height: 1.35;
    font-weight: 600;
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    transition: color 0.2s ease;
}

.single-product #boxUpsell .upsell-item-name-link:hover .upsell-item-name {
    color: var(--c-primary, #009b91);
}

/* =========================================================
   TIẾT KIỆM
========================================================= */

.single-product #boxUpsell .upsell-item-member {
    margin: 0;

    color: var(--c-muted-strong, #71717a);

    font-size: clamp(10px, 0.9vw, 12px);
    line-height: 1.35;
    font-weight: 400;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.single-product #boxUpsell .upsell-item-member span,
.single-product #boxUpsell .upsell-item-member .woocommerce-Price-amount {
    color: var(--c-primary, #009b91);
    font-weight: 600;
}

/* =========================================================
   GIÁ VÀ NÚT MUA
========================================================= */

.single-product #boxUpsell .upsell-item-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 5px;

    min-width: 0;
}

.single-product #boxUpsell .upsell-item-price {
    display: flex;
    flex: 1;
    flex-direction: column;
    font-size: var(--size-sm);
    font-weight: 400;
}

.single-product #boxUpsell .upsell-item-price .price {
    display: flex;
    flex-direction: column;

    margin: 0;

    font-size: inherit;
    font-weight: inherit;
    line-height: 1.25;
}

.single-product #boxUpsell .upsell-item-price ins {
    order: -1;

    color: var(--c-primary, #d70018);

    font-size: inherit;
    font-weight: inherit;
    text-decoration: none;
}

.single-product #boxUpsell .upsell-item-price del {
    color: var(--c-muted-strong, #71717a);

    font-size: 0.8em;
    font-weight: inherit;
}

.single-product #boxUpsell .upsell-item-price > .woocommerce-Price-amount,
.single-product #boxUpsell .upsell-item-price .price > .woocommerce-Price-amount {
    color: var(--c-primary, #d70018);

    font-size: inherit;
    font-weight: inherit;
}

.single-product #boxUpsell .upsell-contact-price {
    color: var(--c-primary, #009b91);

    font-size: clamp(12px, 1.1vw, 14px);
    font-weight: 700;
}

.single-product #boxUpsell .upsell-item-price .contact-price-button {
    color: var(--c-primary, #009b91);

    font-size: clamp(12px, 1.1vw, 14px);
    font-weight: 700;
}

/* Nút mua */

.single-product #boxUpsell .upsell-add-button.button {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 2px;

    margin: 0;
    padding: 0 clamp(4px, 0.7vw, 6px);

    color: var(--c-primary, #009b91);
    background-color: var(--c-primary-soft, rgba(0, 155, 145, 0.08));

    border: 0;
    border-radius: 999px;

    box-shadow: none;

    font-size: clamp(8px, 0.9vw, 10px);
    line-height: 1;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
    white-space: nowrap;

    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        transform 0.2s ease;
}

.single-product #boxUpsell .upsell-add-button.button:hover {
    color: var(--c-white, #fff);
    background-color: var(--c-primary, #009b91);

    box-shadow: none;
}

.single-product #boxUpsell .upsell-add-button.button:active {
    transform: scale(0.97);
}

.single-product #boxUpsell .upsell-add-button svg {
    width: 12px;
    height: 12px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* =========================================================
   MŨI TÊN SWIPER
========================================================= */

.single-product #boxUpsell .summary-upsells__navigation {
    position: absolute;
    z-index: 10;
    top: calc(50% - 11px);

    display: flex;
    align-items: center;
    justify-content: center;

    width: 26px;
    min-width: 26px;
    height: 26px;
    min-height: 26px;

    margin: 0;
    padding: 0;

    color: var(--c-ink, #18181b);
    background-color: var(--c-white, #fff);

    border: 1px solid var(--c-border-neutral, #e4e4e7);

    border-radius: 50%;

    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.14);

    cursor: pointer;

    transform: translateY(-50%);
}

.single-product #boxUpsell .summary-upsells__navigation--prev {
    left: 0;
}

.single-product #boxUpsell .summary-upsells__navigation--next {
    right: 0;
}

.single-product #boxUpsell .summary-upsells__navigation svg {
    width: 15px;
    height: 15px;

    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.single-product #boxUpsell .summary-upsells__navigation.swiper-button-disabled,
.single-product #boxUpsell .summary-upsells__navigation.swiper-button-lock {
    display: none !important;
}

/* =========================================================
   PAGINATION
========================================================= */

.single-product #boxUpsell .summary-upsells__pagination {
    position: absolute;
    right: 0;
    bottom: 1px;
    left: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 3px;

    width: 100%;
}

.single-product #boxUpsell .summary-upsells__pagination .swiper-pagination-bullet {
    width: 8px;
    height: 3px;

    margin: 0;

    background-color: var(--c-border-neutral, #e4e4e7);

    border-radius: 20px;

    opacity: 1;

    transition:
        width 0.2s ease,
        background-color 0.2s ease;
}

.single-product #boxUpsell .summary-upsells__pagination .swiper-pagination-bullet-active {
    width: 18px;

    background-color: var(--c-primary, #009b91);
}

/* =========================================================
   MOBILE: MỘT HÀNG NGANG
========================================================= */

@media (max-width: 849px) {
    .single-product #boxUpsell .upsell-item-wrapper {
        grid-template-columns:
            clamp(60px, 18vw, 72px)
            minmax(0, 1fr);
    }
}

/* =========================================================
   QUANTITY TRONG PRODUCT SUMMARY
========================================================= */

.single-product .product-info.summary {
    --summary-cart-height: clamp(42px, 4vw, 46px);
    --summary-quantity-button: clamp(36px, 3.5vw, 42px);
    --summary-quantity-input: clamp(40px, 4vw, 48px);
}

/* Simple product */

.single-product .product-info.summary form.cart:not(.variations_form) {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: clamp(8px, 1vw, 10px);

    width: 100%;
    margin-bottom: 0;
}

/* Variable product sau khi đã chọn biến thể */

.single-product .product-info.summary .woocommerce-variation-add-to-cart {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: clamp(8px, 1vw, 10px);

    width: 100%;
}

/* =========================================================
   KHUNG QUANTITY
========================================================= */

.single-product .product-info.summary .quantity.buttons_added {
    position: relative;

    display: grid;
    grid-template-columns:
        var(--summary-quantity-button)
        var(--summary-quantity-input)
        var(--summary-quantity-button);

    flex: 0 0 auto;
    float: none;

    width: auto;
    height: var(--summary-cart-height);

    margin: 0;
    padding: 0;

    background-color: var(--c-white, #fff);

    border: 1px solid var(--c-border-strong, #d4d4d4);

    border-radius: var(--radius-control, 9px);

    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.04);

    overflow: hidden;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

/* Khi một input bên trong được focus */

.single-product .product-info.summary .quantity.buttons_added:focus-within {
    border-color: var(--c-primary, #009b91);

    box-shadow: 0 0 0 3px var(--c-focus-ring, rgba(0, 155, 145, 0.1));
}

/* Giữ quantity ẩn khi WooCommerce yêu cầu */

.single-product .product-info.summary .quantity.buttons_added.hidden {
    display: none !important;
}

/* =========================================================
   NÚT TRỪ VÀ NÚT CỘNG
========================================================= */

.single-product .product-info.summary .quantity .ux-quantity__button {
    position: static;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-width: 0;
    height: 100%;
    min-height: 0;

    margin: 0;
    padding: 0;

    color: var(--c-text-secondary, #3f3f46);
    background-color: var(--c-surface-muted, #f4f4f5);

    border: 0;
    border-radius: 0;

    box-shadow: none;
    text-shadow: none;

    font-family: Arial, sans-serif;
    font-size: clamp(18px, 1.6vw, 21px);
    line-height: 1;
    font-weight: 400;

    cursor: pointer;

    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        transform 0.1s ease;
}

/* Đường phân cách sau nút trừ */

.single-product .product-info.summary .quantity .ux-quantity__button--minus {
    border-right: 1px solid var(--c-border-neutral, #e4e4e7);
}

/* Đường phân cách trước nút cộng */

.single-product .product-info.summary .quantity .ux-quantity__button--plus {
    border-left: 1px solid var(--c-border-neutral, #e4e4e7);
}

@media (hover: hover) {
    .single-product .product-info.summary .quantity .ux-quantity__button:hover {
        color: var(--c-primary, #009b91);

        background-color: var(--c-primary-pale, #f0fdfa);
    }
}

/* Khi bấm */

.single-product .product-info.summary .quantity .ux-quantity__button:active {
    color: var(--c-white, #fff);
    background-color: var(--c-primary, #009b91);

    transform: scale(0.96);
}

/* Trạng thái không sử dụng được */

.single-product .product-info.summary .quantity .ux-quantity__button:disabled {
    color: var(--c-muted-soft, #a1a1aa);
    background-color: var(--c-bg-soft, #f5f5f5);

    cursor: not-allowed;
    opacity: 0.6;
}

/* =========================================================
   INPUT SỐ LƯỢNG
========================================================= */

.single-product .product-info.summary .quantity input.qty {
    display: block;

    width: 100%;
    min-width: 0;
    max-width: none;
    height: 100%;
    min-height: 0;

    margin: 0;
    padding: 0 3px;

    color: var(--c-ink, #18181b);
    background-color: var(--c-white, #fff);

    border: 0;
    border-radius: 0;

    box-shadow: none;
    outline: none;

    font-size: clamp(13px, 1.2vw, 15px);
    line-height: 1;
    font-weight: 600;
    text-align: center;

    appearance: textfield;
    -moz-appearance: textfield;
}

/* Xóa mũi tên mặc định của input number */

.single-product .product-info.summary .quantity input.qty::-webkit-inner-spin-button,
.single-product .product-info.summary .quantity input.qty::-webkit-outer-spin-button {
    margin: 0;
    appearance: none;
    -webkit-appearance: none;
}

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-background-clip: text;
    transition: background-color 5000s ease-in-out 0s;
    box-shadow: inset 0 0 20px 20px #23232329;
}

/* ==================================================
   HEADER CATEGORY OVERLAY
================================================== */

.header-category-overlay {
    --header-category-top: 90px;
    --header-category-space: clamp(7px, 0.8vw, 11px);
    --header-category-height: clamp(430px, 44vw, 500px);
    --header-category-width: clamp(260px, 20vw, 320px);

    position: fixed;
    z-index: 998;

    top: var(--header-category-top);
    right: 0;
    bottom: 0;
    left: 0;

    visibility: hidden;
    opacity: 0;
    pointer-events: none;

    transition:
        visibility 0.2s ease,
        opacity 0.2s ease;
}

/* Nền tối */
.header-category-overlay__backdrop {
    position: absolute;
    z-index: 1;
    inset: 0;

    background-color: rgba(24, 24, 27, 0.58);

    -webkit-backdrop-filter: blur(clamp(1px, 0.2vw, 3px));

    backdrop-filter: blur(clamp(1px, 0.2vw, 3px));

    cursor: pointer;
}

/* Container căn theo container của Flatsome */
.header-category-overlay__inner {
    position: relative;
    z-index: 2;

    width: 100%;
    height: 100%;
    margin: 0 auto;
    padding-top: var(--header-category-space);

    pointer-events: none;
}

/* Menu bên trong overlay */
.header-category-overlay .header-category-menu {
    width: var(--header-category-width);
    height: min(var(--header-category-height), calc(100vh - var(--header-category-top) - clamp(15px, 2vw, 25px)));

    min-height: 0;

    pointer-events: auto;

    transform: translateY(clamp(-8px, -0.6vw, -4px));

    transition: transform 0.22s ease;
}

/* Panel bên phải */
.header-category-overlay .header-category-menu__list > li > .sub-menu {
    width: clamp(650px, 70vw, 970px);

    max-width: calc(100vw - var(--header-category-width) - clamp(45px, 7vw, 110px));

    height: 100%;
    max-height: 100%;
}

/* Overlay đang mở */

.header-category-overlay.is-open .header-category-menu {
    transform: translateY(0);
}

/* Khóa cuộn trang khi menu mở */

/* ==================================================
   TRẠNG THÁI NÚT DANH MỤC HEADER
================================================== */

.js-header-category-toggle {
    position: relative;
}

/* ==================================================
   TABLET VÀ MOBILE
================================================== */

@media (max-width: 849px) {
    .header-category-overlay {
        display: none;
    }
}

.home-showcase__left .col-inner {
    height: 100%;
}

/* ==================================================
   CHO PHÉP MEGA MENU TRÀN SANG CỘT BÊN PHẢI
================================================== */

.home-showcase__left,
.home-showcase__left .section-content,
.home-showcase__left .row,
.home-showcase__left .col,
.home-showcase__left .col-inner {
    overflow: visible !important;
}

/* =========================================================
   SENDORA - MAX MEGA MENU FREE

   Menu location: Main Menu
   Location slug: primary

   Mục đích:
   - Ép menu cấp 1 thành menu dọc trên desktop.
   - Panel cấp 2 mở sang bên phải.
   - Dùng trạng thái .mega-toggle-on của Max Mega Menu.
   - Không cần Max Mega Menu Pro.
========================================================= */

/* =========================================================
   CHO PHÉP MENU TRÀN SANG CỘT SLIDER
========================================================= */

.home-showcase__left,
.home-showcase__left .section-content,
.home-showcase__left .row,
.home-showcase__left .col,
.home-showcase__left .col-inner,
.home-category-menu-slot {
    overflow: visible !important;
}

.home-showcase__left .col-inner,
.home-category-menu-slot {
    height: 100%;
}

/* =========================================================
   BIẾN DÙNG CHUNG
========================================================= */

.home-category-menu {
    --category-primary: var(--c-primary, var(--primary-color, #009b91));
    --category-primary-soft: var(--c-primary-soft, rgba(0, 155, 145, 0.08));
    --category-text: var(--c-text, #27272a);
    --category-heading: var(--c-heading, #18181b);
    --category-muted: var(--c-muted, #71717a);
    --category-border: var(--c-border, #e4e4e7);
    --category-background: var(--c-white, #fff);

    --category-menu-width: clamp(245px, 22vw, 285px);
    --category-row-height: clamp(40px, 3.6vw, 44px);
    --category-radius: clamp(9px, 1vw, 12px);
    --category-panel-gap: clamp(6px, 0.7vw, 10px);
    --category-panel-padding: clamp(16px, 1.8vw, 24px);
    --category-column-gap: clamp(16px, 2vw, 28px);
    --category-row-gap: clamp(16px, 1.8vw, 24px);
    --category-chip-gap: clamp(6px, 0.7vw, 9px);

    position: relative;
    z-index: 50;

    width: 100%;
    height: 100%;
    min-height: 0;

    color: var(--category-text);
    background-color: var(--category-background);

    border: 1px solid var(--category-border);
    border-radius: var(--category-radius);

    box-shadow:
        0 1px 2px rgba(60, 64, 67, 0.05),
        0 2px 10px rgba(60, 64, 67, 0.1);

    overflow: visible;
}

/* Menu nằm trong cột trái trang chủ */

.home-category-menu--page {
    width: 100%;
    height: 100%;
}

/* Menu được chuyển vào overlay Header */

.home-category-menu--header {
    width: var(--category-menu-width);
    height: auto;
    min-height: 0;
}

/* =========================================================
   OVERLAY MENU TRÊN HEADER
========================================================= */

.header-category-overlay {
    position: fixed;
    z-index: 9998;
    top: var(--header-category-top, 0);
    right: 0;
    bottom: 0;
    left: 0;

    visibility: hidden;
    opacity: 0;
    pointer-events: none;

    transition:
        visibility 0.2s ease,
        opacity 0.2s ease;
}

.header-category-overlay.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.header-category-overlay__backdrop {
    position: absolute;
    z-index: 1;
    inset: 0;

    background-color: rgba(24, 24, 27, 0.28);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}

.header-category-overlay__inner {
    position: relative;
    z-index: 2;

    height: 100%;
    padding-top: clamp(8px, 1vw, 12px);

    pointer-events: none;
}

.header-category-overlay__mount {
    position: relative;

    width: fit-content;
    max-width: 100%;

    pointer-events: auto;
}

body.header-category-is-open {
    overflow: hidden;
}

/* =========================================================
   TABLET / MOBILE

   Menu danh mục riêng này chỉ dùng ở desktop.
   Mobile tiếp tục dùng menu Flatsome hiện tại.
========================================================= */

@media (max-width: 849px) {
    .home-category-menu,
    .header-category-overlay {
        display: none !important;
    }

    body.header-category-is-open {
        overflow: auto;
    }
}

body .product-small.box {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: clamp(6px, 1.45vw, 8px);
    background-color: var(--c-white);
    border: 0;
    border-radius: clamp(12px, 2.9vw, 16px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
    overflow: hidden;
    transition:
        box-shadow 0.25s ease,
        transform 0.25s ease;
}

body .product-small .box-image {
    flex: 0 0 auto;
    width: 100%;
    aspect-ratio: 1 / 1;
    background-color: var(--c-white);
    border-radius: var(--size-sm) var(--size-sm) 0 0;
}

/* THÔNG TIN SẢN PHẨM */

body .product-small .box-text {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    width: 100%;
    height: auto;
    padding: clamp(6px, 0.8vw, 10px) 0 0;
}

body .product-small .product-title {
    overflow: hidden;
    font-size: var(--size-md);
    line-height: 1.4;
    font-weight: 700;
    height: auto !important;
}

body .product-small .product-title a {
    color: var(--c-heading);
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    color: inherit;
    font: inherit;
}

.product.product-small .product-title a:hover {
    color: var(--c-primary);
}

.product.product-small .price-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: 100%;
    margin-top: clamp(6px, 0.7vw, 8px);
}

.product.product-small .price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: clamp(3px, 0.35vw, 4px) clamp(6px, 0.7vw, 8px);
    width: 100%;
    color: var(--c-danger);
    font-size: clamp(15px, 1.25vw, 18px);
    line-height: 1.3;
    font-weight: 700;
}

.product.product-small .price ins {
    color: var(--c-danger);
    background: none;
    font-weight: 700;
    text-decoration: none;
}

.home-featured-products .product-small .price del {
    color: #b7b7b7;
    font-size: var(--size-sm);
    font-weight: 400;
}

.product-small .contact-price-button {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: var(--size-xs) clamp(16px, 1.6vw, 20px);
    background-color: var(--fs-color-primary);
    border-color: rgba(0, 0, 0, 0.05);
    color: var(--c-white);
    border-radius: clamp(6px, 0.6vw, 8px);
    font-size: var(--font-xs);
    font-weight: 600;
    line-height: 1;
    text-transform: none;
    margin-top: 1rem;
}

/* THÔNG TIN BỔ SUNG TRÊN CARD SẢN PHẨM */

.product-card-extra {
    display: flex;
    flex: 1;
    flex-direction: column;
    width: 100%;
    margin-top: clamp(5px, 0.6vw, 8px);
}

.product-card-extra__offers {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.product-card-extra__offer,
.product-card-extra__promotion {
    width: 100%;
    padding: clamp(4px, 0.45vw, 6px) clamp(6px, 0.7vw, 9px);
    color: var(--c-text);
    border-radius: var(--radius-xs);
    line-height: 1.35;
    font-weight: 500;
}

.product-card-extra__offer {
    font-size: clamp(8px, 1vw, 10px);
}

.product-card-extra__offer.product-card-extra__offer--installment,
.product-card-extra__promotion {
    font-size: clamp(10px, 1.2vw, 12px);
}

.product-card-extra__offer--member {
    color: var(--c-offer-member-text);
    background-color: var(--c-offer-member-bg);
}

.product-card-extra__offer--special {
    color: var(--c-offer-special-text);
    background-color: var(--c-offer-special-bg);
}

.product-card-extra__promotion,
.product-card-extra__offer--installment {
    color: var(--c-text);
    background-color: var(--c-offer-neutral);
}

.product-card-extra__offer-inner,
.product-card-extra__promotion__inner {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.product-card-extra__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(6px, 0.8vw, 10px);
    width: 100%;
    margin-top: auto;
    padding-top: clamp(7px, 0.8vw, 10px);
}

.product-card-extra__footer-left {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: clamp(5px, 0.6vw, 8px);
}

.product-card-extra__delivery-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    width: fit-content;
}

.product-card-extra__delivery-shape {
    display: block;
    flex: 0 0 auto;
    width: auto;
    height: clamp(16px, 1.8vw, 24px);
    margin-right: -1px;
    color: var(--c-primary);
}

.product-card-extra__delivery {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: clamp(3px, 0.4vw, 5px);
    padding-block: clamp(3px, 0.4vw, 4px);
    padding-inline: clamp(2px, 0.4vw, 3px) clamp(7px, 0.9vw, 10px);
    color: var(--c-white);
    background-color: var(--c-primary);
    font-size: clamp(9px, 0.8vw, 12px);
    line-height: 1;
    font-weight: 600;
    white-space: nowrap;
}

.product-card-extra__delivery svg {
    display: block;
    flex: 0 0 var(--icon-sm);
    width: var(--icon-sm);
    height: var(--icon-sm);
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.product-card-extra__rating {
    display: inline-flex;
    align-items: center;
    gap: clamp(2px, 0.3vw, 4px);
    color: var(--c-text);
    font-size: clamp(10px, 0.85vw, 13px);
    line-height: 1;
    font-weight: 600;
}

.product-card-extra__rating-star {
    display: block;
    flex: 0 0 auto;
    width: var(--icon-rating);
    height: var(--icon-rating);
    color: var(--c-rating);
    fill: currentColor;
}

.product-card-extra__wishlist {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    overflow: hidden;
    color: var(--c-info);
    font-size: 0;
}

.product-card-extra__wishlist .wlfmc-loop-btn:not(.is-elementor) .wlfmc-add-button > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--control-compact);
    height: var(--control-compact);
}

/* Nút hành động dùng chung trên Header */

.header-action-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    height: 40px;
    margin: 0;
    padding: 8px 16px;
    color: var(--c-white);
    background-color: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 8px;
    font-family: inherit;
    font-size: 14px;
    line-height: 1;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
    box-shadow: none;
    cursor: pointer;
    transition:
        color 0.25s ease,
        background-color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}

.header-action-button:hover,
.header-action-button:focus-visible {
    color: var(--c-white);
    background-color: var(--c-primary-dark);
    border-color: var(--c-primary);
    box-shadow: none;
    outline: none;
}

.header-action-button:active {
    transform: translateY(1px);
}

.header-action-button:disabled {
    color: #999;
    background-color: #eee;
    border-color: #eee;
    cursor: not-allowed;
}

.header-action-button__icon {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.header-action-button__text {
    white-space: nowrap;
}

.header-action-button__arrow {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 0.25s ease;
}

.header-action-button:hover .header-action-button__arrow {
    transform: translateY(2px);
}

@media (max-width: 849px) {
    .header-action-button {
        display: none;
    }
}

/* Nút hành động dùng chung trên Header - dạng select */
.header-action-select {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    height: 40px;
    margin: 0;
    padding: 8px 16px;
    color: var(--c-white);
    background-color: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 8px;
    transition:
        color 0.25s ease,
        background-color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}

.header-action-select:hover,
.header-action-select:focus-within {
    color: var(--c-white);
    background-color: var(--c-primary-dark);
    border-color: var(--c-primary);
}

.header-action-select:active {
    transform: translateY(1px);
}

.header-action-select__icon {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Style cho option (một số trình duyệt hỗ trợ hạn chế) */
.header-action-select__select option {
    color: #000;
    background-color: #fff;
}

.header-action-select__arrow {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    pointer-events: none; /* để click xuyên qua tới select */
    transition: transform 0.25s ease;
}

.header-action-select:focus-within .header-action-select__arrow {
    transform: translateY(-50%) rotate(180deg);
}

.header-action-select__select:disabled {
    cursor: not-allowed;
}

.header-action-select:has(.header-action-select__select:disabled) {
    color: #999;
    background-color: #eee;
    border-color: #eee;
}

@media (max-width: 849px) {
    .header-action-select {
        display: none;
    }
}

.header-action-select__select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: transparent;
    border: none;
    outline: none;
    margin: 0;
    padding: 0;
    padding-right: 18px;

    color: var(--c-white);
    font-family: inherit;
    font-size: 14px;
    line-height: 1;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
}

/* Ép lại toàn bộ state để tránh browser tự thêm bg trắng khi focus/active */
.header-action-select__select:focus,
.header-action-select__select:focus-visible,
.header-action-select__select:active,
.header-action-select__select:hover {
    background-color: transparent !important;
    color: var(--c-white) !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Firefox thường vẽ 1 đường viền chấm (dotted) quanh text khi focus, ẩn nó đi */
.header-action-select__select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 var(--c-white);
}

/* Thanh tìm kiếm sản phẩm trong Header Flatsome */

.header-main .header-search-form {
    max-width: 100%;
    margin: 0;
    padding: 0;
}

.header-search-form .header-search-form-wrapper,
.header-search-form .searchform-wrapper,
.header-search-form .searchform {
    width: 100%;
    margin: 0;
}

.header-search-form .searchform > .flex-row {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    width: 100%;
    height: 40px;
    min-height: 40px;
    background-color: var(--c-white);
    border: 1px solid #dedede;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: none;
    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.header-search-form .searchform > .flex-row:focus-within {
    border-color: var(--c-primary);
    box-shadow: 0 0 0 2px rgba(0, 155, 145, 0.1);
}

.header-search-form .searchform > .flex-row > .flex-grow {
    min-width: 0;
    height: 100%;
}

.header-search-form .search-field {
    width: 100%;
    height: 100%;
    min-height: 38px;
    margin: 0;
    padding: 0 4px 0 14px;
    color: var(--c-text-soft);
    background-color: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-family: inherit;
    font-size: 14px;
    font-weight: 400;
    line-height: 40px;
    box-shadow: none !important;
    outline: none !important;
    appearance: none;
    -webkit-appearance: none;
}

.header-search-form .search-field:focus {
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: none !important;
}

.header-search-form .search-field::placeholder {
    color: #9a9a9a;
    opacity: 1;
}

.header-search-form .searchform > .flex-row > .flex-col:last-child {
    height: 100%;
}

.header-search-form .ux-search-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    min-width: 42px;
    height: 100%;
    min-height: 0;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--c-heading) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

.header-search-form .ux-search-submit:hover,
.header-search-form .ux-search-submit:focus {
    color: var(--c-primary) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.header-search-form .ux-search-submit .icon-search {
    color: currentColor;
    font-size: 21px;
    line-height: 1;
}

.header-search-form .ux-search-submit::before,
.header-search-form .ux-search-submit::after {
    display: none;
}

.header-search-form .live-search-results {
    width: 100%;
    top: calc(100% + 6px);
}

.header-search-form .autocomplete-suggestions {
    width: 100% !important;
    background-color: var(--c-white);
    border: 1px solid var(--c-border);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}

@media (max-width: 849px) {
    .header-main .header-search-form {
        flex: 1 1 100%;
        width: 100%;
        min-width: 0;
    }
    .header-search-form .search-field {
        font-size: 13px;
    }
}

/* Nút giỏ hàng và tài khoản Flatsome */

.header-nav-main .cart-item > .header-button,
.header-nav-main .account-item > .header-button {
    margin: 0;
}

.header-nav-main .cart-item .header-cart-link,
.header-nav-main .account-item .account-link,
.header-nav-main .account-item .nav-top-not-logged-in {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: auto !important;
    min-height: 40px;
    height: 40px;
    margin: 0 !important;
    padding: 8px 14px !important;
    color: var(--c-white) !important;
    border-radius: 8px !important;
    font-family: inherit;
    font-size: 14px;
    line-height: 1;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
    box-shadow: none !important;
    text-shadow: none !important;
    transition:
        color 0.25s ease,
        background-color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}

/* Nút giỏ hàng */

.header-nav-main .cart-item .header-cart-link {
    min-width: auto;
    color: var(--c-white) !important;
    background-color: transparent !important;
    border: 1px solid transparent !important;
}

.header-nav-main .cart-item .header-cart-link:hover,
.header-nav-main .cart-item:hover .header-cart-link {
    color: var(--c-white) !important;
    background-color: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(255, 255, 255, 0.16) !important;
}

/* Nút tài khoản */

.header-nav-main .account-item .account-link,
.header-nav-main .account-item .nav-top-not-logged-in {
    min-width: 115px;
    color: var(--c-white) !important;
    background-color: rgba(255, 255, 255, 0.12) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.header-nav-main .account-item .account-link:hover,
.header-nav-main .account-item:hover .account-link,
.header-nav-main .account-item .nav-top-not-logged-in:hover {
    color: var(--c-white) !important;
    background-color: var(--c-primary-dark) !important;
    border-color: var(--c-primary) !important;
}

.header-nav-main .cart-item .header-cart-link:active,
.header-nav-main .account-item .account-link:active {
    transform: translateY(1px);
}

/* Phần chữ */

.header-nav-main .header-cart-title,
.header-nav-main .header-account-title {
    display: inline-block;
    margin: 0;
    color: inherit;
    white-space: nowrap;
}

/* Icon */

.header-nav-main .header-cart-link > i,
.header-nav-main .account-link > i {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin: 0;
    color: inherit;
    font-size: 22px;
    line-height: 1;
}

.header-nav-main .header-cart-link > i::before,
.header-nav-main .account-link > i::before {
    margin: 0;
    line-height: 1;
}

.header-nav-main .header-cart-link [data-icon-label]::after {
    top: -7px;
    right: -8px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    color: var(--c-white);
    background-color: #e53935;
    border: 2px solid var(--c-primary);
    border-radius: 999px;
    font-size: 10px;
    line-height: 12px;
    font-weight: 700;
}

.header-nav-main > .cart-item {
    margin-right: 4px;
}

.header-nav-main > .account-item {
    margin-left: 4px;
}

/* ==================================================
   NÚT HEADER PHIÊN BẢN MOBILE
================================================== */

@media (max-width: 849px) {
    /* Căn giữa hai khu vực nút */

    /* Dùng chung cho menu, giỏ hàng và tài khoản */

    #masthead .mobile-nav .nav-icon > a,
    #masthead .mobile-nav .cart-item .header-cart-link,
    #masthead .mobile-nav .account-item .account-link {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;

        width: clamp(24px, 10vw, 36px);
        min-width: clamp(24px, 10vw, 36px);
        height: clamp(24px, 10vw, 36px);
        min-height: clamp(24px, 10vw, 36px);

        margin: 0 !important;
        padding: 0 !important;

        color: var(--c-white) !important;
        background-color: rgba(255, 255, 255, 0.12) !important;

        border: 1px solid rgba(255, 255, 255, 0.2) !important;
        border-radius: var(--radius-sm) !important;

        box-shadow: none !important;
        text-shadow: none !important;

        cursor: pointer;
        touch-action: manipulation;

        transition:
            color 0.25s ease,
            background-color 0.25s ease,
            border-color 0.25s ease,
            transform 0.2s ease;
    }

    /* Hover và focus */

    #masthead .mobile-nav .nav-icon > a:hover,
    #masthead .mobile-nav .nav-icon > a:focus-visible,
    #masthead .mobile-nav .cart-item .header-cart-link:hover,
    #masthead .mobile-nav .cart-item .header-cart-link:focus-visible,
    #masthead .mobile-nav .account-item .account-link:hover,
    #masthead .mobile-nav .account-item .account-link:focus-visible {
        color: var(--c-white) !important;
        background-color: var(--c-primary-dark) !important;
        border-color: var(--c-primary) !important;

        outline: none;
        box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.16) !important;
    }

    /* Hiệu ứng khi nhấn */

    #masthead .mobile-nav .nav-icon > a:active,
    #masthead .mobile-nav .cart-item .header-cart-link:active,
    #masthead .mobile-nav .account-item .account-link:active {
        transform: translateY(1px);
    }

    /* Icon menu và icon giỏ hàng */

    #masthead .mobile-nav .nav-icon > a > i,
    #masthead .mobile-nav .header-cart-link > i,
    #masthead .mobile-nav .account-link > i {
        position: relative;

        display: inline-flex;
        align-items: center;
        justify-content: center;

        width: clamp(14px, 5.5vw, 18px);
        height: clamp(14px, 5.5vw, 18px);

        margin: 0;

        color: inherit;
        font-size: clamp(14px, 5.5vw, 18px);
        line-height: 1;
    }

    #masthead .mobile-nav .header-cart-link [data-icon-label]::after {
        top: clamp(-7px, -1.5vw, -5px);
        right: clamp(-8px, -1.8vw, -6px);

        min-width: clamp(16px, 4.5vw, 18px);
        height: clamp(16px, 4.5vw, 18px);
        padding: 0 4px;

        color: var(--c-white);
        background-color: var(--c-danger);

        border: 2px solid var(--c-primary);
        border-radius: 999px;

        font-size: clamp(9px, 2.6vw, 10px);
        line-height: clamp(12px, 3.4vw, 14px);
        font-weight: 700;
        text-align: center;
    }
}
/* ==================================================
   HOME SHOWCASE TABS
================================================== */

.home-showcase__tabs {
    --showcase-tab-height: clamp(42px, 3.5vw, 46px);
    --showcase-tab-shape: clamp(22px, 2.6vw, 36px);
    --showcase-tab-padding: clamp(12px, 1.7vw, 20px);

    /* Biến mới dành cho nút cuộn */
    --showcase-arrow-width: clamp(24px, 2.3vw, 30px);
    --showcase-arrow-height: clamp(32px, 3.2vw, 38px);

    position: relative;

    width: 100%;
    max-width: 100%;

    background-color: var(--c-white, #fff);
    border-radius: var(--size-sm);
    box-shadow: 0 -3px 16px rgba(0, 0, 0, 0.06);

    overflow: hidden;
}

/* =========================================================
   HAI NÚT CUỘN TAB
========================================================= */

.home-tabs-scroll-button {
    position: absolute;
    z-index: 20;
    top: calc(var(--showcase-tab-height) / 2);

    display: flex;
    align-items: center;
    justify-content: center;

    width: var(--showcase-arrow-width);
    min-width: var(--showcase-arrow-width);
    height: var(--showcase-arrow-height);
    min-height: 0;

    margin: 0 !important;
    padding: 0 !important;

    color: var(--c-ink, #18181b);
    background-color: rgba(255, 255, 255, 0.94);

    border: 0 !important;

    box-shadow:
        0 2px 5px rgba(0, 0, 0, 0.08),
        0 4px 12px rgba(0, 0, 0, 0.12);

    opacity: 0.82;
    visibility: visible;

    cursor: pointer;
    pointer-events: auto;

    transform: translateY(-50%);

    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        opacity 0.2s ease,
        visibility 0.2s ease,
        box-shadow 0.2s ease;
}

/* Nút bên trái */

.home-tabs-scroll-button--prev {
    left: 0;

    border-radius: 0 999px 999px 0;
}

/* Nút bên phải */

.home-tabs-scroll-button--next {
    right: 0;

    border-radius: 999px 0 0 999px;
}

/* SVG */

.home-tabs-scroll-button svg {
    display: block;

    width: clamp(16px, 1.6vw, 20px);
    height: clamp(16px, 1.6vw, 20px);

    color: inherit;

    pointer-events: none;
}

.home-tabs-scroll-button:hover {
    color: var(--c-primary, #009b91);
    background-color: var(--c-white, #fff);

    opacity: 1;

    box-shadow:
        0 3px 7px rgba(0, 0, 0, 0.1),
        0 5px 16px rgba(0, 0, 0, 0.16);
}

/* Focus bằng bàn phím */

.home-tabs-scroll-button:focus-visible {
    outline: 2px solid var(--c-primary, #009b91);
    outline-offset: -2px;
}

/*
 * Khi đã cuộn hết một phía,
 * JavaScript sẽ tự disabled nút đó.
 */

.home-tabs-scroll-button:disabled {
    opacity: 0;
    visibility: hidden;

    cursor: default;
    pointer-events: none;
}

/* ==================================================
   THANH ĐIỀU HƯỚNG CÓ THỂ CUỘN NGANG
================================================== */

.home-showcase__tabs > .nav {
    flex-flow: row nowrap;

    width: 100%;
    max-width: 100%;
    height: var(--showcase-tab-height);
    padding: 0 var(--space-lg);
    margin-bottom: var(--size-xs);

    overflow-x: auto;
    overflow-y: hidden;

    background-color: var(--c-white, #fff);

    /* Cuộn ngang trên mobile và touchpad */
    touch-action: pan-x;
    overscroll-behavior-x: contain;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    scroll-padding-inline: var(--showcase-tab-gap);

    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

/* Ẩn thanh scrollbar */
.home-showcase__tabs > .nav::-webkit-scrollbar {
    display: none;
}

/* ==================================================
   TỪNG TAB
================================================== */

.home-showcase__tabs > .nav > li {
    position: relative;
    z-index: 1;

    min-width: max-content;
    height: 100%;
}
/* Link bên trong tab */
.home-showcase__tabs > .nav > li > a {
    position: relative;
    z-index: 3;

    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;

    width: max-content;
    min-width: max-content;
    height: 100%;
    min-height: 0;

    margin: 0;
    padding: clamp(5px, 0.6vw, 7px) var(--showcase-tab-padding);

    color: #777;
    background-color: var(--c-white, #fff);
    border: 0;

    font-size: clamp(10.5px, 0.95vw, 12px);
    line-height: 1.25;
    font-weight: 600;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0;
    white-space: nowrap;

    cursor: pointer;
    user-select: none;
    -webkit-user-drag: none;

    transition:
        color 0.2s ease,
        background-color 0.2s ease;
}

.home-showcase__tabs > .nav > li > a:hover {
    color: var(--c-primary, #009b91);
}

/* ==================================================
   TAB ACTIVE
================================================== */

.home-showcase__tabs > .nav > li.active {
    z-index: 4;

    margin-right: calc(var(--showcase-tab-shape) - 1px) !important;

    margin-left: calc(var(--showcase-tab-shape) - 1px) !important;
}

.home-showcase__tabs > .nav > li.active > a {
    position: relative;
    z-index: 4;

    padding-right: clamp(4px, 0.7vw, 8px);
    padding-left: clamp(4px, 0.7vw, 8px);

    color: var(--c-primary, #009b91);
    background-color: var(--c-bg-alt, #f2f2f3);

    font-weight: 700;
}

/* ==================================================
   HAI SVG CỦA TAB ACTIVE
================================================== */

.home-tab-shape {
    position: absolute;
    z-index: 2;
    top: 0;

    display: block;
    width: var(--showcase-tab-shape);
    height: 100%;

    color: var(--c-bg-alt, #f2f2f3);

    overflow: hidden;
    pointer-events: none;
}

.home-tab-shape svg {
    display: block;
    width: 100%;
    height: 100%;

    color: inherit;
    transform: rotate(180deg);
    transform-origin: center;
}

.home-tab-shape svg path {
    fill: currentColor;
}

/* SVG bên trái */
.home-tab-shape--left {
    left: calc(1px - var(--showcase-tab-shape));
    transform: scaleX(-1);
    transform-origin: center;
}

/* SVG bên phải */
.home-tab-shape--right {
    right: calc(1px - var(--showcase-tab-shape));
}

/* ==================================================
   TRẠNG THÁI FOCUS
================================================== */

.home-showcase__tabs > .nav > li > a:focus-visible {
    color: var(--c-primary, #009b91);
    outline: 2px solid var(--c-primary, #009b91);
    outline-offset: -3px;
    border-radius: 5px;
}

/* Nội dung Tabs */

.home-showcase__tabs > .tab-panels {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    background-color: var(--c-white);
    border-radius: 0 0 var(--size-sm) var(--size-sm);
    overflow: hidden;
}

.home-showcase__tabs > .tab-panels > .panel {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    background-color: var(--c-white);
}

.home-showcase__tabs > .tab-panels > .panel > :first-child {
    margin-top: 0 !important;
}

.home-showcase__tabs > .tab-panels > .panel > :last-child {
    margin-bottom: 0 !important;
}

/* Ảnh banner */

.home-showcase__tabs .panel .img,
.home-showcase__tabs .panel .img-inner {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.home-showcase__tabs .panel .img-inner {
    aspect-ratio: 23 / 10;
    overflow: hidden;
    border-radius: 0 0 var(--size-sm) var(--size-sm);
}

.home-showcase__tabs .panel .img img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: cover;
    object-position: center;
    transition:
        opacity 0.3s ease,
        transform 0.4s ease;
}

.home-showcase__tabs .panel.active .img img {
    animation: home-tab-image-show 0.4s ease both;
}

@keyframes home-tab-image-show {
    from {
        opacity: 0;
        transform: scale(1.015);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Responsive */

@media (max-width: 849px) {
    .home-showcase__tabs .panel .img-inner {
        border-radius: 0 0 10px 10px;
    }
}

/* Home Showcase Mini Banners */

.home-showcase__mini-banners {
    width: 100%;
    max-width: 100%;
}

.home-showcase__mini-banners:after {
    display: none;
}

.home-showcase__mini-banners > .col {
    padding-bottom: 0;
    flex: none !important;
}

.home-showcase__mini-banners > .col > .col-inner,
.home-showcase__mini-banners .img {
    width: 100%;
    height: 100%;
}

.home-showcase__mini-banners .img-inner {
    width: 100%;
    height: 100%;
    aspect-ratio: 240 / 106;
    overflow: hidden;
    background-color: var(--c-bg-soft);
    border-radius: clamp(8px, 1vw, 12px);
}

.home-showcase__mini-banners .img-inner img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: cover;
    object-position: center;
    border-radius: inherit;
    transition:
        transform 0.4s ease,
        opacity 0.3s ease;
}

.home-showcase__mini-banners .img:hover img {
    transform: scale(1.025);
}

/* Mobile: ẩn giống class hidden sm:grid của mẫu */

@media (max-width: 639px) {
    .home-showcase__mini-banners {
        display: none !important;
    }
}

/* Home Showcase - Cột phải */

.home-showcase__right {
    display: flex;
    align-self: stretch;
}

.home-showcase__right > .col-inner {
    display: flex;
    flex: 1;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    height: 100%;
}

.home-showcase-side {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: clamp(6px, 0.8vw, 8px);
    width: 100%;
    min-width: 0;
    height: 100%;
    max-height: 80vh;
}

/* Thẻ thành viên */

.home-member-card {
    flex: 0 0 auto;
    padding: clamp(8px, 1vw, 12px);
    color: var(--c-text-soft);
    background-color: var(--c-white);
    border-radius: clamp(8px, 1vw, 12px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.home-member-card__head {
    display: flex;
    align-items: center;
    gap: 8px;
}

.home-member-card__avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 var(--control-size);
    width: var(--control-size);
    height: var(--control-size);
    color: var(--c-primary);
    background: linear-gradient(180deg, #effffc 0%, #bcebe6 100%);
    border-radius: 50%;
}

.home-member-card__avatar svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.home-member-card__title {
    flex: 1;
    margin: 0;
    color: #282828;
    font-size: clamp(13px, 1.15vw, 16px);
    line-height: 1.4;
    font-weight: 700;
}

.home-member-card__description {
    margin: 6px 0 0;
    color: #666;
    font-size: var(--font-xs);
    line-height: 1.5;
}

.home-member-card__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    margin: 4px 0;
    color: var(--c-gray);
    font-size: var(--font-xs);
    line-height: 1.6;
}

.home-member-card__actions a {
    color: var(--c-primary);
    font-weight: 600;
}

.home-member-card__actions a:hover {
    color: var(--c-primary-dark);
}

.home-member-card__benefit {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #555;
    font-size: var(--font-xs);
    line-height: 1.4;
    font-weight: 500;
}

.home-member-card__benefit:hover {
    color: var(--c-primary);
}

.home-member-card__benefit-icon {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    fill: none;
    stroke: var(--c-primary);
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.home-member-card__benefit > span {
    flex: 1;
}

.home-member-card__arrow {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    fill: none;
    stroke: var(--c-gray);
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 0.2s ease;
}

.home-member-card__benefit:hover .home-member-card__arrow {
    stroke: currentColor;
    transform: translateX(2px);
}

/* Khối dịch vụ và ưu đãi */

.home-support-card {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 6px;
    min-height: 0;
    padding: clamp(7px, 0.8vw, 9px);
    color: var(--c-text-soft);
    background-color: var(--c-white);
    border-radius: clamp(8px, 1vw, 12px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    overflow: hidden;
}

.home-support-card__content {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--c-gray) transparent;
}

.home-support-card__content::-webkit-scrollbar {
    width: 4px;
}

.home-support-card__content::-webkit-scrollbar-thumb {
    background-color: var(--c-gray);
    border-radius: 999px;
}

.home-support-group {
    margin-bottom: 8px;
}

.home-support-group:last-child {
    margin-bottom: 0;
}

.home-support-group__title {
    display: block;
    width: 100%;
    margin-bottom: 3px;
    padding: 4px 6px;
    color: #444;
    background-color: rgba(0, 0, 0, 0.055);
    border-radius: 6px;
    font-size: var(--font-xs);
    line-height: 1.4;
    font-weight: 600;
    text-align: center;
}

.home-support-group__title:hover {
    color: var(--c-primary);
    background-color: rgba(0, 0, 0, 0.08);
}

.home-support-link {
    display: flex;
    align-items: center;
    gap: 7px;
    min-height: 28px;
    padding: 3px 2px;
    color: #555;
    font-size: clamp(10px, 0.9vw, 12px);
    line-height: 1.35;
}

.home-support-link:hover {
    color: var(--c-primary);
    text-decoration: underline;
}

.home-support-link__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    color: var(--c-primary);
}

.home-support-link__icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.home-support-link > span:last-child {
    min-width: 0;
}

.home-support-link strong {
    font-weight: 700;
}

.home-support-card__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 32px;
    padding: 6px 8px;
    color: var(--c-white);
    background-color: var(--c-primary);
    border-radius: 7px;
    font-size: var(--font-xs);
    line-height: 1.2;
    font-weight: 600;
    text-align: center;
    transition:
        background-color 0.2s ease,
        transform 0.2s ease;
}

.home-support-card__cta:hover {
    color: var(--c-white);
    background-color: var(--c-primary-dark);
}

.home-support-card__cta:active {
    transform: translateY(1px);
}

.home-support-card__cta svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* XU HƯỚNG & HÀNG MỚI VỀ — Áp dụng cho Row: home-featured-products */

/* KHUNG NGOÀI CỦA TOÀN BỘ KHỐI */

.home-featured-products .tabbed-content {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    background: linear-gradient(188.66deg, var(--c-panel) 28.75%, rgba(244, 251, 255, 0.4) 87.64%);
    border-radius: var(--radius-lg);
    box-shadow: none;
    overflow: hidden;
}

/* THANH BA TAB TRÊN CÙNG */
.home-featured-products {
    --tab-height: clamp(52px, 5vw, 72px);
    --tab-min-width: clamp(130px, 20vw, 260px);
    --tab-border-size: clamp(2px, 0.4vw, 3px);
}

.home-featured-products .tabbed-content > .nav {
    position: relative;
    z-index: 10;
    flex-wrap: nowrap;
    gap: 0;
    width: 100%;
    min-height: var(--tab-height);
    background-color: var(--c-white);
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    scroll-behavior: smooth;
}

.home-featured-products .tabbed-content > .nav::-webkit-scrollbar {
    display: none;
}

.home-featured-products .tabbed-content > .nav > li {
    position: relative;
    display: flex;
    flex: 1 0 var(--tab-min-width);
    align-items: stretch;

    min-width: var(--tab-min-width);
    min-height: var(--tab-height);
    margin: 0 !important;
    background-color: var(--c-tab);
    border: 0;
    border-bottom: var(--tab-border-size) solid var(--c-primary);
    border-color: var(--c-primary) !important;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    box-shadow:
        inset -1px 0 10px rgba(0, 0, 0, 0.05),
        0 2px 8px rgba(0, 0, 0, 0.03);
    box-sizing: border-box;
    overflow: hidden;
    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        opacity 0.3s ease;
}

.home-featured-products .tabbed-content > .nav > li > a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    min-height: var(--tab-height);
    margin: 0;
    color: var(--c-primary);
    background: transparent;
    font-family: inherit;
    font-size: clamp(14px, 2.4vw, 28px);
    line-height: 1.2;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0;
    cursor: pointer;
}

.home-featured-products .tabbed-content > .nav > li > a > span {
    position: relative;
    z-index: 1;

    display: block;
    width: 100%;

    color: inherit;
    white-space: normal;
    overflow-wrap: break-word;
    word-break: normal;
    text-wrap: balance;

    transition:
        opacity 0.3s ease,
        transform 0.3s ease;
}

.home-featured-products .tabbed-content > .nav > li:not(.active):hover > a > span {
    opacity: 0.7;
}

/* TRẠNG THÁI TAB ACTIVE */

.home-featured-products .tabbed-content > .nav > li.active {
    z-index: 2;
    background-color: var(--c-panel);
    border: var(--tab-border-size) solid var(--c-primary);
    border-bottom: 0;
    box-shadow: none;
}

.home-featured-products .tabbed-content > .nav > li.active > a > span {
    pointer-events: none;
    transform: scale(0.9);
}

.home-featured-products .tabbed-content > .nav > li > a:focus-visible {
    outline: clamp(2px, 0.2vw, 3px) solid var(--c-primary-dark);
    outline-offset: clamp(-5px, -0.3vw, -3px);
}

/* PHẦN CHỨA SẢN PHẨM */

.home-featured-products .tabbed-content > .tab-panels {
    width: 100%;
    padding: clamp(10px, 2vw, 20px) clamp(10px, 2vw, 20px) 0;
    background: transparent;
    border: var(--tab-border-size) solid var(--c-primary);
    border-top: 0;
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
}

.home-featured-products .tabbed-content > .tab-panels .flickity-slider > .col {
    padding-bottom: clamp(10px, 2vw, 20px);
    padding-top: 10px;
}

/* NÚT PREVIOUS/NEXT CỦA FLICKITY */

.home-featured-products .flickity-prev-next-button {
    top: 50% !important;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 72px !important;
    margin: 0 !important;
    padding: 0;
    color: #252525;
    background-color: rgba(255, 255, 255, 0.82) !important;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.16);
    transform: translateY(-50%) !important;
    transition:
        background-color 0.2s ease,
        opacity 0.2s ease !important;
}

.home-featured-products .slider-show-nav .flickity-prev-next-button,
.home-featured-products.slider:hover .flickity-prev-next-button {
    opacity: 1;
    transform: translateY(-50%) !important;
}

.home-featured-products .flickity-prev-next-button.previous {
    left: 0 !important;
    border-radius: 0 999px 999px 0 !important;
}

.home-featured-products .flickity-prev-next-button.next {
    right: 0 !important;
    border-radius: 999px 0 0 999px !important;
}

.home-featured-products .flickity-prev-next-button .flickity-button-icon {
    width: auto;
    height: clamp(24px, 4vw, 28px);
}

/* CATEGORY PRODUCT SHOWCASE — Banner bên trái + Tabs sản phẩm bên phải */

/* CỘT BANNER BÊN TRÁI */

.home-category-showcase__promo > .col-inner {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.home-category-showcase__promo > .col-inner > .img {
    position: relative;
    display: flex;
    flex: 1 1 0;
    width: 100%;
    min-height: 0;
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.home-category-showcase__promo .img-inner {
    width: 100%;
    height: 100%;
    background-color: var(--c-bg-soft);
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.home-category-showcase__promo .img img {
    display: block;
    min-height: 100%;
    margin: 0;
    object-fit: cover;
    object-position: center;
    border-radius: var(--radius-lg);
    transition:
        opacity 0.3s ease,
        transform 0.3s ease;
}

.home-category-showcase__promo .img:hover img {
    transform: scale(1.02);
}

/* CỘT NỘI DUNG BÊN PHẢI */

.home-category-showcase__content > .col-inner {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.home-category-showcase__tabs {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    background-color: transparent;
}

/* THANH TABS */
.home-category-showcase__tabs > .nav {
    position: relative;
    display: flex;
    align-items: stretch;
    flex-wrap: nowrap;
    width: 100%;
    min-height: clamp(48px, calc(42px + 1.5vw), 60px);
    margin: 0;
    background-color: var(--c-white);
    border: 0;
    overflow: hidden;
}

/* Từng tab */

.home-category-showcase__tabs > .nav > li {
    position: relative;

    display: flex;
    flex: 1 1 50%;
    align-items: stretch;
    max-width: 50%;
    min-height: clamp(48px, calc(42px + 1.5vw), 60px);
    margin: 0 !important;
    padding: 0 !important;
    background-color: var(--c-white);
    border: 0;
    border-bottom: 1px solid var(--c-border-soft);
    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease;
}

/* Đường phân cách giữa hai tab */

.home-category-showcase__tabs > .nav > li + li::before {
    content: "";

    position: absolute;
    z-index: 2;
    top: 50%;
    left: 0;

    width: 1px;
    height: clamp(16px, 1.8vw, 20px);

    background-color: var(--c-border-cool);

    transform: translateY(-50%);
}

.home-category-showcase__tabs > .nav > li > a {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-width: 0;
    min-height: clamp(48px, calc(42px + 1.5vw), 60px);

    margin: 0;
    padding: clamp(6px, calc(5px + 0.25vw), 8px) clamp(8px, 1.2vw, 16px);

    color: var(--c-text);
    background: transparent;
    border: 0;
    box-shadow: none;

    font-family: inherit;
    font-size: clamp(14px, calc(13px + 0.25vw), 16px);
    line-height: 1.3;
    font-weight: 600;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0;

    cursor: pointer;

    transition:
        color 0.2s ease,
        background-color 0.2s ease;
}

.home-category-showcase__tabs > .nav > li > a > span {
    display: block;
    width: 100%;

    white-space: normal;
    overflow-wrap: break-word;
    word-break: normal;
    text-wrap: balance;
}

/* Hover */

.home-category-showcase__tabs > .nav > li:not(.active):hover {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.04) 5%, rgba(255, 255, 255, 0.05) 60%);

    border-bottom-color: var(--c-border-strong);
}

.home-category-showcase__tabs > .nav > li:not(.active):hover > a {
    color: var(--c-primary) !important;
}

/* TAB ACTIVE */
.home-category-showcase__tabs > .nav > li.active {
    background-color: var(--c-white);
    background-image: linear-gradient(
        to top,
        color-mix(in srgb, var(--c-primary) 11%, transparent) 5%,
        rgba(255, 255, 255, 0.05) 60%
    );

    border-bottom-color: var(--c-primary);
}

.home-category-showcase__tabs > .nav > li.active > a {
    color: var(--c-primary) !important;
    font-weight: 600;
}

/* PHẦN CHỨA PANEL */

.home-category-showcase__tabs > .tab-panels {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    background-color: transparent;
    border: 0;
}

.home-category-showcase__tabs > .tab-panels > .panel.active {
    animation: category-panel-show 0.3s ease both;
}

@keyframes category-panel-show {
    from {
        opacity: 0;
        transform: translateY(5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.home-category-showcase__tabs .product-small.box:hover::after {
    color: var(--c-primary);
    background-color: color-mix(in srgb, var(--c-primary) 7%, var(--c-white));
    transform: scale(1.08);
}

/* =========================================================
   TABLET VÀ MOBILE
   Chỉ giữ breakpoint cho thay đổi cấu trúc
========================================================= */

@media (max-width: 849px) {
    .home-category-showcase__layout {
        flex-wrap: wrap;
    }

    .home-category-showcase__promo > .col-inner > .img:first-child {
        display: block;
        flex: none;

        width: 100%;
        aspect-ratio: 897 / 150;

        border-radius: var(--radius-sm);
    }

    .home-category-showcase__promo > .col-inner > .img:not(:first-child) {
        display: none;
    }

    .home-category-showcase__promo .img-inner,
    .home-category-showcase__promo .img img {
        border-radius: var(--radius-sm);
    }

    /* Tablet và mobile không viết hoa toàn bộ */

    .home-category-showcase__tabs > .nav > li > a {
        text-transform: none;
    }
}
/* HOME CATEGORIES — Áp dụng cho Row có class: home-categories */

.home-categories > .col {
    padding-bottom: clamp(8px, 1vw, 10px);
}

/* HEADER: TIÊU ĐỀ + NÚT XEM TẤT CẢ */

.section-header > .col-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(8px, 1.5vw, 16px);
    width: 100%;
}

.section-header .section-title {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0;
    width: auto;
    margin-bottom: 0;
    background: transparent;
    font-family: inherit;
    font-size: clamp(16px, 2vw, 20px);
    line-height: 1.4;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0;
    color: #000;
}

.section-header .section-title::after {
    content: "";
    display: none;
    width: 1px;
    height: clamp(20px, 3.5vw, 24px);
    margin-left: clamp(12px, 1.5vw, 16px);
    background-color: var(--c-border-strong);
}

/* NÚT XEM TẤT CẢ */

.section-header .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 0;
    margin: 0 !important;
    padding: clamp(5px, 1.1vw, 6px) clamp(4px, 1.45vw, 8px) !important;
    border-radius: 999px !important;
    font-family: inherit;
    font-size: clamp(11px, 2.2vw, 12px);
    line-height: 1;
    font-weight: 500;
    cursor: pointer;
    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease;
}

.section-header .button span {
    color: inherit;
    white-space: nowrap;
}

.section-header .button i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(14px, 2.9vw, 16px);
    height: clamp(14px, 2.9vw, 16px);
    color: currentColor;
    font-size: clamp(14px, 2.9vw, 16px);
    line-height: 1;
    margin: 0;
    transition: transform 0.2s ease;
}

.section-header .button:hover {
    color: var(--c-primary) !important;
    background-color: var(--c-bg) !important;
    border-color: var(--c-bg) !important;
}

/* COLUMN CHỨA GRID */

.home-categories > .col:not(.home-categories__header) > .col-inner {
    position: relative;
    width: 100%;
    background-color: var(--c-white);
    border-radius: 0;
    box-shadow: none;
    overflow: hidden;
}

.home-categories__grid::before {
    content: "";
    position: absolute;
    z-index: 5;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    background-color: var(--c-white);
    pointer-events: none;
}

.home-categories__grid::after {
    content: "";
    position: absolute;
    z-index: 5;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--c-white);
    pointer-events: none;
}

/* TỪNG Ô DANH MỤC */

.home-categories__grid > .product-category.col {
    padding-bottom: 0;
    background-color: var(--c-white);
    border: 0;
    border-right: 1px solid var(--c-border-soft);
    border-bottom: 1px solid var(--c-border-soft);
}

.home-categories__grid > .product-category.col > .col-inner {
    width: 100%;
    height: 100%;
    min-height: inherit;
}

.home-categories__grid > .product-category.col > .col-inner > a {
    display: block;
    width: 100%;
    height: 100%;
    min-height: inherit;
    color: inherit;
}

/* BOX CATEGORY CHUYỂN THÀNH DẠNG NẰM NGANG */

.home-categories__grid .box-category {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(3px, 0.8vw, 8px);
    width: 100%;
    height: 100%;
    min-height: inherit;
    margin: 0 !important;
    padding: clamp(5px, 0.8vw, 8px) clamp(3px, 0.8vw, 8px) !important;
    background-color: var(--c-white);
    border: 0;
    border-radius: 0;
    box-shadow: none !important;
    overflow: hidden;
    transition:
        background-color 0.2s ease,
        box-shadow 0.2s ease;
}

.home-categories__grid .product-category:hover .box-category {
    background-color: var(--c-white);
}

/* ẢNH DANH MỤC */

.home-categories__grid .box-category .box-image {
    position: relative;
    display: block;
    flex: 0 0 clamp(52px, 6vw, 72px);
    width: clamp(52px, 6vw, 72px);
    height: clamp(52px, 6vw, 72px);
    overflow: hidden;
}

.home-categories__grid .box-category .box-image > div {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.home-categories__grid .box-category .box-image img {
    transition:
        opacity 0.2s ease,
        transform 0.25s ease;
}

.home-categories__grid .product-category:hover .box-image img {
    transform: scale(1.06);
}

/* PHẦN TÊN DANH MỤC */

.home-categories__grid .box-category .box-text {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    min-width: 0;
    padding: 0 !important;
    color: var(--c-text);
    background: transparent !important;
}

.home-categories__grid .box-category .header-title {
    display: -webkit-box;
    width: 100%;
    max-width: 100%;
    color: var(--c-text);
    overflow: hidden;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 500;
    text-transform: none !important;
    letter-spacing: 0;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    transition:
        color 0.2s ease,
        text-decoration-color 0.2s ease;
}

.home-categories__grid .product-category:hover .header-title {
    color: var(--c-text);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

/* ẨN SỐ LƯỢNG SẢN PHẨM */

.home-categories__grid .box-category .count {
    display: none;
}

/* DESKTOP TỪ 768PX */

@media (min-width: 768px) {
    .section-header > .col-inner {
        justify-content: flex-start;
    }
    .section-header .section-title {
        text-transform: uppercase;
    }
    .section-header .section-title::after {
        display: block;
    }
    .home-categories > .col:not(.home-categories__header) > .col-inner {
        border-radius: var(--size-sm);
        box-shadow: 0 clamp(2px, 0.25vw, 3px) clamp(8px, 1vw, 12px) rgba(0, 0, 0, 0.12);
    }
}

/* PRODUCT REVIEW SECTION */

.sendora-review-widget,
.sendora-product-reviews-widget {
    margin: 0 !important;
    padding: 0 !important;
}

.sendora-product-reviews {
    width: 100%;
    margin: clamp(12px, 2vw, 24px) 0;
    padding: 0;
    color: var(--c-text);
    animation: sendora-review-fade-in 0.4s ease both;
}

@keyframes sendora-review-fade-in {
    from {
        opacity: 0;
        transform: translateY(6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* HEADER */

.sendora-product-reviews__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(12px, 1.5vw, 16px);
    width: 100%;
}

/* LINK KÊNH YOUTUBE */

.sendora-product-reviews__channel {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-height: 24px;
    margin: 0;
    padding: 6px 8px;
    color: var(--c-link);
    background-color: var(--c-white);
    border: 1px solid var(--c-white);
    border-radius: 999px;
    font-size: 12px;
    line-height: 1;
    font-weight: 500;
    white-space: nowrap;
    text-decoration: none;
    transition:
        color 0.2s ease,
        background-color 0.2s ease;
}

.sendora-product-reviews__channel svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 0.2s ease;
}

.sendora-product-reviews__channel:hover {
    color: var(--c-primary);
    background-color: var(--c-bg);
}

.sendora-product-reviews__channel:hover svg {
    transform: translateX(3px);
}

/* DANH SÁCH REVIEW — Mobile: cuộn ngang */

.sendora-product-reviews__grid {
    display: flex;
    align-items: stretch;
    gap: var(--size-md);
    width: calc(100% + 8px);
    margin: clamp(8px, 1vw, 10px) -8px 0 0;
    padding: 4px 8px 6px 4px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 4px;
    overscroll-behavior-inline: contain;
}

.sendora-product-reviews__grid::-webkit-scrollbar {
    display: none;
}

/* CARD REVIEW */

.sendora-review-card {
    display: flex;
    flex: 0 0 clamp(250px, 72vw, 260px);
    flex-direction: column;
    min-width: clamp(250px, 72vw, 260px);
    margin: 0;
    padding: 0;
    background-color: var(--c-white);
    border-radius: var(--size-md);
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.12);
    overflow: hidden;
    scroll-snap-align: start;
    transition:
        box-shadow 0.25s ease,
        transform 0.25s ease;
}

.sendora-review-card:hover {
    box-shadow: 0 7px 20px rgba(0, 0, 0, 0.16);
    transform: translateY(-2px);
}

/* VIDEO */

.sendora-review-card__video {
    position: relative;
    width: 100%;
    background-color: #000;
    overflow: hidden;
}

.sendora-review-card__video.is-vertical {
    aspect-ratio: 9 / 16;
}

.sendora-review-card__video.is-horizontal {
    aspect-ratio: 16 / 9;
}

.sendora-review-card__video iframe {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background-color: #000;
    border: 0;
}

/* ẢNH THAY THẾ KHI REVIEW KHÔNG CÓ VIDEO */

.sendora-review-card__media {
    position: relative;
    width: 100%;
    background-color: var(--c-bg-soft);
    overflow: hidden;
}

.sendora-review-card__media iframe,
.sendora-review-card__media-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100% !important;
    height: 100% !important;
    margin: 0;
    padding: 0;
    border: 0;
}

.sendora-review-card__media.has-review-image .sendora-review-card__media-image {
    object-fit: cover;
    object-position: center;
}

.sendora-review-card__media.has-product-image .sendora-review-card__media-image {
    padding: clamp(12px, 2vw, 24px);
    background-color: var(--c-white);
    object-fit: contain;
    object-position: center;
}

.sendora-review-card__media-image.is-placeholder {
    padding: clamp(20px, 3vw, 40px);
    background-color: var(--c-bg-soft);
    object-fit: contain;
    object-position: center;
    opacity: 0.6;
}

.sendora-review-card__media-image {
    transition:
        opacity 0.3s ease,
        transform 0.35s ease;
}

.sendora-review-card:hover .sendora-review-card__media.has-review-image .sendora-review-card__media-image {
    transform: scale(1.025);
}

/* SẢN PHẨM LIÊN QUAN */

.sendora-review-card__product {
    display: flex;
    align-items: flex-start;
    gap: clamp(4px, 0.7vw, 8px);
    width: 100%;
    min-height: 100px;
    margin: 0;
    padding: clamp(12px, 1.4vw, 18px) var(--size-sm);
    color: var(--c-text);
    background-color: var(--c-white);
    text-decoration: none;
    cursor: pointer;
}

.sendora-review-card__image {
    display: block;
    flex: 0 0 clamp(56px, 5vw, 64px);
    width: clamp(56px, 5vw, 64px);
    height: clamp(56px, 5vw, 64px);
    background-color: var(--c-white);
    border-radius: 8px;
    overflow: hidden;
}

.sendora-review-card__image img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    margin: 0;
    object-fit: contain;
    object-position: center;
    border-radius: 8px;
    transition: transform 0.25s ease;
}

.sendora-review-card:hover .sendora-review-card__image img {
    transform: scale(1.06);
}

.sendora-review-card__content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
}

.sendora-review-card__name {
    display: -webkit-box;
    height: 42px;
    min-height: 42px;
    margin: 0 0 4px;
    color: var(--c-text);
    overflow: hidden;
    font-size: clamp(13px, 1.2vw, 16px);
    line-height: 1.32;
    font-weight: 700;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.sendora-review-card__product:hover .sendora-review-card__name {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

.sendora-review-card__price {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 6px;
    min-height: 18px;
    margin: 0;
}

.sendora-review-card__price ins {
    order: -1;
    color: var(--c-primary);
    background: transparent;
    font-size: clamp(12px, 1.1vw, 15px);
    line-height: 1.3;
    font-weight: 700;
    text-decoration: none;
}

.sendora-review-card__price ins .woocommerce-Price-amount {
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
}

.sendora-review-card__price > .woocommerce-Price-amount {
    color: var(--c-primary);
    font-size: clamp(12px, 1.1vw, 15px);
    line-height: 1.3;
    font-weight: 700;
}

.sendora-review-card__price del {
    order: 0;
    color: #b7b7b7;
    font-size: clamp(10px, 0.9vw, 12px);
    line-height: 1.3;
    font-weight: 400;
}

.sendora-review-card__price del .woocommerce-Price-amount {
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
}

.sendora-review-card__contact {
    color: var(--c-primary);
    font-size: clamp(12px, 1.1vw, 15px);
    line-height: 1.3;
    font-weight: 700;
}

@media (min-width: 850px) {
    .sendora-product-reviews__header {
        justify-content: flex-start;
    }
    .sendora-product-reviews__title {
        line-height: 1.4;
        text-transform: uppercase;
    }
    .sendora-product-reviews__divider {
        display: block;
    }
    .sendora-product-reviews__grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 16px;
        width: 100%;
        margin-right: 0;
        padding-right: 4px;
        overflow: visible;
    }
    .sendora-review-card {
        min-width: 0;
        width: 100%;
        flex-basis: auto;
    }
}

/* MÀN HÌNH NHỎ */

@media (max-width: 374px) {
    .sendora-product-reviews__title {
        font-size: 15px;
    }
    .sendora-product-reviews__channel {
        padding-right: 4px;
        padding-left: 4px;
        font-size: 11px;
    }
    .sendora-product-reviews__channel svg {
        width: 14px;
        height: 14px;
    }
}

/* HOME SUPPORT PROGRAMS — Ưu đãi / Chương trình hỗ trợ */

/* Từng khối chương trình */

.home-support-programs__group > .col-inner {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    background-color: var(--c-white);
    border-radius: 12px;
    box-shadow: none;
    overflow: hidden;
}

.home-support-programs__title {
    display: block;
    width: 100%;
    color: var(--c-text);
    font-size: 16px;
    line-height: 1.5;
    font-weight: 700;
    text-align: left;
    text-transform: none;
    letter-spacing: 0;
}

/* * Ảnh mẫu có kích thước 690 x 300 — * 300 / 690 x 100 = 43.4782609% — * — * Dòng này ghi đè padding-top: 50% đang được — * Flatsome tạo trực tiếp trong HTML. */

.home-support-programs__banner-grid .img-inner {
    position: relative;
    border: 1px solid rgba(229, 229, 229, 0.4);
    border-radius: 8px;
    box-sizing: border-box;
    overflow: hidden;
}

.home-support-programs__banner-grid .img:hover img {
    transform: scale(1.02);
}

/* Desktop - tương đương md của mẫu */

@media (min-width: 850px) {
    .home-support-programs__group > .col-inner {
        padding: 16px 16px 0 !important;
        border-radius: 12px;
        box-shadow:
            0 2px 4px rgba(0, 0, 0, 0.04),
            0 6px 16px rgba(0, 0, 0, 0.1);
    }
    .home-support-programs__title {
        font-size: 20px;
        line-height: 2;
        text-align: center;
        text-transform: uppercase;
    }
}

/* HOME NEWS — Row chính: home-news */

/* HEADER: TIÊU ĐỀ + XEM TẤT CẢ */

.home-news__header {
    padding-bottom: 8px;
}

/* CARD BÀI VIẾT */

.home-news__list .box-blog-post {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    background-color: var(--c-white);
    border-radius: var(--radius-lg);
    box-shadow:
        0 2px 4px rgba(0, 0, 0, 0.05),
        0 5px 14px rgba(0, 0, 0, 0.12);
    overflow: hidden;
    transition:
        box-shadow 0.25s ease,
        transform 0.25s ease;
}

.home-news__list .box-blog-post:hover {
    box-shadow:
        0 3px 6px rgba(0, 0, 0, 0.06),
        0 8px 20px rgba(0, 0, 0, 0.14);
    transform: translateY(-2px);
}

/* ẢNH BÀI VIẾT 16:9 */

.home-news__list .box-image {
    width: 100%;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    overflow: hidden;
}

/* * Ghi đè padding-top: 75% đang nằm trực tiếp — * trong HTML thành tỷ lệ 16:9 = 56.25% */

.home-news__list .box-image .image-cover {
    position: relative;
    width: 100%;
    height: 0;
    background-color: var(--c-bg-soft);
    border-radius: inherit;
    overflow: hidden;
}

.home-news__list .box-image a {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
}

.home-news__list .box-image img {
    position: absolute;
    inset: 0;
    display: block;
    margin: 0;
    object-fit: cover;
    object-position: center;
    transition:
        opacity 0.5s ease,
        transform 0.4s ease;
}

.home-news__list .box-blog-post:hover .box-image img {
    transform: scale(1.035);
}

/* NỘI DUNG CARD */

.home-news__list .box-text {
    display: flex;
    flex: 1 1 auto;
    width: 100%;
    margin: 0 !important;
    padding: 8px !important;
    text-align: left !important;
}

.home-news__list .blog-post-inner {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

.home-news__list .post-title {
    overflow: hidden;
    font-size: var(--size-md);
    line-height: 1.4;
    font-weight: 400;
}

.home-news__list .post-title a {
    color: var(--c-heading);
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    color: inherit;
    font: inherit;
}

.home-news__list .box-blog-post:hover .post-title a {
    text-decoration: underline;
    text-underline-offset: 2px;
}

.home-news__list .is-divider,
.home-news__list .post-meta,
.home-news__list .from_the_blog_excerpt,
.home-news__list .badge {
    display: none !important;
}

/* BÀI VIẾT KHÔNG CÓ ẢNH ĐẠI DIỆN */

.home-news__list .box-blog-post:not(:has(.box-image))::before {
    content: "Chưa có ảnh đại diện";
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 16 / 9;
    color: var(--c-muted-light);
    background: linear-gradient(135deg, var(--c-bg) 0%, #f0f0f0 100%);
    font-size: 12px;
    text-align: center;
}

/* DESKTOP */

@media (min-width: 850px) {
    .home-news__header > .col-inner {
        justify-content: flex-start;
    }
    .home-news__list .box-blog-post {
        gap: 8px;
        padding: 8px !important;
        border-radius: 12px;
    }
    .home-news__list .box-image,
    .home-news__list .box-image .image-cover {
        border-radius: 8px;
    }
    .home-news__list .box-text {
        padding: 0;
    }
}

.brand-showcase .section-title::after {
    display: none !important;
}

.brand-showcase__grid .img-inner {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 690 / 300;
    margin: 0 !important;
    padding: 0 !important;
    background-color: var(--c-bg-soft);
    border: 1px solid var(--c-border);
    border-radius: 8px;
    box-sizing: border-box;
    overflow: hidden;
}

.brand-showcase__grid .img-inner img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border: 0;
    border-radius: inherit;
    opacity: 1;
    transition:
        opacity 0.5s ease,
        transform 0.35s ease;
}

.brand-showcase__grid .img:hover img {
    transform: scale(1.02);
}

/* SENDORA FOOTER */

#footer {
    color: var(--c-text);
    background-color: var(--c-bg);
    font-size: 14px;
    line-height: 1.5;
}

#footer .absolute-footer {
    display: none;
}

/* TIÊU ĐỀ FOOTER */

#footer .footer-main__heading {
    display: block;
    width: 100%;
    margin-bottom: 12px;
    color: var(--c-text);
    font-size: 16px;
    line-height: 1.5;
    font-weight: 600;
    text-align: left;
    text-transform: none;
    letter-spacing: 0;
}

#footer .footer-main__column--contact > .col-inner > p {
    margin: 0 0 5px;
    color: var(--c-text);
    font-size: 14px;
    line-height: 1.5;
}

#footer .footer-main__column--contact a {
    color: inherit;
}

#footer .footer-main__column--contact strong a {
    color: var(--c-text);
    font-weight: 700;
}

#footer .footer-main__column--contact strong a:hover {
    color: var(--c-primary);
}

#footer .footer-main__payment-heading,
#footer .footer-main__newsletter-heading {
    margin-top: 24px;
}

#footer .footer-main__payments .box-image {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    overflow: hidden;
}

/* KHỐI ĐĂNG KÝ NHẬN ƯU ĐÃI */

#footer .footer-main__newsletter-offer {
    margin: 0 0 8px;
    padding: 6px 8px;
    color: var(--c-muted);
    background-color: var(--c-bg-alt);
    border-radius: 4px;
    font-size: 12px;
    line-height: 1.5;
}

#footer .footer-main__newsletter-offer strong {
    display: block;
    margin-bottom: 2px;
    color: var(--c-primary);
    font-size: 13px;
    font-weight: 600;
}

/* CONTACT FORM 7 TRONG FOOTER */

#footer .footer-main__column--contact .wpcf7-form {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 100%;
    margin: 0;
    padding: 0;
}

#footer .footer-main__column--contact .wpcf7-form > p {
    width: 100%;
}

#footer .footer-main__column--contact .wpcf7-form label {
    display: block;
    color: var(--c-text);
    font-size: 12px;
    line-height: 1.5;
    font-weight: 500;
}

#footer .footer-main__column--contact .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
    margin-top: 2px;
}

#footer .footer-main__column--contact input[type="email"],
#footer .footer-main__column--contact input[type="tel"],
#footer .footer-main__column--contact input[type="text"] {
    display: block;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 10px 20px;
    color: var(--c-text);
    background-color: var(--c-white);
    border: 1px solid var(--c-border-strong);
    border-radius: 4px;
    box-shadow: none;
    font-family: inherit;
    font-size: 14px;
    line-height: 1;
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

#footer .footer-main__column--contact input::placeholder {
    color: var(--c-muted-light);
    opacity: 1;
}

#footer .footer-main__column--contact input[type="email"]:focus,
#footer .footer-main__column--contact input[type="tel"]:focus,
#footer .footer-main__column--contact input[type="text"]:focus {
    border-color: var(--c-muted);
    box-shadow: 0 0 0 1px var(--c-muted);
    outline: none;
}

#footer .footer-main__column--contact .wpcf7-acceptance {
    display: block;
    margin-top: 2px;
}

#footer .footer-main__column--contact .wpcf7-list-item {
    display: block;
    margin: 0;
}

#footer .footer-main__column--contact .wpcf7-acceptance label {
    display: flex;
    align-items: flex-start;
    gap: 5px;
    color: var(--c-primary);
    font-size: 12px;
    line-height: 1.4;
    font-weight: 400;
    cursor: pointer;
}

#footer .footer-main__column--contact .wpcf7-acceptance input[type="checkbox"] {
    flex: 0 0 12px;
    width: 12px;
    height: 12px;
    margin: 1px 0 0;
    accent-color: var(--c-primary);
}

#footer .footer-main__column--contact input[type="submit"] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 10px 20px !important;
    color: var(--c-white);
    background-color: var(--c-primary);
    border: 1px solid var(--c-primary);
    border-radius: 8px;
    box-shadow: none;
    font-family: inherit;
    font-size: 14px;
    line-height: 1;
    font-weight: 500;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0;
    cursor: pointer;
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease;
}

#footer .footer-main__column--contact input[type="submit"]:hover {
    color: var(--c-white);
    background-color: var(--c-primary-dark);
    border-color: var(--c-primary-dark);
}

#footer .footer-main__column--contact .wpcf7-spinner {
    display: none;
}

#footer .footer-main__column--contact .wpcf7-response-output {
    margin: 6px 0 0;
    padding: 8px;
    border-radius: 4px;
    font-size: 12px;
}

/* MENU CHÍNH SÁCH VÀ DỊCH VỤ */

#footer .footer-main__menu {
    gap: 10px;
}

#footer .footer-main__menu .ux-menu-link {
    display: block;
    width: 100%;
    min-height: 0;
}

#footer .footer-main__menu .ux-menu-link__link {
    display: block;
    width: 100%;
    min-height: 0;
    padding: 0;
    color: var(--c-text);
    border: 0;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
}

#footer .footer-main__menu .ux-menu-link__link:hover {
    color: var(--c-text);
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* MẠNG XÃ HỘI */

#footer .footer-main__socials {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0;
}

#footer .footer-main__socials .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: none;
}

#footer .footer-main__socials .button i {
    font-size: 16px;
    line-height: 1;
}

/* THÔNG TIN SENDORA */

#footer .footer-main__company-links {
    margin-top: 24px;
}

#footer .footer-main__company-links > p {
    margin: 0 0 10px;
    color: var(--c-text);
    font-size: 14px;
    line-height: 1.5;
}

#footer .footer-main__company-links > p:first-of-type {
    color: var(--c-muted);
}

#footer .footer-main__company-links a {
    color: var(--c-text);
}

#footer .footer-main__company-links a:hover {
    color: var(--c-text);
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* DANH MỤC PHỔ BIẾN DƯỚI FOOTER */

.footer-categories__row .footer-categories__column {
    padding-bottom: 0;
}

#footer .footer-categories__links,
#footer .footer-categories__links p {
    margin: 0;
}

#footer .footer-categories__links p {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

#footer .footer-categories__links a {
    display: inline-flex;
    align-items: center;
    color: var(--c-text);
    font-size: 12px;
    line-height: 2;
    font-weight: 400;
}

#footer .footer-categories__links a:hover {
    color: var(--c-text);
    text-decoration: underline;
    text-underline-offset: 2px;
}

#footer .footer-categories__links a:not(:last-child)::after {
    content: "|";
    margin: 0 6px;
    color: var(--c-muted-light);
    text-decoration: none;
}

/* FOOTER BOTTOM */

#footer .footer-bottom {
    border-top: 1px solid rgba(0, 0, 0, 0.04);
}

#footer .footer-bottom__company,
#footer .footer-bottom__company p {
    margin: 0;
    color: var(--c-muted);
    font-size: 12px;
    line-height: 2;
    text-align: center;
}

#footer .footer-bottom__badges {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 8px 0 0;
}

#footer .footer-bottom__badges > .gallery-col {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
}

#footer .footer-bottom__badges img {
    display: block;
    width: auto;
    max-width: 150px;
    height: 30px;
    object-fit: contain;
}

/* WOOCOMMERCE BREADCRUMB */

.woocommerce-breadcrumb.breadcrumbs {
    display: flex;
    align-items: center;
    gap: clamp(6px, 0.7vw, 10px);
    width: 100%;
    color: #707070;
    font-size: clamp(12px, 0.25vw + 11px, 14px);
    line-height: 1.5;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
    white-space: nowrap;
}

/* LINK TRANG CHỦ */

.woocommerce-breadcrumb.breadcrumbs > a:first-of-type {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    gap: clamp(3px, 0.35vw, 5px);
    color: var(--c-ink);
    font-size: inherit;
    line-height: inherit;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.2s ease;
}

.woocommerce-breadcrumb.breadcrumbs > a:first-of-type:hover {
    color: var(--c-primary);
}

.woocommerce-breadcrumb.breadcrumbs > a:first-of-type::before {
    content: "";
    display: block;
    flex: 0 0 auto;
    width: clamp(15px, 1.2vw, 17px);
    height: clamp(15px, 1.2vw, 17px);
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 11 9-8 9 8'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3Cpath d='M9 20v-6h6v6'/%3E%3C/svg%3E")
        center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 11 9-8 9 8'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3Cpath d='M9 20v-6h6v6'/%3E%3C/svg%3E")
        center / contain no-repeat;
}

/* DẤU PHÂN CÁCH */

.woocommerce-breadcrumb.breadcrumbs .divider {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    margin: 0 !important;
    color: var(--c-muted-light);
    font-size: clamp(12px, 1vw, 14px);
    line-height: 1;
    font-weight: 400;
}

/* KHUNG NỘI DUNG SHOP */

body.woocommerce.archive .category-page-row {
    display: block;
}

body.woocommerce.archive .category-page-row > .col {
    width: 100% !important;
    max-width: 100% !important;
}

body.woocommerce.archive #shop-sidebar > aside {
    display: flex;
    flex-direction: column;
    gap: clamp(6px, 0.7vw, 8px);
    width: 100%;
}

body.woocommerce.archive #shop-sidebar > aside > .is-divider {
    display: none !important;
}

body.woocommerce.archive #shop-sidebar > aside > .widget-title {
    color: var(--c-ink);
    font-size: clamp(18px, 1.5vw, 20px);
    font-weight: 700;
    margin-bottom: var(--size-md);
    text-transform: none;
}

/* NÚT BỘ LỌC */

.category-filtering > .filter-button {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: clamp(4px, 0.5vw, 6px);
    padding: clamp(7px, 0.7vw, 8px) clamp(12px, 1.3vw, 16px);
    color: var(--c-primary);
    background-color: var(--c-white);
    border: 1px solid var(--c-primary);
    border-radius: var(--radius-sm);
    font-size: var(--font-sm);
    line-height: 1.3;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
    cursor: pointer;
}

.category-filtering > .filter-button::before {
    content: "";
    display: block;
    flex: 0 0 clamp(16px, 1.4vw, 18px);
    width: clamp(16px, 1.4vw, 18px);
    height: clamp(16px, 1.4vw, 18px);
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h18l-7 8v6l-4 2v-8L3 4Z'/%3E%3C/svg%3E")
        center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h18l-7 8v6l-4 2v-8L3 4Z'/%3E%3C/svg%3E")
        center / contain no-repeat;
}

.category-filtering > .filter-button .icon-equalizer {
    display: none;
}

/* DANH MỤC SẢN PHẨM DẠNG NÚT */

body.woocommerce.archive #shop-sidebar .product-categories {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: clamp(6px, 0.7vw, 8px);
    width: auto;
    list-style: none;
}

body.woocommerce.archive #shop-sidebar .product-categories > li > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: var(--size-xs) clamp(14px, 1.7vw, 20px);
    color: #1d1d20;
    background-color: var(--c-bg-alt);
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    font-size: var(--font-sm);
    line-height: 1.25;
    font-weight: 400;
    text-decoration: none;
    white-space: nowrap;
    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease;
}

body.woocommerce.archive #shop-sidebar .product-categories > li > a:hover {
    color: #1d1d20;
    background-color: #d7d7da;
}

body.woocommerce.archive #shop-sidebar .product-categories > li.current-cat > a,
body.woocommerce.archive #shop-sidebar .product-categories > li.current-cat-parent > a {
    color: var(--c-primary);
    background-color: var(--c-white);
    border-color: var(--c-primary);
}

/* THANH SẮP XẾP WOOCOMMERCE */

body.woocommerce.archive .woocommerce-ordering-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--size-sm);
    width: 100%;
    margin: 0 0 clamp(16px, 2vw, 24px);
}

body.woocommerce.archive .woocommerce-ordering-wrap > label {
    margin: 0;
    color: var(--c-ink);
    font-size: clamp(17px, 1.5vw, 20px);
    line-height: 1.4;
    font-weight: 700;
}

body.woocommerce.archive .woocommerce-ordering {
    margin: 0 !important;
}

body.woocommerce.archive .woocommerce-ordering select {
    min-height: clamp(40px, 3.8vw, 42px);
    margin: 0;
    padding: clamp(7px, 0.7vw, 8px) clamp(32px, 3vw, 38px) clamp(7px, 0.7vw, 8px) clamp(12px, 1.3vw, 16px);
    color: var(--c-ink);
    background-color: var(--c-tab);
    border: 1px solid var(--c-border-cool);
    border-radius: 999px;
    box-shadow: none;
    font-size: var(--font-sm);
    font-weight: 500;
}

/* KHUNG DANH SÁCH SẢN PHẨM */

body.woocommerce.archive .shop-container {
    width: 100%;
}

body.woocommerce.archive .shop-container > .woocommerce-notices-wrapper:empty {
    display: none;
}

/* PRODUCT GRID */

body.woocommerce.archive .shop-container .products.row {
    align-items: stretch;
}

/* PRODUCT CARD */

body.woocommerce.archive .products .product-small > .col-inner {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    background-color: var(--c-white);
    border-radius: var(--radius-lg);
    box-shadow:
        0 3px 8px rgba(0, 0, 0, 0.05),
        0 8px 20px rgba(0, 0, 0, 0.06);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

body.woocommerce.archive .products .product-small > .col-inner:hover {
    box-shadow:
        0 5px 12px rgba(0, 0, 0, 0.07),
        0 12px 24px rgba(0, 0, 0, 0.09);
}

body.woocommerce.archive .products .product-small .product-small.box {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}
.related-products-wrapper .badge-container,
body .product-list .badge-container,
body.woocommerce.archive .products .badge-container {
    left: clamp(8px, 1vw, 12px);
    margin: 0;
}

.related-products-wrapper .badge-inner,
body .product-list .badge-inner,
body.woocommerce.archive .products .badge-inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(2px, 0.3vw, 4px);
    width: auto;
    min-width: clamp(58px, 6vw, 66px);
    height: clamp(20px, 2vw, 22px);
    padding: clamp(2px, 0.25vw, 3px) var(--size-xs);
    color: var(--c-white);
    border-radius: clamp(3px, 0.35vw, 4px);
    font-size: clamp(10px, 0.9vw, 11px);
    line-height: 1;
    font-weight: 600;
    white-space: nowrap;
}

/* body .product-list .badge-inner.new-bubble::after,
body.woocommerce.archive .products .badge-inner.new-bubble::after {
    content: "Giảm";
    order: -1;
    flex-shrink: 0;
} */

.related-products-wrapper .badge-inner::before,
body .product-list .badge-inner::before,
body.woocommerce.archive .products .badge-inner::before {
    content: "";
    z-index: -1;
    position: absolute;
    top: 0;
    left: clamp(-5px, -0.4vw, -3px);
    width: clamp(5px, 0.6vw, 7px);
    height: clamp(5px, 0.6vw, 7px);
    background-color: #0e4845;
    clip-path: polygon(100% 0, 100% 100%, 0 100%);
}

/* ẢNH SẢN PHẨM */

body.woocommerce.archive .products .box-image {
    position: relative;
    width: 100%;
    background-color: var(--c-white);
    overflow: hidden;
}
/* NỘI DUNG PRODUCT CARD */

body.woocommerce.archive .products .title-wrapper {
    width: 100%;
}

body.woocommerce.archive .products .product-title {
    width: 100%;
    color: var(--c-ink);
    font-size: clamp(13px, 1vw, 15px);
    line-height: 1.4;
    font-weight: 700;
    text-align: left;
    text-transform: none;
}

body.woocommerce.archive .products .product-title a:hover {
    color: var(--c-primary);
}

/* GIÁ SẢN PHẨM */

body.woocommerce.archive .products .price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: clamp(3px, 0.35vw, 4px) clamp(6px, 0.7vw, 8px);
    width: 100%;
    color: var(--c-danger);
    font-size: clamp(15px, 1.25vw, 18px);
    line-height: 1.3;
    font-weight: 700;
}

body.woocommerce.archive .products .price ins {
    color: var(--c-danger);
    background: none;
    font-weight: 700;
    text-decoration: none;
}

body.woocommerce.archive .products .price del {
    color: #a1a1aa;
    font-size: var(--font-xs);
    font-weight: 400;
    opacity: 1;
}

/* NÚT LIÊN HỆ */

body.woocommerce.archive .products .contact-price-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: clamp(6px, 0.6vw, 7px) clamp(10px, 1vw, 12px);
    line-height: 1;
}

/* BADGE GIẢM GIÁ */

.single-product .product-gallery .badge {
    width: auto;
    height: auto;
    margin: 0;
}

.single-product .product-gallery .badge-inner {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: clamp(56px, 5vw, 70px);
    min-height: clamp(26px, 2.4vw, 32px);
    padding: clamp(6px, 1vw, 12px) clamp(10px, 2vw, 20px);
    color: var(--c-white);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: clamp(3px, 0.5vw, 6px);
    box-shadow: 0 clamp(2px, 0.3vw, 4px) clamp(6px, 0.8vw, 12px) rgba(212, 42, 31, 0.25);
    font-size: clamp(12px, 1.4vw, 16px);
    line-height: 1.1;
    font-weight: 700;
    text-align: center;
    white-space: nowrap;
    letter-spacing: 0.01em;
}

/* PRODUCT GALLERY – TRANG CHI TIẾT SẢN PHẨM */

.single-product .product-gallery {
    min-width: 0;
}

/* KHUNG ẢNH LỚN */

.single-product .product-gallery .product-gallery-slider {
    position: relative;
    width: 100%;
    background-color: var(--c-white);
    border: 1px solid var(--c-gallery-border);
    border-radius: var(--radius-gallery);
    overflow: hidden;
}

.single-product .product-gallery .product-gallery-slider .woocommerce-product-gallery__image {
    width: 100%;
    padding: clamp(5px, 0.7vw, 8px);
    background-color: var(--c-white);
    overflow: hidden;
}

.single-product .product-gallery .product-gallery-slider .woocommerce-product-gallery__image > a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.single-product .product-gallery .product-gallery-slider .woocommerce-product-gallery__image img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    margin: 0;
    padding: 0;
    object-fit: contain;
    object-position: center;
    border-radius: calc(var(--radius-gallery) - clamp(4px, 0.4vw, 5px));
}

/* NÚT ĐIỀU HƯỚNG ẢNH LỚN */

.single-product .product-gallery .product-gallery-slider .flickity-prev-next-button {
    top: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(26px, 2.5vw, 30px);
    height: clamp(48px, 5vw, 60px);
    margin: 0;
    padding: 0;
    color: var(--c-white);
    background-color: rgba(0, 0, 0, 0.3);
    border: 0;
    border-radius: 0;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-50%);
    transition:
        opacity 0.25s ease,
        visibility 0.25s ease,
        background-color 0.25s ease;
}

.single-product .product-gallery .product-gallery-slider:hover .flickity-prev-next-button {
    opacity: 1;
    visibility: visible;
}

.single-product .product-gallery .product-gallery-slider .flickity-prev-next-button:hover {
    color: var(--c-white);
    background-color: rgba(0, 0, 0, 0.65);
}

.single-product .product-gallery .product-gallery-slider .flickity-prev-next-button.previous {
    left: 0;
    border-radius: 0 999px 999px 0;
}

.single-product .product-gallery .product-gallery-slider .flickity-prev-next-button.next {
    right: 0;
    border-radius: 999px 0 0 999px;
}

.single-product .product-gallery .product-gallery-slider .flickity-button-icon {
    fill: currentColor;
}

/* THANH THUMBNAIL BÊN DƯỚI */

.single-product .product-gallery .product-thumbnails .col > a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: clamp(2px, 0.25vw, 3px);
    background-color: var(--c-white);
    border: 0;
    border-radius: var(--radius-sm);
    box-shadow: none;
    cursor: pointer;
    overflow: hidden !important;
}

.single-product .product-gallery .product-thumbnails .col > a::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    border: 1px solid var(--c-gallery-border);
    border-radius: inherit;
    pointer-events: none;
    transition: border-color 0.2s ease;
}

.single-product .product-gallery .product-thumbnails .col > a::after {
    content: "";
    position: absolute;
    z-index: 3;
    inset: 1px;
    border: 3px solid var(--c-white);
    border-radius: var(--radius-sm);
    opacity: 1;
    pointer-events: none;
    transition: opacity 0.2s ease;
}

.single-product .product-gallery .product-thumbnails .col.is-nav-selected > a::before,
.single-product .product-gallery .product-thumbnails .col.is-selected > a::before {
    border-color: var(--c-primary);
}

.single-product .product-gallery .product-thumbnails .col img {
    display: block;
    width: 100%;
    max-height: 100%;
    height: 100%;
    border-radius: var(--radius-sm);
    opacity: 1;
    overflow: hidden;
}

.single-product .product-gallery .product-thumbnails .is-nav-selected a img,
.single-product .product-gallery .product-thumbnails a:hover img {
    opacity: 1;
    transform: translateY(0);
}

/* NÚT ĐIỀU HƯỚNG THUMBNAIL */

.single-product .product-gallery .product-thumbnails .flickity-prev-next-button {
    top: 50%;
    bottom: auto;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(40px, 4vw, 48px) !important;
    height: 100%;
    margin: 0;
    padding: 0;
    color: var(--c-text-soft);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    opacity: 1;
    transform: translateY(-50%) !important;
}

.single-product .product-gallery .product-thumbnails .flickity-prev-next-button.previous {
    left: 1px;
    background: linear-gradient(90deg, var(--c-white) 45%, rgba(255, 255, 255, 0));
}

.single-product .product-gallery .product-thumbnails .flickity-prev-next-button.next {
    right: 1px;
    background: linear-gradient(270deg, var(--c-white) 45%, rgba(255, 255, 255, 0));
}

.single-product .product-gallery .product-thumbnails .flickity-button-icon {
    width: 60%;
    height: auto;
    aspect-ratio: 1;
    padding: clamp(6px, 0.7vw, 8px) !important;
    color: var(--c-text-soft);
    fill: currentColor;
    background-color: var(--c-white);
    border-radius: 50%;
    box-shadow:
        0 1px 4px rgba(0, 0, 0, 0.2),
        0 3px 10px rgba(0, 0, 0, 0.08);
    transition: box-shadow 0.2s ease;
}

.single-product .product-gallery .product-thumbnails .flickity-prev-next-button:hover .flickity-button-icon {
    box-shadow:
        0 1px 5px rgba(0, 0, 0, 0.35),
        0 4px 12px rgba(0, 0, 0, 0.12);
}

/* NÚT ZOOM CỦA FLATSOME */

.single-product .product-gallery .product-images .zoom-button {
    bottom: var(--size-xs);
    left: var(--size-xs);
    width: clamp(32px, 3vw, 36px);
    height: clamp(32px, 3vw, 36px);
    min-height: clamp(32px, 3vw, 36px);
    margin: 0;
    color: var(--c-text-soft);
    background-color: rgba(255, 255, 255, 0.92);
    border: 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.14);
}

/* PRODUCT SUMMARY – FLATSOME SINGLE PRODUCT */

.single-product .product-info.summary {
    min-width: 0;
    width: 100%;
    padding-bottom: 0;
    color: var(--c-product-text);
}

/* TIÊU ĐỀ SẢN PHẨM */

.single-product .product-info.summary .product-title {
    margin: 0 0 clamp(12px, 1.4vw, 18px);
    color: var(--c-heading);
    font-size: clamp(21px, 2vw, 28px);
    line-height: 1.3;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0;
}

/* KHỐI GIÁ / LIÊN HỆ */

.single-product .product-info.summary > .price-wrapper {
    width: 100%;
    margin: 0 0 clamp(14px, 1.5vw, 20px);
}

.single-product .product-info.summary .contact-price-button {
    color: var(--c-primary);
    font-size: clamp(21px, 2.1vw, 28px);
    line-height: 1.25;
    font-weight: 700;
}

/* MÔ TẢ NGẮN SẢN PHẨM */

.single-product .product-info.summary .product-short-description {
    width: 100%;
    margin: 0 0 clamp(16px, 1.7vw, 22px);
    padding: clamp(13px, 1.4vw, 18px);
    color: var(--c-product-text);
    background-color: var(--c-product-bg);
    border: 1px solid var(--c-border);
    border-radius: clamp(10px, 1vw, 14px);
}

.single-product .product-info.summary .product-short-description li {
    font-size: var(--font-sm);
    line-height: 1.5;
}

.single-product .product-info.summary .product-short-description li strong {
    color: var(--c-product-text);
    font-weight: 700;
}

/* FORM BIẾN THỂ */

.single-product .product-info.summary table.variations tr {
    display: block;
    width: 100%;
    margin: 0 0 clamp(14px, 1.6vw, 18px);
    border: 0;
}

/* TÊN THUỘC TÍNH: ĐỘNG CƠ / MÀU */

.single-product .product-info.summary table.variations th.label {
    margin-bottom: clamp(8px, 0.8vw, 10px);
}

.single-product .product-info.summary table.variations th.label label {
    color: var(--c-product-text);
    font-size: clamp(14px, 1.6vw, 16px);
}

/* GRID LỰA CHỌN CHUNG */

.single-product .product-info.summary .variable-items-wrapper {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: clamp(10px, 1vw, 14px);
    width: 100%;
}

.single-product .product-info.summary .variable-items-wrapper .variable-item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: clamp(36px, 4vw, 42px);
    padding: clamp(6px, 0.7vw, 10px);
    margin: 0;
    color: var(--c-text);
    background-color: var(--c-white);
    border: 1px solid var(--c-gray);
    border-radius: var(--radius-sm);
    outline: 0;
    box-shadow: none;
    transition:
        color 0.2s ease,
        border-color 0.2s ease,
        background-color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}

.single-product .product-info.summary .variable-items-wrapper.button-variable-items-wrapper .variable-item {
    flex: 0 0 aut;
    width: fit-content;
}

.single-product .product-info.summary .variable-items-wrapper .variable-item:hover {
    border-color: var(--c-primary);
    transform: translateY(-1px);
}

.single-product .product-info.summary .variable-item .variable-item-contents {
    position: static;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

/* LỰA CHỌN PHIÊN BẢN / ĐỘNG CƠ */

.single-product .product-info.summary .button-variable-items-wrapper .variable-item-span-button {
    width: 100%;
    color: inherit;
    font-size: clamp(13px, 1.1vw, 15px);
    line-height: 1.4;
    font-weight: 500;
    text-align: center;
    white-space: normal;
}

/* LỰA CHỌN MÀU */

.single-product .product-info.summary .color-variable-items-wrapper .variable-item {
    width: auto;
    gap: clamp(7px, 0.8vw, 10px);
    justify-content: flex-start;
    text-align: left;
    padding: 4px;
}

.single-product .product-info.summary .color-variable-items-wrapper .variable-item .variable-item-contents {
    aspect-ratio: 1;
    width: 100%;
}

.single-product .product-info.summary .color-variable-items-wrapper .variable-item-span-color {
    display: block;
    border: 1px solid #d4d4d8;
    border-radius: clamp(4px, 0.4vw, 5px);
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.75);
}

/* LỰA CHỌN ĐANG ACTIVE */

.single-product .product-info.summary .variable-items-wrapper .variable-item.selected,
.single-product .product-info.summary .variable-items-wrapper .variable-item[aria-checked="true"] {
    color: var(--c-primary) !important;
    background-color: var(--c-primary-soft) !important;
    border-color: var(--c-primary);
    box-shadow: inset 0 0 0 1px var(--c-primary);
}

.single-product .product-info.summary .variable-item .variable-item-contents::after {
    content: "✓";
    position: absolute;
    z-index: 3;
    top: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(16px, 1.4vw, 18px);
    height: clamp(16px, 1.4vw, 18px);
    color: var(--c-white);
    background-color: var(--c-primary);
    border-radius: 0 var(--radius-control) 0 var(--radius-control);
    font-size: clamp(9px, 0.8vw, 10px);
    line-height: 1;
    font-weight: 700;
    opacity: 0;
    visibility: hidden;
}

.woo-variation-swatches
    .variable-items-wrapper
    .variable-item:not(.radio-variable-item).color-variable-item.selected:not(.no-stock)
    .variable-item-contents::before {
    display: none !important;
}

.single-product .product-info.summary .variable-item.selected .variable-item-contents::after,
.single-product .product-info.summary .variable-item[aria-checked="true"] .variable-item-contents::after {
    opacity: 1;
    visibility: visible;
}

.single-product .product-info.summary .variable-item.disabled {
    opacity: 0.45;
    pointer-events: none;
}

/* NÚT XÓA LỰA CHỌN */

.single-product .product-info.summary .reset_variations {
    display: inline-flex;
    align-items: center;
    margin-top: clamp(7px, 0.7vw, 9px);
    color: var(--c-product-muted);
    font-size: var(--font-xs);
    line-height: 1.4;
    font-weight: 500;
    text-decoration: none;
}

.single-product .product-info.summary .reset_variations:hover {
    color: var(--c-primary);
}

/* PHẦN VARIATION ĐƯỢC CHỌN */

.single-product .product-info.summary .single_variation_wrap {
    width: 100%;
    margin: 0;
}

/* NÚT LIÊN HỆ MUA HÀNG */

.single-product .product-info.summary .single_add_to_cart_button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-height: clamp(50px, 5.2vw, 58px);
    margin: 0 !important;
    padding: clamp(12px, 1.2vw, 15px) clamp(18px, 2vw, 26px) !important;
    color: var(--c-white) !important;
    background: linear-gradient(180deg, var(--c-primary), var(--c-primary-dark)) !important;
    border: 1px solid var(--c-primary) !important;
    border-radius: var(--radius-control) !important;
    box-shadow: 0 4px 12px rgba(0, 125, 117, 0.18) !important;
    font-size: clamp(15px, 1.4vw, 17px);
    line-height: 1.25;
    font-weight: 700;
    text-align: center;
    text-transform: none;
    letter-spacing: 0;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        filter 0.2s ease;
}

.single-product .product-info.summary .single_add_to_cart_button:not(.disabled):hover {
    color: var(--c-white);
    filter: brightness(0.94);
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(0, 125, 117, 0.25) !important;
}

.single-product .product-info.summary .single_add_to_cart_button.disabled {
    color: var(--c-white) !important;
    opacity: 0.55;
    cursor: not-allowed;
    pointer-events: none;
}

/* TRẠNG THÁI FOCUS – HỖ TRỢ BÀN PHÍM */

.single-product .product-info.summary .variable-item:focus-visible,
.single-product .product-info.summary .single_add_to_cart_button:focus-visible {
    outline: 3px solid rgba(0, 155, 145, 0.2) !important;
    outline-offset: 2px;
}

/* =========================================================
   PRODUCT DETAIL CONTENT – FLATSOME
========================================================= */

.single-product .product-page-sections {
    --detail-bg: var(--color-neutral-100, #f7f7f8);
    --detail-white: var(--c-white, #fff);
    --detail-text: var(--c-text, #18181b);
    --detail-muted: var(--c-muted, #646464);
    --detail-border: var(--c-border, #d9d9dd);
    --detail-primary: var(--primary-color, #009b91);
    --detail-primary-light: rgba(0, 155, 145, 0.08);

    --detail-radius: clamp(12px, 1.2vw, 16px);
    --detail-radius-small: clamp(7px, 0.7vw, 9px);
    --detail-padding: clamp(10px, 1.4vw, 16px);
    --detail-gap: clamp(12px, 1.5vw, 18px);

    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: var(--detail-gap);

    width: 100%;
    margin: 0;
}

.product-page-sections .product-section {
    border-top: none;
}

/* Cột nội dung chiếm toàn bộ chiều rộng */

/* =========================================================
   GIỮ VÀ ĐỊNH DẠNG TIÊU ĐỀ CÁC PRODUCT SECTION
========================================================= */

/* Hiển thị lại cột chứa tiêu đề */

.single-product .product-page-sections > .product-section > .row > .large-2 {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
}

/* Nội dung vẫn chiếm toàn bộ chiều rộng */

.single-product .product-page-sections > .product-section > .row > .large-10 {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
}

/* Tiêu đề section */

.single-product .product-page-sections > .product-section > .row > .large-2 > h5 {
    display: block;

    margin: 0 0 clamp(10px, 1.2vw, 16px);
    color: var(--detail-text, #18181b);

    font-size: clamp(18px, 1.7vw, 22px);
    line-height: 1.35;
    font-weight: 600;
    letter-spacing: 0;
}

/* =========================================================
   KHỐI MÔ TẢ SẢN PHẨM
========================================================= */

.single-product .product-page-sections > .product-section:first-child .panel.entry-content {
    width: 100%;
    margin: 0;
    padding: var(--detail-padding);

    color: var(--detail-text);
    background-color: var(--detail-bg);

    border: 0;
    border-radius: var(--detail-radius);

    font-size: clamp(13px, 1.1vw, 14px);
    line-height: 1.55;
    text-align: justify;

    overflow: hidden;
}

/* =========================================================
   TIÊU ĐỀ TRONG NỘI DUNG
========================================================= */

.single-product .product-page-sections > .product-section:first-child .entry-content h1,
.single-product .product-page-sections > .product-section:first-child .entry-content h2,
.single-product .product-page-sections > .product-section:first-child .entry-content h3,
.single-product .product-page-sections > .product-section:first-child .entry-content h4 {
    color: var(--detail-text);
    text-transform: none;
    letter-spacing: 0;
}

.single-product .product-page-sections > .product-section:first-child .entry-content h1 {
    margin: 0 0 clamp(10px, 1vw, 14px);

    font-size: clamp(21px, 2vw, 25px);
    line-height: 1.3;
    font-weight: 700;
}

.single-product .product-page-sections > .product-section:first-child .entry-content h2 {
    margin: clamp(18px, 2vw, 26px) 0 clamp(8px, 1vw, 12px);

    font-size: clamp(18px, 1.7vw, 22px);
    line-height: 1.35;
    font-weight: 700;
}

/* Tiêu đề đầu tiên không có khoảng cách phía trên */

.single-product .product-page-sections > .product-section:first-child .entry-content > h2:first-child {
    margin-top: 0;
}

.single-product .product-page-sections > .product-section:first-child .entry-content h3 {
    margin: clamp(14px, 1.5vw, 20px) 0 clamp(7px, 0.8vw, 10px);

    font-size: clamp(15px, 1.3vw, 17px);
    line-height: 1.4;
    font-weight: 700;
}

/* =========================================================
   ĐOẠN VĂN VÀ DANH SÁCH
========================================================= */

.single-product .product-page-sections > .product-section:first-child .entry-content p {
    margin: 0 0 clamp(9px, 1vw, 12px);

    color: var(--detail-text);

    font-size: clamp(13px, 1.1vw, 14px);
    line-height: 1.55;
    font-weight: 400;
}

.single-product .product-page-sections > .product-section:first-child .entry-content strong {
    color: var(--detail-text);
    font-weight: 700;
}

.single-product .product-page-sections > .product-section:first-child .entry-content a {
    color: var(--detail-primary);
    font-weight: 600;
    text-decoration: none;
}

.single-product .product-page-sections > .product-section:first-child .entry-content a:hover {
    text-decoration: underline;
}

.single-product .product-page-sections > .product-section:first-child .entry-content ul,
.single-product .product-page-sections > .product-section:first-child .entry-content ol {
    margin: clamp(8px, 1vw, 12px) 0;
    padding-left: clamp(20px, 2vw, 28px);
}

.single-product .product-page-sections > .product-section:first-child .entry-content li {
    margin: 0 0 clamp(5px, 0.6vw, 8px);

    color: var(--detail-text);

    font-size: clamp(13px, 1.1vw, 14px);
    line-height: 1.5;
}

.single-product .product-page-sections > .product-section:first-child .entry-content li:last-child {
    margin-bottom: 0;
}

.single-product .product-page-sections > .product-section:first-child .entry-content ul li::marker {
    color: var(--detail-primary);
}

/* =========================================================
   ẢNH TRONG BÀI VIẾT
========================================================= */

.single-product .product-page-sections > .product-section:first-child .entry-content img {
    display: block;

    max-width: 100%;
    height: auto;

    margin: clamp(12px, 1.5vw, 18px) auto;

    border-radius: var(--detail-radius-small);
}

/* =========================================================
   VIDEO YOUTUBE RESPONSIVE
========================================================= */

.single-product .product-page-sections > .product-section:first-child .entry-content center iframe {
    display: block;

    width: 100% !important;
    height: 100% !important;

    margin: 0;
    border: 0;
}

/* =========================================================
   BLOCKQUOTE
========================================================= */

.single-product .product-page-sections > .product-section:first-child .entry-content blockquote {
    position: relative;

    margin: clamp(12px, 1.5vw, 18px) 0;
    padding: clamp(10px, 1vw, 14px) clamp(12px, 1.3vw, 18px) clamp(10px, 1vw, 14px) clamp(18px, 2vw, 26px);

    color: var(--detail-muted);
    background-color: var(--detail-white);
    border: 0;
    border-radius: var(--detail-radius-small);
}

.single-product .product-page-sections > .product-section:first-child .entry-content blockquote::before {
    content: "";

    position: absolute;
    top: 10px;
    bottom: 10px;
    left: 0;

    width: 4px;

    background-color: var(--detail-primary);
    border-radius: 0 4px 4px 0;
}

/* =========================================================
   BẢNG DÙNG CHUNG TRONG MÔ TẢ
========================================================= */

.single-product .product-page-sections > .product-section:first-child .entry-content table {
    display: block;

    width: 100% !important;
    margin: clamp(14px, 1.6vw, 20px) 0;

    background-color: var(--detail-white);
    border: 1px solid var(--detail-border);
    border-radius: var(--detail-radius-small);
    border-spacing: 0;

    overflow-x: auto;
    overflow-y: hidden;
}

.single-product .product-page-sections > .product-section:first-child .entry-content table tbody {
    display: table;
    width: 100%;
    border-collapse: collapse;
}

.single-product .product-page-sections > .product-section:first-child .entry-content table td {
    padding: clamp(9px, 1vw, 12px) clamp(10px, 1.2vw, 16px);

    color: #52525b;
    background-color: var(--detail-white);

    border: 0;
    border-bottom: 1px solid var(--detail-border);

    font-size: clamp(12px, 1vw, 14px);
    line-height: 1.45;
    text-align: left;
    vertical-align: middle;
}

.single-product .product-page-sections > .product-section:first-child .entry-content table tr:last-child td {
    border-bottom: 0;
}

.single-product .product-page-sections > .product-section:first-child .entry-content table td:first-child {
    width: clamp(125px, 31%, 190px);

    background-color: #f0f0f1;
    border-right: 1px solid var(--detail-border);
}

.single-product .product-page-sections > .product-section:first-child .entry-content table td ul {
    margin: 0;
    padding-left: 18px;
}

/* =====================================================
   THÔNG SỐ KỸ THUẬT – SINGLE PRODUCT
===================================================== */

.single-product .product-section:has(.shop_attributes) {
    padding: clamp(24px, 4vw, 42px) 0;
    border-top: 0;
}

/* Chuyển bố cục Flatsome từ 2 cột thành 1 cột */

.single-product .product-section:has(.shop_attributes) > .row {
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
}

.single-product .product-section:has(.shop_attributes) > .row > .col {
    width: 100%;
    max-width: 100%;
    flex-basis: 100%;
}

/* Tiêu đề */

.single-product .product-section:has(.shop_attributes) h5 {
    margin: 0 0 clamp(14px, 2vw, 20px);
    color: var(--c-ink, #2f2f2f);
    font-size: clamp(20px, 2.2vw, 26px);
    line-height: 1.3;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0;
}

/* Khung lớn bên ngoài */

.single-product .product-section:has(.shop_attributes) .panel.entry-content {
    width: 100%;
    margin: 0;
    padding: clamp(16px, 2vw, 20px);
    background-color: #fff;
    border: 1px solid #e5e5e5;
    border-radius: clamp(14px, 1.8vw, 18px);
    box-shadow: none;
}

/* Bảng thông số */

.single-product table.woocommerce-product-attributes.shop_attributes {
    width: 100%;
    margin: 0;
    border: 1px solid #dddddd;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: clamp(10px, 1.3vw, 13px);
    background-color: #fff;
    overflow: hidden;
}

/* Từng hàng */

.single-product .shop_attributes .woocommerce-product-attributes-item {
    background-color: #fff;
}

/* Ô tên và giá trị */

.single-product .shop_attributes .woocommerce-product-attributes-item__label,
.single-product .shop_attributes .woocommerce-product-attributes-item__value {
    padding: clamp(12px, 1.5vw, 17px) clamp(14px, 1.8vw, 18px);
    border: 0;
    border-bottom: 1px solid #dddddd;
    color: #62626b;
    font-size: clamp(14px, 1.25vw, 16px);
    line-height: 1.55;
    vertical-align: middle;
}

.single-product .shop_attributes .woocommerce-product-attributes-item__label {
    width: 24%;
    min-width: 100px;
    color: #62626b;
    font-weight: 400;
    text-align: left;
    text-transform: none;
    background-color: #f1f1f3;
    border-right: 1px solid #dddddd;
}

.single-product .shop_attributes .woocommerce-product-attributes-item__value {
    width: 76%;
    font-style: normal;
    font-weight: 400;
    background-color: #fff;
}

/* Reset thẻ p do WooCommerce tự thêm */

.single-product .shop_attributes .woocommerce-product-attributes-item__value p {
    margin: 0;
    padding: 0;
    color: inherit;
    font: inherit;
}

/* Danh sách ul/li nếu nội dung thông số có danh sách */

.single-product .shop_attributes .woocommerce-product-attributes-item__value ul {
    margin: 0;
    padding-left: 20px;
}

.single-product .shop_attributes .woocommerce-product-attributes-item__value li {
    margin: 0 0 3px;
    padding: 0;
}

.single-product .shop_attributes .woocommerce-product-attributes-item__value li:last-child {
    margin-bottom: 0;
}

/* Bỏ viền dưới ở hàng cuối */

.single-product
    .shop_attributes
    .woocommerce-product-attributes-item:last-child
    .woocommerce-product-attributes-item__label,
.single-product
    .shop_attributes
    .woocommerce-product-attributes-item:last-child
    .woocommerce-product-attributes-item__value {
    border-bottom: 0;
}

/* Hover nhẹ */

.single-product
    .shop_attributes
    .woocommerce-product-attributes-item:hover
    .woocommerce-product-attributes-item__value {
    background-color: #fafafa;
}

/* =====================================================
   MOBILE
===================================================== */

@media screen and (max-width: 549px) {
    .single-product .product-section:has(.shop_attributes) .panel.entry-content {
        padding: 12px;
        border-radius: 14px;
    }

    .single-product .shop_attributes .woocommerce-product-attributes-item__label {
        width: 30%;
        min-width: 90px;
    }

    .single-product .shop_attributes .woocommerce-product-attributes-item__value {
        width: 70%;
    }

    .single-product .shop_attributes .woocommerce-product-attributes-item__label,
    .single-product .shop_attributes .woocommerce-product-attributes-item__value {
        padding: 12px;
        font-size: 14px;
    }
}
/* =========================================================
   LAYOUT REVIEW
========================================================= */

.single-product .product-section:has(#reviews) #reviews {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
    align-items: stretch;
    gap: clamp(12px, 1.5vw, 18px);

    width: 100%;
    margin: 0;
}

/* Reset Column mặc định của Flatsome */

.single-product .product-section:has(#reviews) #reviews > .col {
    flex: none;
    max-width: none;
    width: 100%;

    margin: 0;
}

/* =========================================================
   KHỐI DANH SÁCH ĐÁNH GIÁ
========================================================= */

.single-product .product-section:has(#reviews) #comments {
    display: flex;
    flex-direction: column;

    min-height: clamp(170px, 16vw, 220px);
    padding: clamp(14px, 1.5vw, 20px);

    background-color: var(--detail-bg);
    border: 1px solid #eeeeef;
    border-radius: var(--detail-radius-small);
}

/* Tiêu đề Reviews */

.single-product .product-section:has(#reviews) .woocommerce-Reviews-title {
    margin: 0 0 clamp(12px, 1.3vw, 16px);

    color: var(--detail-text);

    font-size: clamp(16px, 1.5vw, 20px);
    line-height: 1.4;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0;
}

/* Trạng thái chưa có đánh giá */

.single-product .product-section:has(#reviews) .woocommerce-noreviews {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;

    min-height: 110px;
    margin: 0;
    padding: clamp(14px, 1.5vw, 20px);

    color: var(--detail-muted);

    font-size: clamp(13px, 1.1vw, 14px);
    line-height: 1.5;
    font-weight: 500;
    text-align: center;
}

/* Icon trang trí khi chưa có review */

.single-product .product-section:has(#reviews) .woocommerce-noreviews::before {
    content: "☆";

    display: flex;
    align-items: center;
    justify-content: center;

    width: clamp(42px, 4vw, 52px);
    height: clamp(42px, 4vw, 52px);

    color: var(--detail-primary);
    background-color: var(--detail-primary-light);

    border-radius: 50%;

    font-size: clamp(25px, 2.5vw, 32px);
    line-height: 1;
}

/* =========================================================
   KHỐI FORM ĐÁNH GIÁ
========================================================= */

.single-product .product-section:has(#reviews) #review_form_wrapper {
    width: 100%;
    padding: 0;
}

.single-product .product-section:has(#reviews) #review_form {
    width: 100%;
    height: 100%;
}

.single-product .product-section:has(#reviews) .review-form-inner.has-border {
    width: 100%;
    height: 100%;

    margin: 0;
    padding: clamp(14px, 1.5vw, 20px);

    background-color: var(--detail-bg);

    border: 1px solid #eeeeef;
    border-radius: var(--detail-radius-small);

    box-shadow: none;
}

.single-product .product-section:has(#reviews) .comment-respond {
    width: 100%;
    margin: 0;
}

/* Tiêu đề form */

.single-product .product-section:has(#reviews) .comment-reply-title {
    display: block;

    margin: 0 0 clamp(14px, 1.5vw, 20px);

    color: var(--detail-text);

    font-size: clamp(15px, 1.4vw, 18px);
    line-height: 1.45;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0;
}

/* Link hủy phản hồi */

.single-product .product-section:has(#reviews) #cancel-comment-reply-link {
    color: var(--detail-primary);

    font-size: 12px;
    font-weight: 500;
}

/* =========================================================
   CÁC FIELD TRONG FORM
========================================================= */

.single-product .product-section:has(#reviews) .comment-form {
    width: 100%;
    margin: 0;
}

/* Label */

.single-product .product-section:has(#reviews) .comment-form label {
    display: block;

    margin: 0 0 7px;

    color: var(--detail-text);

    font-size: clamp(13px, 1.1vw, 14px);
    line-height: 1.4;
    font-weight: 600;
}

/* Dấu bắt buộc */

.single-product .product-section:has(#reviews) .comment-form .required {
    color: #d70018;
}

/* Input và textarea */

.single-product .product-section:has(#reviews) .comment-form input[type="text"],
.single-product .product-section:has(#reviews) .comment-form input[type="email"],
.single-product .product-section:has(#reviews) .comment-form input[type="url"],
.single-product .product-section:has(#reviews) .comment-form textarea {
    display: block;

    width: 100%;
    margin: 0;
    padding: clamp(10px, 1vw, 12px) clamp(11px, 1.2vw, 14px);

    color: var(--detail-text);
    background-color: var(--detail-white);

    border: 1px solid var(--detail-border);
    border-radius: var(--detail-radius-small);

    box-shadow: none;

    font-family: inherit;
    font-size: clamp(13px, 1.1vw, 14px);
    line-height: 1.5;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.single-product .product-section:has(#reviews) .comment-form textarea {
    min-height: clamp(110px, 12vw, 150px);
    resize: vertical;
}

.single-product .product-section:has(#reviews) .comment-form input:focus,
.single-product .product-section:has(#reviews) .comment-form textarea:focus {
    outline: 0;

    border-color: var(--detail-primary);

    box-shadow: 0 0 0 3px var(--detail-primary-light);
}

/* =========================================================
   CHỌN SỐ SAO
========================================================= */

.single-product .product-section:has(#reviews) .comment-form-rating {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: clamp(8px, 1vw, 12px);

    margin-bottom: clamp(12px, 1.3vw, 16px);
}

.single-product .product-section:has(#reviews) .comment-form-rating > label {
    margin: 0;
}

.single-product .product-section:has(#reviews) p.stars {
    margin: 0 !important;
}

.single-product .product-section:has(#reviews) p.stars span {
    display: inline-flex;
    align-items: center;
}

/* Màu sao mặc định */

.single-product .product-section:has(#reviews) p.stars a {
    margin-right: 3px;

    color: #f2b01e !important;

    text-decoration: none;

    transition:
        color 0.2s ease,
        transform 0.2s ease;
}

.single-product .product-section:has(#reviews) p.stars a:hover {
    color: #e5a000 !important;
    transform: translateY(-1px);
}

/* =========================================================
   NÚT GỬI ĐÁNH GIÁ
========================================================= */

.single-product .product-section:has(#reviews) .comment-form .form-submit {
    display: flex;
    justify-content: flex-end;

    margin: clamp(14px, 1.5vw, 20px) 0 0;
}

.single-product .product-section:has(#reviews) .comment-form input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: clamp(130px, 14vw, 170px);
    min-height: clamp(42px, 4.2vw, 48px);

    margin: 0;
    padding: clamp(10px, 1vw, 12px) clamp(18px, 2vw, 26px);

    color: #fff;
    background-color: var(--detail-primary);

    border: 1px solid var(--detail-primary);
    border-radius: var(--detail-radius-small);

    box-shadow: none;

    font-family: inherit;
    font-size: clamp(13px, 1.2vw, 15px);
    line-height: 1.3;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0;

    cursor: pointer;

    transition:
        filter 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.single-product .product-section:has(#reviews) .comment-form input[type="submit"]:hover {
    color: #fff;

    filter: brightness(0.92);
    transform: translateY(-1px);

    box-shadow: 0 5px 14px rgba(0, 125, 117, 0.2);
}

/* =========================================================
   NỘI DUNG ĐÁNH GIÁ KHI ĐÃ CÓ REVIEW
========================================================= */

.single-product .product-section:has(#reviews) .commentlist {
    margin: 0;
    padding: 0;

    list-style: none;
}

.single-product .product-section:has(#reviews) .commentlist .review {
    margin: 0 0 12px;
    padding: 12px;

    background-color: var(--detail-white);
    border: 1px solid var(--detail-border);
    border-radius: var(--detail-radius-small);
}

.single-product .product-section:has(#reviews) .commentlist .review:last-child {
    margin-bottom: 0;
}

.single-product .product-section:has(#reviews) .commentlist .avatar {
    width: 42px;
    height: 42px;

    border-radius: 50%;
}

.single-product .product-section:has(#reviews) .commentlist .meta {
    margin-bottom: 7px;

    color: var(--detail-muted);

    font-size: 12px;
    line-height: 1.45;
}

.single-product .product-section:has(#reviews) .commentlist .description {
    color: var(--detail-text);

    font-size: clamp(13px, 1.1vw, 14px);
    line-height: 1.55;
}

/* =========================================================
   DESKTOP: MÔ TẢ TRÁI – THÔNG SỐ PHẢI
========================================================= */

@media (min-width: 850px) {
    .single-product .product-page-sections {
        grid-template-columns:
            minmax(0, 1.45fr)
            minmax(310px, 0.85fr);
    }

    .single-product .product-page-sections > .product-section:first-child {
        grid-column: 1;
        grid-row: 1;
    }

    .single-product .product-page-sections > .product-section:has(.woocommerce-product-attributes) {
        position: sticky;
        top: clamp(80px, 8vw, 110px);

        grid-column: 2;
        grid-row: 1;

        align-self: start;
    }
}

.related-products-wrapper {
    margin-top: clamp(20px, 4vw, 40px);
}

.related-products-wrapper .flickity-slider > .col > .col-inner {
    height: 100%;
}

/* BÀI VIẾT XEM NHIỀU */

.weekly-popular-posts__heading {
    position: relative;
    margin: 0 0 clamp(24px, 2.3vw, 29px);
    padding: 0;
    color: var(--c-heading);
    font-size: clamp(22px, 1.7vw, 25px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
    text-transform: none;
}

.weekly-popular-posts__heading::after {
    position: absolute;
    bottom: clamp(-11px, -0.8vw, -8px);
    left: 0;
    width: clamp(46px, 4vw, 56px);
    height: clamp(2px, 0.25vw, 3px);
    background-color: var(--c-primary);
    content: "";
}

.weekly-popular-posts__list {
    display: grid;
    gap: var(--size-sm);
}

.weekly-popular-posts__featured {
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 16 / 9;
    margin: 0;
    background-color: var(--c-placeholder);
    border-radius: var(--radius-sm);
}

.weekly-popular-posts__featured > a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    color: var(--c-white);
    text-decoration: none;
}

.weekly-popular-posts__featured > a::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(10, 14, 23, 0.02) 28%, rgba(10, 14, 23, 0.9) 100%);
    content: "";
    pointer-events: none;
}

.weekly-popular-posts__featured-image {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.weekly-popular-posts__featured-title {
    position: absolute;
    z-index: 2;
    right: clamp(9px, 1vw, 13px);
    bottom: clamp(9px, 1vw, 13px);
    left: clamp(9px, 1vw, 13px);
    display: -webkit-box;
    overflow: hidden;
    color: var(--c-white);
    font-size: clamp(13px, 1vw, 15px);
    font-weight: 700;
    line-height: 1.42;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.weekly-popular-posts__item {
    min-width: 0;
    margin: 0;
}

.weekly-popular-posts__item-link {
    display: grid;
    grid-template-columns: minmax(0, 1fr) clamp(104px, 43%, 124px);
    gap: clamp(8px, 0.9vw, 11px);
    align-items: center;
    color: var(--c-text);
    text-decoration: none;
}

.weekly-popular-posts__item-title {
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    color: inherit;
    font-size: clamp(14px, 1vw, 16px);
    font-weight: 400;
    line-height: 1.42;
    transition: color 0.25s ease;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.weekly-popular-posts__item-image,
.weekly-popular-posts__placeholder {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    margin: 0;
    background-color: var(--c-placeholder);
    border-radius: var(--radius-sm);
    object-fit: cover;
    transition:
        transform 0.3s ease,
        opacity 0.3s ease;
}

.weekly-popular-posts__featured:hover .weekly-popular-posts__featured-image {
    transform: scale(1.045);
}

.weekly-popular-posts__item-link:hover .weekly-popular-posts__item-title {
    color: var(--c-primary);
}

.weekly-popular-posts__item-link:hover .weekly-popular-posts__item-image {
    opacity: 0.88;
    transform: scale(1.02);
}

.weekly-popular-posts a:focus-visible {
    outline: 2px solid var(--c-primary);
    outline-offset: 3px;
}

/* BLOG ARCHIVE – GIAO DIỆN TIN TỨC */

.blog-archive.page-wrapper {
    padding-top: clamp(16px, 2vw, 26px);
    padding-bottom: clamp(30px, 4vw, 50px);
}

.blog-archive > .row {
    align-items: flex-start;
}

.blog-archive > .row > .large-9 {
    min-width: 0;
}

/* POST LIST */

.blog-archive #post-list::before {
    content: "Tin tức cập nhật";
    display: block;
    width: fit-content;
    margin: 0 0 var(--space-xl);
    padding: 0 0 clamp(6px, 0.6vw, 8px);
    color: var(--c-text);
    border-bottom: clamp(2px, 0.25vw, 3px) solid var(--c-primary);
    font-size: clamp(20px, 2vw, 25px);
    line-height: 1.2;
    font-weight: 600;
    text-transform: uppercase;
}

/* STYLE CHUNG CHO CARD BÀI VIẾT */

.blog-archive #post-list .box-blog-post {
    position: relative;
    width: 100%;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.blog-archive #post-list .box-blog-post .box-image {
    overflow: hidden;
    border-radius: var(--radius-xs);
}

.blog-archive #post-list .box-blog-post .image-cover {
    width: 100%;
    background-color: #f4f4f5;
}

.blog-archive #post-list .box-blog-post .box-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.35s ease;
}

.blog-archive #post-list .box-blog-post:hover .box-image img {
    transform: scale(1.045);
}

.blog-archive #post-list .box-blog-post .is-divider {
    display: none;
}

.blog-archive #post-list .box-blog-post .box-text-inner {
    width: 100%;
}

.blog-archive #post-list .post-title a {
    color: var(--c-text);
    transition: color 0.2s ease;
}

.blog-archive #post-list .post-title a:hover {
    color: var(--c-primary);
}

/* DANH SÁCH TIN TỨC CẬP NHẬT */

.blog-archive #post-list .post-item .post-title {
    margin-bottom: clamp(5px, 0.6vw, 8px);
}

.blog-archive #post-list .post-item .post-title a {
    display: -webkit-box;
    font-size: clamp(14px, 1.45vw, 18px);
    line-height: 1.4;
    font-weight: 600;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.blog-archive #post-list .post-item .from_the_blog_excerpt {
    display: -webkit-box;
    font-size: clamp(12px, 1.15vw, 15px);
    line-height: 1.5;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

/* BÀI VIẾT KHÔNG CÓ ẢNH */

.blog-archive #post-list .box-blog-post:not(:has(.box-image)) {
    display: block !important;
    padding: clamp(14px, 1.5vw, 18px);
    background-color: var(--c-tab);
    border-radius: var(--radius-xs);
}

.blog-archive #post-list .box-blog-post:not(:has(.box-image)) .box-text {
    width: 100%;
}

/* PHÂN TRANG */

.blog-archive #post-list .nav-pagination {
    order: 4;
    display: flex;
    justify-content: center;
    gap: clamp(4px, 0.5vw, 6px);
    margin-top: clamp(22px, 3vw, 34px);
}

.blog-archive #post-list .nav-pagination .page-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: clamp(32px, 3.2vw, 36px);
    height: clamp(32px, 3.2vw, 36px);
    margin: 0;
    padding: 0 var(--size-xs);
    color: var(--c-text);
    background-color: var(--c-white);
    border: 1px solid var(--c-border);
    border-radius: 50%;
    font-size: clamp(12px, 1vw, 13px);
    font-weight: 500;
}

.blog-archive #post-list .nav-pagination .page-number.current,
.blog-archive #post-list .nav-pagination .page-number:hover {
    color: var(--c-white);
    background-color: var(--c-primary);
    border-color: var(--c-primary);
}

/* Ô tìm kiếm trong sidebar bài viết */

.post-sidebar .widget_search {
    margin: 0 0 clamp(18px, 2vw, 24px);
    padding: 0;
}

.post-sidebar .widget_search .wp-block-search {
    position: relative;
    margin: 0;
}

.post-sidebar .widget_search .wp-block-search__label {
    position: absolute !important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.post-sidebar .widget_search .wp-block-search__inside-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;
    padding: 0;
    background-color: var(--c-white);
    border: 1px solid #dedee2;
    border-radius: clamp(9px, 1vw, 12px);
    overflow: hidden;
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.post-sidebar .widget_search .wp-block-search__inside-wrapper:focus-within {
    border-color: var(--c-primary);
    box-shadow: 0 0 0 3px rgba(0, 155, 145, 0.12);
}

.post-sidebar .widget_search .wp-block-search__input {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    height: clamp(42px, 4vw, 46px);
    margin: 0 !important;
    padding: 0 clamp(48px, 4vw, 54px) 0 clamp(13px, 1.5vw, 16px);
    color: #27272a;
    background: transparent;
    border: 0 !important;
    border-radius: 0;
    outline: none;
    box-shadow: none !important;
    font-family: inherit;
    font-size: var(--font-sm);
    font-weight: 400;
    line-height: 1;
}

.post-sidebar .widget_search .wp-block-search__input::placeholder {
    color: var(--c-price-old);
    opacity: 1;
}

.post-sidebar .widget_search .wp-block-search__button {
    position: absolute;
    top: clamp(3px, 0.35vw, 4px);
    right: clamp(3px, 0.35vw, 4px);
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(34px, 3.5vw, 38px);
    height: calc(100% - clamp(6px, 0.7vw, 8px));
    min-height: 0;
    margin: 0 !important;
    padding: 0 !important;
    color: transparent !important;
    background-color: var(--c-primary);
    border: 0;
    border-radius: clamp(7px, 0.8vw, 9px);
    font-size: 0;
    line-height: 0;
    text-indent: -9999px;
    box-shadow: none;
    cursor: pointer;
    transition:
        background-color 0.2s ease,
        transform 0.2s ease;
}

.post-sidebar .widget_search .wp-block-search__button::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: clamp(11px, 1.1vw, 13px);
    height: clamp(11px, 1.1vw, 13px);
    border: 2px solid var(--c-white);
    border-radius: 50%;
    transform: translate(-58%, -58%);
}

.post-sidebar .widget_search .wp-block-search__button::after {
    content: "";
    position: absolute;
    top: 58%;
    left: 58%;
    width: clamp(6px, 0.6vw, 7px);
    height: 2px;
    background-color: var(--c-white);
    border-radius: 2px;
    transform: rotate(45deg);
    transform-origin: left center;
}

.post-sidebar .widget_search .wp-block-search__button:hover,
.post-sidebar .widget_search .wp-block-search__button:focus {
    color: transparent !important;
    background-color: var(--c-primary-dark);
    outline: none;
    box-shadow: none;
}

.post-sidebar .widget_search .wp-block-search__button:active {
    transform: scale(0.96);
}
/* SINGLE POST – GIAO DIỆN BÀI VIẾT */

.single-post .article-inner {
    display: flex;
    flex-direction: column;
}

/* KHUNG TRANG */

.single-post .blog-single {
    background-color: var(--c-tab);
}

/* HEADER BÀI VIẾT */

.single-post .entry-header {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.single-post .entry-header .entry-image {
    order: 1;
    position: relative;
    width: 100%;
    aspect-ratio: 12 / 5;
    margin: 0;
    overflow: hidden;
    border-radius: var(--radius-card);
    background-color: var(--c-border-neutral);
    margin-bottom: clamp(-80px, -6vw, -35px);
}

.single-post .entry-header .entry-image > a {
    display: block;
    width: 100%;
    height: 100%;
}

.single-post .entry-header .entry-image img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: cover;
    object-position: center;
    transition: transform 0.5s ease;
}

.single-post .entry-header .entry-image:hover img {
    transform: scale(1.015);
}

.single-post .entry-header .entry-image .post-date {
    display: none !important;
}

/* KHỐI TIÊU ĐỀ ĐÈ LÊN ẢNH */

.single-post .entry-header-text {
    order: 2;
    position: relative;
    z-index: 3;
    width: var(--content-width);
    margin: 0 auto;
    padding: var(--space-page);
    text-align: left;
    background-color: var(--c-white);
    border-radius: var(--radius-card) var(--radius-card) 0 0;
    box-shadow: 0 -8px 16px -8px rgba(0, 0, 0, 0.16);
}

.single-post .entry-header-text .entry-category {
    display: flex;
    align-items: center;
    gap: clamp(5px, 0.6vw, 6px);
    margin: 0 0 clamp(7px, 1vw, 12px);
    font-size: 0;
    text-transform: none;
}

.single-post .entry-header-text .entry-category a {
    display: inline-flex;
    align-items: center;
    min-height: clamp(24px, 2.5vw, 30px);
    padding: clamp(4px, 0.5vw, 5px) clamp(8px, 1vw, 12px);
    color: var(--c-white);
    background-color: var(--c-primary);
    border-radius: clamp(4px, 0.5vw, 5px);
    font-size: clamp(11px, 1.1vw, 14px);
    line-height: 1.2;
    font-weight: 600;
    text-transform: none;
}

.single-post .entry-header-text .entry-category a:hover {
    color: var(--c-white);
    background-color: var(--c-primary-dark);
}

.single-post .entry-header-text .entry-title {
    margin: 0;
    color: var(--c-article-text);
    font-size: clamp(18px, 2.7vw, 34px);
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: -0.02em;
    text-transform: none;
}

.single-post .entry-header-text .entry-divider {
    display: none;
}

/* TÁC GIẢ VÀ NGÀY ĐĂNG */

.single-post .entry-header-text .entry-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: clamp(8px, 1.5vw, 16px);
    margin: clamp(14px, 1.8vw, 20px) 0 0;
    padding-top: clamp(12px, 1.5vw, 16px);
    color: var(--c-muted-strong);
    border-top: 1px solid var(--c-border-neutral);
    font-size: 0 !important;
    line-height: 1.4;
    text-transform: none;
}

.single-post .entry-header-text .byline {
    order: 1;
    display: inline-flex;
    align-items: center;
    gap: clamp(4px, 0.5vw, 5px);
    font-size: 0;
}

.single-post .entry-header-text .meta-author a {
    color: var(--c-primary);
    font-size: var(--font-compact);
    font-weight: 600;
    text-transform: none;
}

.single-post .entry-header-text .meta-author a:hover {
    color: var(--c-primary-dark);
}

.single-post .entry-header-text .posted-on {
    order: 2;
    display: inline-flex;
    align-items: center;
    gap: clamp(4px, 0.5vw, 5px);
    font-size: 0;
}

.single-post .entry-header-text .posted-on > a {
    color: var(--c-muted-strong);
    font-size: 0;
}

.single-post .entry-header-text .posted-on time.published {
    color: var(--c-muted-strong);
    font-size: var(--font-caption);
    font-weight: 400;
}

/* KHUNG NỘI DUNG BÀI VIẾT */

.single-post .entry-content.single-page {
    width: var(--content-width);
    margin: 0 auto;
    padding: 0 var(--space-page) clamp(22px, 3vw, 36px);
    color: var(--c-article-text);
    background-color: var(--c-white);
    border-radius: 0 0 var(--radius-card) var(--radius-card);
    box-shadow: var(--shadow-card);
    font-size: clamp(14px, 1.2vw, 16px);
    line-height: 1.7;
    text-align: left;
}

/* TYPOGRAPHY NỘI DUNG */

.single-post .entry-content h2,
.single-post .entry-content h3,
.single-post .entry-content h4 {
    color: var(--c-article-text);
    scroll-margin-top: clamp(72px, 8vw, 100px);
    text-transform: none;
    letter-spacing: -0.01em;
}

.single-post .entry-content h2 {
    margin: clamp(24px, 3vw, 34px) 0 clamp(10px, 1.5vw, 16px);
    font-size: clamp(20px, 2.2vw, 27px);
    line-height: 1.3;
    font-weight: 700;
}

.single-post .entry-content h3 {
    margin: clamp(19px, 2.2vw, 26px) 0 clamp(8px, 1.2vw, 12px);
    padding: 0;
    font-size: clamp(17px, 1.7vw, 21px);
    line-height: 1.4;
    font-weight: 700;
}

.single-post .entry-content h4 {
    margin: clamp(16px, 2vw, 22px) 0 clamp(7px, 1vw, 10px);
    font-size: clamp(15px, 1.5vw, 18px);
    line-height: 1.4;
    font-weight: 700;
}

.single-post .entry-content p {
    margin: 0 0 clamp(12px, 1.7vw, 17px);
    color: var(--c-article-text);
    line-height: 1.7;
}

.single-post .entry-content strong {
    color: var(--c-ink);
    font-weight: 700;
}

.single-post .entry-content a {
    color: var(--c-primary);
    text-decoration: none;
}

.single-post .entry-content a:hover {
    color: var(--c-primary-dark);
    text-decoration: underline;
}

.single-post .entry-content ul,
.single-post .entry-content ol {
    margin: clamp(10px, 1.5vw, 16px) 0 clamp(16px, 2vw, 22px);
    padding-left: clamp(20px, 2.5vw, 28px);
}

.single-post .entry-content li {
    margin-bottom: clamp(6px, 0.8vw, 9px);
    padding-left: clamp(2px, 0.3vw, 3px);
    line-height: 1.65;
}

.single-post .entry-content ul li::marker {
    color: var(--c-primary);
}

.single-post .entry-content ol li::marker {
    color: var(--c-primary);
    font-weight: 600;
}

/* ẢNH TRONG NỘI DUNG */

.single-post .entry-content figure {
    margin: clamp(18px, 2.5vw, 28px) 0;
}

.single-post .entry-content img:not(.emoji) {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin-right: auto;
    margin-left: auto;
    border-radius: var(--radius-media);
}

.single-post .entry-content img.emoji {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin: 0 clamp(2px, 0.3vw, 3px);
    border-radius: 0;
    vertical-align: -0.12em;
}

.single-post .entry-content figcaption {
    margin-top: var(--size-xs);
    color: var(--c-muted-strong);
    font-size: var(--font-caption);
    line-height: 1.45;
    text-align: center;
}

.single-post .entry-content iframe {
    display: block;
    width: 100%;
    max-width: 100%;
    border: 0;
    border-radius: var(--radius-media);
}

/* BLOCKQUOTE */

.single-post .entry-content blockquote {
    position: relative;
    margin: clamp(18px, 2.5vw, 28px) 0;
    padding: clamp(15px, 2vw, 22px) clamp(16px, 2.5vw, 26px) clamp(15px, 2vw, 22px) clamp(22px, 3vw, 32px);
    color: var(--c-text-secondary);
    background-color: var(--c-primary-pale);
    border: 0;
    border-radius: var(--radius-media);
    font-size: clamp(14px, 1.2vw, 16px);
    font-style: italic;
}

.single-post .entry-content blockquote::before {
    content: "";
    position: absolute;
    top: var(--size-sm);
    bottom: var(--size-sm);
    left: 0;
    width: clamp(3px, 0.35vw, 4px);
    background-color: var(--c-primary);
    border-radius: 0 clamp(3px, 0.35vw, 4px) clamp(3px, 0.35vw, 4px) 0;
}

.single-post .entry-content blockquote p:last-child {
    margin-bottom: 0;
}

.single-post .entry-content .wp-block-table {
    width: 100%;
    margin: clamp(18px, 2.5vw, 28px) 0;
    overflow-x: auto;
    border: 1px solid var(--c-border-neutral);
    border-radius: var(--radius-media);
    background-color: var(--c-white);
}

.single-post .entry-content .wp-block-table table {
    width: 100%;
    min-width: clamp(560px, 65vw, 650px);
    margin: 0;
    border: 0;
    border-collapse: collapse;
}

.single-post .entry-content .wp-block-table th,
.single-post .entry-content .wp-block-table td {
    padding: clamp(9px, 1.2vw, 13px) clamp(10px, 1.5vw, 15px);
    color: var(--c-text-secondary);
    border: 0;
    border-right: 1px solid var(--c-border-neutral);
    border-bottom: 1px solid var(--c-border-neutral);
    font-size: var(--font-compact);
    line-height: 1.5;
    text-align: left;
    vertical-align: middle;
}

.single-post .entry-content .wp-block-table tr:first-child td,
.single-post .entry-content .wp-block-table thead th {
    color: var(--c-article-text);
    background-color: var(--c-surface-muted);
    font-weight: 700;
}

.single-post .entry-content .wp-block-table tr:last-child td {
    border-bottom: 0;
}

.single-post .entry-content .wp-block-table th:last-child,
.single-post .entry-content .wp-block-table td:last-child {
    border-right: 0;
}

.single-post .entry-content .wp-block-table::-webkit-scrollbar {
    height: clamp(4px, 0.45vw, 5px);
}

.single-post .entry-content .wp-block-table::-webkit-scrollbar-thumb {
    background-color: var(--c-muted-soft);
    border-radius: var(--radius-card);
}

/* NÚT CHIA SẺ */

.single-post .blog-share {
    margin-top: clamp(24px, 3vw, 36px);
    padding-top: clamp(18px, 2vw, 24px);
    border-top: 1px dashed var(--c-border-neutral);
}

.single-post .blog-share > .is-divider {
    display: none;
}

.single-post .blog-share .share-icons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--size-xs);
}

.single-post .blog-share .share-icons .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(34px, 3.5vw, 40px);
    height: clamp(34px, 3.5vw, 40px);
    min-height: 0;
    margin: 0;
    padding: 0;
    color: var(--c-primary);
    background-color: var(--c-white);
    border: 1px solid var(--c-border-neutral);
    border-radius: 50%;
    line-height: 1;
    box-shadow: none;
}

.single-post .blog-share .share-icons .button:hover {
    color: var(--c-white);
    background-color: var(--c-primary);
    border-color: var(--c-primary);
    transform: translateY(-2px);
}

.single-post article > .article-inner > footer.entry-meta {
    display: none;
}

/* HỘP TÁC GIẢ */

.single-post .entry-author.author-box {
    width: var(--content-width);
    margin: clamp(14px, 2vw, 22px) auto 0;
    padding: clamp(14px, 2vw, 20px);
    background-color: var(--c-white);
    border: 1px solid var(--c-border-neutral);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
}

.single-post .entry-author .blog-author-image img {
    width: clamp(52px, 6vw, 70px);
    height: clamp(52px, 6vw, 70px);
    object-fit: cover;
    border: 2px solid var(--c-primary);
    border-radius: 50%;
}

.single-post .entry-author .author-name {
    margin: 0 0 clamp(4px, 0.5vw, 5px);
    padding: 0;
    color: var(--c-article-text);
    font-size: clamp(14px, 1.3vw, 17px);
    font-weight: 700;
    text-transform: none;
}

.single-post .entry-author .author-desc {
    margin: 0;
    color: var(--c-muted-strong);
    font-size: clamp(12px, 1vw, 14px);
    line-height: 1.5;
}

/* BÀI TRƯỚC – BÀI SAU */

.single-post .navigation-post {
    width: var(--content-width);
    margin: clamp(14px, 2vw, 22px) auto 0;
}

.single-post .navigation-post .next-prev-nav {
    gap: clamp(10px, 1.5vw, 16px);
    padding: 0;
    border: 0;
}

.single-post .navigation-post .nav-prev,
.single-post .navigation-post .nav-next {
    min-width: 0;
}

.single-post .navigation-post a {
    display: flex;
    align-items: center;
    min-height: clamp(48px, 5vw, 58px);
    padding: clamp(10px, 1.5vw, 15px);
    color: var(--c-article-text);
    background-color: var(--c-white);
    border: 1px solid var(--c-border-neutral);
    border-radius: var(--radius-media);
    font-size: var(--font-compact);
    line-height: 1.45;
    font-weight: 600;
    box-shadow: var(--shadow-card);
}

.single-post .navigation-post a:hover {
    color: var(--c-primary);
    border-color: var(--c-primary);
}

/* BÌNH LUẬN */

.single-post .comments-area {
    width: var(--content-width);
    margin: clamp(20px, 3vw, 32px) auto 0;
    padding: var(--space-page);
    background-color: var(--c-white);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
}

.single-post #comments .comment-respond {
    padding: var(--space-xl);
    border-radius: var(--radius-card);
}

.single-post .comments-area .comment-reply-title {
    color: var(--c-article-text);
    font-size: clamp(19px, 2vw, 24px);
    font-weight: 700;
    text-transform: none;
}

.single-post .comments-area label {
    display: block;
    color: var(--c-article-text);
    font-size: var(--font-sm);
    font-weight: 600;
}

.single-post .comments-area textarea,
.single-post .comments-area input[type="text"],
.single-post .comments-area input[type="email"],
.single-post .comments-area input[type="url"] {
    width: 100%;
    margin: 0;
    padding: var(--size-sm) clamp(12px, 1.3vw, 14px);
    color: var(--c-article-text);
    background-color: var(--c-white);
    border: 1px solid var(--c-border-neutral);
    border-radius: var(--radius-sm);
    box-shadow: none;
}

.single-post .comments-area textarea:focus,
.single-post .comments-area input:focus {
    border-color: var(--c-primary);
    box-shadow: 0 0 0 clamp(2px, 0.25vw, 3px) var(--c-focus-ring);
    outline: none;
}

.single-post .comments-area input[type="submit"] {
    margin: 0;
    padding: var(--size-sm) var(--space-xl);
    color: var(--c-white);
    background-color: var(--c-primary);
    border: 0;
    border-radius: var(--radius-sm);
    font-size: var(--font-sm);
    font-weight: 600;
    text-transform: none;
}

/* MOBILE – TIÊU ĐỀ ĐÈ TRÊN ẢNH GIỐNG MẪU */

@media (max-width: 549px) {
    .single-post .blog-single {
        padding-top: var(--size-xs);
    }
    .single-post .blog-single > .row > .col {
        padding-right: var(--size-xs);
        padding-left: var(--size-xs);
    }
    .single-post .entry-header .entry-image {
        aspect-ratio: 16 / 9;
    }
    .single-post .entry-header .entry-image img {
        filter: brightness(0.55);
    }
    .single-post .entry-header-text {
        width: 100%;
        margin-top: clamp(-80px, -14.5vw, -64px);
        padding: 0 var(--size-sm);
        background: transparent;
        border-radius: 0;
        box-shadow: none;
    }
    .single-post .entry-header-text .entry-title {
        display: -webkit-box;
        overflow: hidden;
        color: var(--c-white);
        line-height: 1.35;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }
    .single-post .entry-header-text .entry-meta {
        margin: clamp(13px, 3.5vw, 14px) clamp(-5px, -0.5vw, -3px) 0;
        padding: clamp(12px, 1.3vw, 13px) var(--size-sm);
        color: var(--c-muted-strong);
        background-color: var(--c-white);
        border: 0;
        border-radius: var(--radius-card) var(--radius-card) 0 0;
    }
    .single-post .entry-content.single-page {
        width: calc(100% - var(--size-sm));
        padding: clamp(2px, 0.25vw, 3px) var(--size-sm) clamp(18px, 5vw, 22px);
        border-radius: 0 0 var(--radius-card) var(--radius-card);
    }
    .single-post .entry-content p,
    .single-post .entry-content li {
        line-height: 1.65;
    }
    .single-post .entry-author.author-box,
    .single-post .navigation-post,
    .single-post .comments-area {
        width: calc(100% - var(--size-sm));
    }
    .single-post .navigation-post .next-prev-nav {
        flex-direction: column;
    }
    .single-post .navigation-post .nav-prev,
    .single-post .navigation-post .nav-next {
        width: 100%;
    }
}

/* =========================================================
   BIẾN RIÊNG CHO TRANG GIỚI THIỆU
========================================================= */

/* =========================================================
   THIẾT LẬP CHUNG
========================================================= */

/* Eyebrow dùng chung */

.section__eyebrow,
.about-section-heading > .section__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    margin: 0 0 clamp(10px, 1.3vw, 16px);

    color: var(--c-primary);

    font-size: var(--about-eyebrow-size);
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.section__eyebrow::before,
.about-section-heading > .section__eyebrow::before {
    content: "";

    width: clamp(22px, 2.5vw, 34px);
    height: 2px;

    background-color: currentColor;
    border-radius: 99px;
}

/* =========================================================
   HERO
========================================================= */

.section.about-hero {
    position: relative;

    background: var(--about-gradient);
    overflow: hidden;
}

.about-hero > .section-bg::before,
.about-hero > .section-bg::after {
    content: "";

    position: absolute;

    border-radius: 50%;
    pointer-events: none;
}

.about-hero > .section-bg::before {
    top: clamp(-150px, -10vw, -80px);
    right: clamp(-120px, -7vw, -50px);

    width: clamp(240px, 30vw, 460px);
    aspect-ratio: 1;

    background: radial-gradient(circle, rgba(0, 155, 145, 0.14), rgba(0, 155, 145, 0) 70%);
}

.about-hero > .section-bg::after {
    bottom: clamp(-120px, -8vw, -60px);
    left: clamp(-100px, -6vw, -40px);

    width: clamp(190px, 24vw, 360px);
    aspect-ratio: 1;

    border: 1px solid rgba(0, 155, 145, 0.14);
}

.about-hero > .section-content {
    z-index: 2;
}

.about-hero__row {
    align-items: center;
}

.about-hero__title {
    margin: 0 0 clamp(16px, 2vw, 24px);

    color: var(--c-heading);

    font-size: var(--about-hero-title-size);
    line-height: 1.08;
    font-weight: 750;
    letter-spacing: -0.035em;
    text-wrap: balance;
}

.about-hero__description {
    color: var(--c-text-secondary);

    font-size: clamp(15px, 1.35vw, 18px);
    line-height: 1.75;
    font-weight: 400;
}

.about-hero__image {
    position: relative;

    margin: 0;
}

.about-hero__image::before {
    content: "";

    position: absolute;
    z-index: -1;
    inset: clamp(18px, 2.5vw, 34px) clamp(-12px, -1vw, -6px) clamp(-12px, -1vw, -6px) clamp(18px, 2.5vw, 34px);

    background-color: rgba(0, 155, 145, 0.12);
    border-radius: var(--radius-lg);
}

.about-hero__image .img-inner {
    background-color: var(--c-white);
    border: clamp(5px, 0.6vw, 8px) solid var(--c-white);
    border-radius: clamp(18px, 2vw, 28px);

    box-shadow: var(--about-shadow);
    overflow: hidden;
}

.about-hero__image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    transition: transform 0.7s ease;
}

.about-hero__image:hover img {
    transform: scale(1.025);
}

/* =========================================================
   THỐNG KÊ
========================================================= */

.section.about-stats {
    position: relative;
    z-index: 5;
    background: transparent;
}

.about-stats__row {
    background-color: var(--c-white);
    border: 1px solid var(--c-border-subtle);
    border-radius: var(--radius-lg);
    margin-top: clamp(-40px, -4vw, -30px);

    box-shadow: var(--about-shadow);
    overflow: hidden;
}

.about-stats__row > .col {
    padding-bottom: 0;
}

.about-stats__row > .col:not(:last-child) {
    border-right: 1px solid var(--c-border-subtle);
}

.about-stats__item {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(18px, 2vw, 28px);

    text-align: center;
}

.about-stats__item p {
    width: 100%;
    margin: 0;
}

.about-stats__number {
    display: block;

    margin-bottom: 7px;

    color: var(--c-primary);

    font-size: clamp(26px, 3vw, 42px);
    line-height: 1.05;
    font-weight: 750;
    letter-spacing: -0.035em;
}

.about-stats__label {
    display: block;

    color: var(--c-muted-strong);

    font-size: var(--font-sm);
    line-height: 1.45;
    font-weight: 500;
}

/* =========================================================
   CÂU CHUYỆN SENDORA
========================================================= */
/* =========================================================
   ABOUT STORY
   Slider ảnh phía trên – nội dung phía dưới
========================================================= */

.section.about-story {
    position: relative;
    background: linear-gradient(180deg, var(--c-white) 0%, var(--c-bg) 100%);

    overflow: hidden;
}

/* =========================================================
   SLIDER GALLERY
========================================================= */

#content .row.about-story__slider {
    position: relative;

    display: block;

    background-color: var(--c-white);
    border: 1px solid var(--c-border-subtle);
    border-radius: var(--radius-lg);

    box-shadow: var(--about-shadow);
    overflow: hidden;
    padding-block: clamp(8px, 1.2vw, 12px);
}

/*
 * Ghi đè CSS slider cũ từng đặt mỗi slide rộng 100%.
 * Desktop hiển thị 3 ảnh.
 */

#content .row.about-story__slider .flickity-slider > .gallery-col {
    padding-bottom: 0;
}

/* Card ảnh */

.row.about-story__slider .gallery-col > .col-inner {
    height: 100%;
    background-color: var(--c-product-bg);
    border-radius: var(--radius-media);

    overflow: hidden;
}

.row.about-story__slider .gallery-box {
    height: 100%;
    margin: 0;

    background-color: var(--c-product-bg);
    border-radius: var(--radius-media);

    overflow: hidden;
}

/*
 * Chỉ chọn ảnh nằm trong gallery.
 * Không dùng trực tiếp .about-story__slider vì img cũng có class này.
 */

.row.about-story__slider .box-image > img {
    border-radius: var(--radius-media);
}

/* Overlay nhẹ */

.row.about-story__slider .gallery-col:hover img {
    transform: scale(1.045);
}

/* Nội dung Story */

.about-story__content {
    display: flex;
    flex-direction: column;
    justify-content: center;

    height: 100%;
    padding: clamp(24px, 3.5vw, 48px);

    background-color: var(--c-bg);
    border: 1px solid var(--c-border-subtle);
    border-radius: var(--radius-lg);
}

.about-story__title {
    margin: 0 0 clamp(16px, 2vw, 24px);
}

.about-story__content > p:not(.about-story__eyebrow) {
    margin: 0 0 clamp(10px, 1.2vw, 15px);

    color: var(--c-text-secondary);

    font-size: var(--about-description-size);
    line-height: 1.72;
}

.about-story__content > p:last-child {
    margin-bottom: 0;
}

.about-story__content strong {
    color: var(--c-primary);
    font-weight: 700;
}

/* =========================================================
   TIÊU ĐỀ SECTION CHUNG
========================================================= */

.about-section-heading {
    margin: 0 auto clamp(26px, 4vw, 48px);

    text-align: center;
}

.about-section-heading > p {
    margin-right: auto;
    margin-left: auto;
}

.about-section-heading > p:first-child {
    justify-content: center;
}

.about-section-heading > p:nth-child(2) {
    margin-top: 0;
    margin-bottom: clamp(10px, 1.2vw, 16px);

    color: var(--c-heading);

    font-size: var(--about-title-size);
    line-height: 1.2;
    font-weight: 750;
    letter-spacing: -0.025em;
}

.about-section-heading > p:nth-child(3) {
    max-width: 680px;
    margin-bottom: 0;

    color: var(--c-muted-strong);

    font-size: var(--about-description-size);
    line-height: 1.7;
}

/* =========================================================
   TẦM NHÌN – SỨ MỆNH – GIÁ TRỊ
========================================================= */

.section.about-pillars {
    background-color: var(--c-tab);
}

.about-pillars__grid > .col > .col-inner {
    display: flex;
    width: 100%;
    height: 100%;
}

.about-pillars__card {
    position: relative;

    display: flex;
    width: 100%;

    padding: clamp(25px, 3vw, 38px);

    background-color: var(--c-white);
    border: 1px solid var(--c-border-subtle);
    border-radius: var(--radius-lg);

    box-shadow: var(--about-shadow);
    overflow: hidden;

    transition:
        transform 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease;
}

.about-pillars__card:hover {
    border-color: rgba(0, 155, 145, 0.24);

    box-shadow: var(--about-shadow-hover);
    transform: translateY(-6px);
}

.about-pillars__card::before {
    content: "";

    position: absolute;
    top: 0;
    right: 0;

    width: clamp(80px, 8vw, 116px);
    aspect-ratio: 1;

    background: radial-gradient(circle at top right, rgba(0, 155, 145, 0.13), rgba(0, 155, 145, 0) 70%);

    pointer-events: none;
}

.about-pillars__card::after {
    position: absolute;
    top: clamp(18px, 2vw, 26px);
    right: clamp(18px, 2vw, 26px);

    color: rgba(0, 155, 145, 0.16);

    font-size: clamp(34px, 4vw, 54px);
    line-height: 1;
    font-weight: 750;
    letter-spacing: -0.06em;
}

.about-pillars__card--vision::after {
    content: "01";
}

.about-pillars__card--mission::after {
    content: "02";
}

.about-pillars__card--values::after {
    content: "03";
}

.about-pillars__card .icon-box-text {
    position: relative;
    z-index: 2;

    display: flex;
    flex-direction: column;
    justify-content: flex-end;

    width: 100%;
}

.about-pillars__card .icon-box-text > h3 {
    margin: 0 0 12px;
    padding-right: 60px;

    color: var(--c-heading);

    font-size: var(--about-card-title-size);
    line-height: 1.3;
    font-weight: 750;
}

.about-pillars__card .icon-box-text > p {
    margin: 0;

    color: var(--c-muted-strong);

    font-size: var(--font-sm);
    line-height: 1.7;
}

.about-why > .section-content > .row,
#content > .section:has(.about-why__content) > .section-content > .row {
    align-items: center;
}

.about-why__video {
    background-color: var(--c-black);
    border: clamp(5px, 0.6vw, 8px) solid var(--c-white);
    border-radius: var(--radius-lg);

    box-shadow: var(--about-shadow);
    overflow: hidden;
}

.about-why__video iframe {
    border-radius: calc(var(--radius-lg) - 5px);
}

.about-why__content {
    padding: 0 clamp(5px, 1vw, 14px);
}

.about-why__title {
    margin: 0 0 clamp(20px, 2.5vw, 32px);
}

/* Feature */
.about-why__feature {
    position: relative;
    padding: clamp(18px, 2vw, 24px);

    background-color: var(--c-bg);
    border: 1px solid var(--c-border-subtle);
    border-radius: var(--radius-card);

    transition:
        color 0.25s ease,
        background-color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}

.about-why__feature::before {
    content: "✓";

    display: flex;
    align-items: center;
    justify-content: center;

    width: 28px;
    height: 28px;
    margin-bottom: 14px;

    color: var(--c-white);
    background-color: var(--c-primary);
    border-radius: 50%;

    font-size: 14px;
    font-weight: 700;
}

.about-why__feature:hover {
    background-color: var(--c-primary-pale);
    border-color: rgba(0, 155, 145, 0.24);

    transform: translateY(-3px);
}

.about-why__feature h3 {
    margin: 0 0 7px;
    padding: 0;

    color: var(--c-heading);

    font-size: clamp(14px, 1.25vw, 16px);
    line-height: 1.35;
    font-weight: 700;
}

.about-why__feature p {
    margin: 0;

    color: var(--c-muted-strong);

    font-size: var(--font-caption);
    line-height: 1.55;
}

/* =========================================================
   CTA CUỐI TRANG
========================================================= */

.section.about-cta {
    position: relative;
    background: linear-gradient(135deg, var(--c-primary-dark) 0%, var(--c-primary) 55%, #14aaa0 100%);

    overflow: hidden;
}

.about-cta > .section-bg::before,
.about-cta > .section-bg::after {
    content: "";

    position: absolute;

    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 50%;
}

.about-cta > .section-bg::before {
    top: -110px;
    left: -90px;

    width: clamp(210px, 27vw, 390px);
    aspect-ratio: 1;
}

.about-cta > .section-bg::after {
    right: -110px;
    bottom: -160px;

    width: clamp(260px, 35vw, 500px);
    aspect-ratio: 1;
}

.about-cta__row {
    position: relative;
    z-index: 2;
}

.about-cta__content.col {
    text-align: center;
}

.text.about-cta__content {
    margin-bottom: clamp(20px, 2.5vw, 30px);
}

.about-cta__eyebrow {
    justify-content: center;

    color: rgba(255, 255, 255, 0.82);
}

.about-cta__title {
    margin: 0 0 clamp(12px, 1.5vw, 18px);

    color: var(--c-white);

    font-size: clamp(27px, 3.5vw, 44px);
    line-height: 1.18;
    font-weight: 750;
    letter-spacing: -0.025em;
}

.about-cta__description {
    margin: 0 auto;

    color: rgba(255, 255, 255, 0.82);

    font-size: var(--about-description-size);
    line-height: 1.7;
}

/* Nút CTA */

.about-cta__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: clamp(42px, 4.2vw, 48px);
    margin: 4px;
    padding: 10px clamp(18px, 2vw, 26px) !important;

    border: 1px solid transparent;
    border-radius: var(--radius-control);

    font-size: var(--font-sm);
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0;

    box-shadow: none;

    transition:
        color 0.25s ease,
        background-color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}

.about-cta__row .about-cta__button--primary {
    color: var(--c-white) !important;
    background-color: rgba(255, 255, 255, 0.12) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

.about-cta__row .about-cta__button--phone {
    color: var(--c-white) !important;
    background-color: transparent !important ;
    border-color: transparent !important;
}

.about-cta__row .about-cta__button--primary:hover {
    background-color: var(--c-primary-dark) !important;
}

.about-cta__row .about-cta__button--phone:hover {
    background-color: rgba(255, 255, 255, 0.12) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 849px) {
    .about-stats__row > .col:nth-child(2) {
        border-right: 0;
    }

    .about-stats__row > .col:nth-child(-n + 2) {
        border-bottom: 1px solid var(--c-border-subtle);
    }
    .about-story__content > p:not(.about-story__eyebrow) {
        line-height: 1.65;
    }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 549px) {
    .about-hero__title {
        letter-spacing: -0.025em;
    }

    .about-hero__description {
        line-height: 1.65;
    }

    .about-hero__image::before {
        display: none;
    }

    .about-hero__image .img-inner {
        border-width: 4px;
        border-radius: 16px;
    }

    .about-stats__item {
        min-height: 108px;
        padding: 14px 8px;
    }

    .about-stats__number {
        font-size: clamp(22px, 7vw, 30px);
    }

    .about-stats__label {
        font-size: 11px;
    }

    .about-story__content {
        padding: 20px 18px;
    }

    .about-section-heading {
        text-align: left;
    }
}

/* =========================================================
   KHÓA CLICK PANEL KHI CHƯA MỞ
========================================================= */

@media (min-width: 850px) {
    /* Panel chưa có trạng thái mở */

    .home-category-menu
        #mega-menu-wrap-primary
        #mega-menu-primary
        > li.mega-menu-item-has-children:not(.mega-toggle-on)
        > ul.mega-sub-menu,
    .home-category-menu
        #mega-menu-wrap-primary
        #mega-menu-primary
        > li.mega-menu-item-has-children:not(.mega-toggle-on)
        > ul.mega-sub-menu
        * {
        visibility: hidden !important;
        pointer-events: none !important;
        user-select: none !important;
    }

    /* Panel đã được Max Mega Menu mở */

    .home-category-menu
        #mega-menu-wrap-primary
        #mega-menu-primary
        > li.mega-menu-item-has-children.mega-toggle-on
        > ul.mega-sub-menu,
    .home-category-menu
        #mega-menu-wrap-primary
        #mega-menu-primary
        > li.mega-menu-item-has-children.mega-toggle-on
        > ul.mega-sub-menu
        * {
        visibility: visible !important;
        pointer-events: auto !important;
        user-select: auto !important;
    }
}

/* TRANG LIÊN HỆ */

/* TIÊU ĐỀ SECTION CHUNG */

.contact-section-heading {
    margin: 0 auto clamp(24px, 3.5vw, 42px);
    text-align: center;
}

.contact-section-heading .section-title {
    display: block;
    margin: 0 0 clamp(8px, 1vw, 12px);
    padding: 0;
    color: var(--c-heading);
    font-size: var(--font-section-title);
    line-height: 1.2;
    font-weight: 750;
    letter-spacing: -0.025em;
    text-transform: none;
}

.contact-section-heading > p {
    margin: 0 auto;
    color: var(--c-muted-strong);
    font-size: var(--font-description);
    line-height: 1.7;
}

/* CONTACT HERO */

.section.contact-hero {
    position: relative;
    background: linear-gradient(135deg, var(--c-primary-pale) 0%, var(--c-white) 54%, rgba(0, 155, 145, 0.07) 100%);
    overflow: hidden;
}

.contact-hero > .section-bg::before,
.contact-hero > .section-bg::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.contact-hero > .section-bg::before {
    top: clamp(-160px, -11vw, -90px);
    right: clamp(-130px, -8vw, -65px);
    width: clamp(260px, 32vw, 480px);
    aspect-ratio: 1;
    background: radial-gradient(circle, rgba(0, 155, 145, 0.15), rgba(0, 155, 145, 0) 70%);
}

.contact-hero > .section-bg::after {
    bottom: clamp(-120px, -10vw, -72px);
    left: clamp(-85px, -7vw, -48px);
    width: clamp(200px, 24vw, 350px);
    aspect-ratio: 1;
    border: 1px solid rgba(0, 155, 145, 0.14);
}

.contact-hero__row {
    position: relative;
    z-index: 2;
    align-items: stretch;
}

.contact-hero__row > .col {
    display: flex;
}

.contact-hero__row > .col > .col-inner {
    width: 100%;
}

.contact-hero__intro > .col-inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.contact-hero__intro .img {
    max-width: clamp(100px, 12vw, 120px);
    margin: 0 0 clamp(18px, 2vw, 26px);
}

.contact-hero__copy h1 {
    margin: 0 0 clamp(14px, 1.8vw, 22px);
    color: var(--c-heading);
    font-size: clamp(32px, 4vw, 54px);
    line-height: 1.08;
    font-weight: 750;
    letter-spacing: -0.035em;
    text-wrap: balance;
}

.contact-hero__copy > p:last-child {
    margin: 0 0 clamp(22px, 2.5vw, 32px);
    color: var(--c-text-secondary);
    font-size: clamp(14px, 1.25vw, 17px);
    line-height: 1.72;
}

.contact-hero__intro .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: clamp(42px, 4vw, 48px);
    margin: clamp(3px, 0.4vw, 4px) clamp(5px, 0.7vw, 7px) clamp(3px, 0.4vw, 4px) 0;
    padding: 9px clamp(18px, 2vw, 26px);
    border-radius: var(--radius-control);
    font-size: var(--font-sm);
    line-height: 1.2;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0;
    box-shadow: none;
    transition:
        color 0.25s ease,
        background-color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}

.contact-btn--primary {
    color: var(--c-white);
    background-color: var(--c-primary);
    border-color: var(--c-primary);
}

.contact-hero__intro .button.is-outline {
    color: var(--c-primary);
    background-color: var(--c-white);
    border-color: rgba(0, 155, 145, 0.45);
}

.contact-hero__intro .button:hover {
    color: var(--c-white);
    background-color: var(--c-primary-dark);
    border-color: var(--c-primary-dark);
    transform: translateY(-2px);
}

.contact-hero__map > .col-inner {
    padding: clamp(4px, 0.7vw, 9px);
    background-color: var(--c-white);
    border: 1px solid var(--c-border-subtle);
    border-radius: var(--radius-panel);
    box-shadow: var(--shadow-panel);
    overflow: hidden;
}

.contact-map,
.contact-map p {
    width: 100%;
    height: 100%;
    margin: 0;
}

.contact-map iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: clamp(340px, 38vw, 480px);
    border: 0;
    border-radius: calc(var(--radius-panel) - 7px);
}

/* LIÊN HỆ NHANH */

.section.contact-quick {
    position: relative;
    z-index: 5;
    margin-top: clamp(-40px, -4vw, -30px);
    background: transparent;
}

.contact-quick__grid {
    align-items: stretch;
}

.contact-quick__grid > .col {
    display: flex;
}

.contact-quick__grid > .col > .col-inner,
.contact-quick__grid > .col > .col-inner > a {
    display: flex;
    width: 100%;
    height: 100%;
}

.contact-quick__item {
    position: relative;
    display: flex;
    width: 100%;
    gap: var(--size-sm);
    padding: clamp(20px, 2.2vw, 24px);
    color: var(--c-text);
    background-color: var(--c-white);
    border: 1px solid var(--c-border-subtle);
    border-radius: var(--radius-section);
    box-shadow: var(--shadow-panel);
    overflow: hidden;
    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.25s ease;
    align-items: flex-start;
    min-height: 0;
}

.contact-quick__item:hover {
    border-color: rgba(0, 155, 145, 0.25);
    box-shadow: var(--shadow-panel-hover);
    transform: translateY(-5px);
}

.contact-quick__item::before {
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(38px, 4vw, 46px);
    height: clamp(38px, 4vw, 46px);
    color: var(--c-primary);
    background-color: var(--c-primary-soft);
    border-radius: var(--radius-control);
    font-size: var(--font-sm);
    line-height: 1;
    font-weight: 750;
    flex: 0 0 auto;
}

.contact-quick__item--sales::before {
    content: "01";
}

.contact-quick__item--warranty::before {
    content: "02";
}

.contact-quick__item--email::before {
    content: "03";
}

.contact-quick__item--hours::before {
    content: "04";
}

.contact-quick__item .icon-box-text {
    width: 100%;
}

.contact-quick__item h3 {
    margin: 0 0 var(--size-xs);
    padding: 0;
    color: var(--c-heading);
    font-size: var(--font-card-title);
    line-height: 1.3;
    font-weight: 700;
}

.contact-quick__item p {
    margin: 0;
    color: var(--c-muted-strong);
    font-size: var(--font-sm);
    line-height: 1.65;
}

/* HỆ THỐNG CHI NHÁNH */

.section.contact-locations {
    background-color: var(--c-white);
}

.row.contact-location-card--hcm {
    align-items: stretch;
    margin-bottom: 0;
}

.row.contact-location-card--hcm > .col {
    display: flex;
}

.row.contact-location-card--hcm > .col > .col-inner {
    width: 100%;
}

.row.contact-location-card--hcm > .col:first-child > .col-inner,
.contact-location-card--hanoi {
    position: relative;
    width: 100%;
    padding: clamp(22px, 3vw, 38px) clamp(18px, 3vw, 38px);
    background-color: var(--c-bg);
    border: 1px solid var(--c-border-subtle);
    border-radius: var(--radius-section);
    overflow: hidden;
    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.25s ease;
}

.row.contact-location-card--hcm > .col:first-child > .col-inner:hover,
.contact-location-card--hanoi:hover {
    border-color: rgba(0, 155, 145, 0.25);
    box-shadow: var(--shadow-panel);
    transform: translateY(-4px);
}

.row.contact-location-card--hcm > .col:first-child > .col-inner::after,
.contact-location-card--hanoi::after {
    content: "";
    position: absolute;
    top: clamp(-55px, -4.5vw, -38px);
    right: clamp(-45px, -3.8vw, -30px);
    width: clamp(120px, 13vw, 150px);
    aspect-ratio: 1;
    background: radial-gradient(circle, rgba(0, 155, 145, 0.13), rgba(0, 155, 145, 0) 70%);
    border-radius: 50%;
    pointer-events: none;
}

.contact-location-card__label {
    position: relative;
    z-index: 2;
    margin: 0 0 var(--size-sm);
    color: var(--c-primary);
    font-size: var(--font-xs);
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.row.contact-location-card--hcm > .col:first-child > .col-inner > h3,
.contact-location-card--hanoi h3 {
    position: relative;
    z-index: 2;
    margin: 0 0 clamp(14px, 1.5vw, 18px);
    color: var(--c-heading);
    font-size: clamp(20px, 2vw, 27px);
    line-height: 1.25;
    font-weight: 750;
}

.row.contact-location-card--hcm > .col:first-child > .col-inner > p:not(.contact-location-card__label),
.contact-location-card--hanoi > p:not(.contact-location-card__label) {
    position: relative;
    z-index: 2;
    margin: 0 0 var(--size-sm);
    color: var(--c-text-secondary);
    font-size: var(--font-sm);
    line-height: 1.65;
}

.contact-location-card--hanoi > p:last-child,
.row.contact-location-card--hcm > .col:first-child > .col-inner > p:last-child {
    margin-bottom: 0;
}

.contact-location-card--hanoi a,
.row.contact-location-card--hcm > .col:first-child > .col-inner a {
    margin-left: clamp(4px, 0.5vw, 5px);
    color: var(--c-primary);
    font-weight: 650;
}

/* ĐỘI NGŨ TƯ VẤN */

.section.contact-advisors {
    background-color: var(--c-bg);
}

.contact-advisor-card {
    display: flex;
}

.contact-advisor-card > .col-inner {
    width: 100%;
}

.contact-advisor-card .box {
    background-color: var(--c-white);
    border: 1px solid var(--c-border-subtle);
    border-radius: var(--radius-section);
    box-shadow: var(--shadow-panel);
    overflow: hidden;
    transition:
        border-color 0.3s ease,
        box-shadow 0.3s ease,
        transform 0.3s ease;
}

.contact-advisor-card .box:hover {
    border-color: rgba(0, 155, 145, 0.24);
    box-shadow: var(--shadow-panel-hover);
    transform: translateY(-6px);
}

.contact-advisor-card .box-text {
    display: flex;
    flex: 1;
    align-items: center;
    padding: clamp(16px, 2vw, 26px) clamp(14px, 2vw, 26px);
    background-color: var(--c-white);
}

.contact-advisor-card .box-text-inner {
    width: 100%;
}

.contact-advisor-card h4 {
    margin: 0 0 clamp(4px, 0.5vw, 5px);
    color: var(--c-heading);
    font-size: clamp(18px, 1.8vw, 23px);
    line-height: 1.3;
    font-weight: 750;
}

.contact-advisor-card .box-text p {
    margin: 0 0 clamp(12px, 1.3vw, 15px);
    color: var(--c-muted-strong);
    font-size: var(--font-sm);
    line-height: 1.5;
}

.contact-advisor-card .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: var(--size-xs) clamp(9px, 1.5vw, 16px);
    color: var(--c-primary);
    background-color: var(--c-white);
    border: 1px solid rgba(0, 155, 145, 0.4);
    border-radius: var(--radius-control);
    font-size: clamp(12px, 1.05vw, 14px);
    line-height: 1.2;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0;
    transition:
        color 0.25s ease,
        background-color 0.25s ease,
        border-color 0.25s ease;
}

.contact-advisor-card .button:hover {
    color: var(--c-white);
    background-color: var(--c-primary);
    border-color: var(--c-primary);
}

/* KHỐI FORM TƯ VẤN */

.section.contact-lead {
    background: linear-gradient(180deg, var(--c-white) 0%, var(--c-primary-pale) 100%);
}

.contact-lead > .section-content > .row {
    align-items: stretch;
}

.contact-lead__info,
.contact-lead__form {
    display: flex;
}

.contact-lead__info > .col-inner,
.contact-lead__form > .col-inner {
    width: 100%;
    height: 100%;
}

.contact-lead__info > .col-inner {
    position: relative;
    padding: clamp(28px, 4vw, 52px);
    color: var(--c-white);
    background: linear-gradient(145deg, var(--c-primary-dark) 0%, var(--c-primary) 100%);
    border-radius: var(--radius-panel) 0 0 var(--radius-panel);
    overflow: hidden;
}

.contact-lead__info > .col-inner::after {
    content: "";
    position: absolute;
    right: clamp(-100px, -8vw, -60px);
    bottom: clamp(-120px, -10vw, -72px);
    width: clamp(230px, 25vw, 340px);
    aspect-ratio: 1;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 50%;
    pointer-events: none;
}

.contact-lead__eyebrow {
    color: rgba(255, 255, 255, 0.78);
}

.contact-lead__info h2 {
    position: relative;
    z-index: 2;
    margin: 0 0 clamp(12px, 1.5vw, 16px);
    color: var(--c-white);
    font-size: var(--font-page-title);
    line-height: 1.16;
    font-weight: 750;
    letter-spacing: -0.025em;
}

.contact-lead__info > .col-inner > p:not(.contact-lead__eyebrow):not(.contact-lead__note) {
    position: relative;
    z-index: 2;
    margin: 0 0 clamp(18px, 2vw, 22px);
    color: rgba(255, 255, 255, 0.82);
    font-size: var(--font-description);
    line-height: 1.7;
}

.contact-lead__list {
    position: relative;
    z-index: 2;
}

.contact-lead__list li {
    position: relative;
    color: rgba(255, 255, 255, 0.92);
    font-size: var(--font-sm);
    line-height: 1.55;
}

.contact-lead__note {
    position: relative;
    z-index: 2;
    margin: 0;
    padding-top: var(--space-lg);
    color: rgba(255, 255, 255, 0.7);
    border-top: 1px solid rgba(255, 255, 255, 0.18);
    font-size: var(--font-xs);
    line-height: 1.6;
}

.contact-lead__form > .col-inner {
    padding: clamp(24px, 3.5vw, 44px);
    background-color: var(--c-white);
    border: 1px solid var(--c-border-subtle);
    border-left: 0;
    border-radius: 0 var(--radius-panel) var(--radius-panel) 0;
    box-shadow: var(--shadow-panel);
}

.sendora-form {
    display: flex;
    flex-direction: column;
    gap: clamp(14px, 1.5vw, 18px);
}

.sendora-form__row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(12px, 1.5vw, 18px);
}

.sendora-form__field {
    min-width: 0;
}

.sendora-form__field label {
    display: block;
    margin: 0 0 clamp(5px, 0.6vw, 7px);
    color: var(--c-text);
    font-size: var(--font-sm);
    line-height: 1.4;
    font-weight: 650;
}

.sendora-form__field label > span {
    color: var(--c-error);
}

.sendora-form__field .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

.sendora-form input[type="text"],
.sendora-form input[type="tel"],
.sendora-form input[type="email"],
.sendora-form select,
.sendora-form textarea {
    display: block;
    width: 100%;
    min-width: 0;
    min-height: var(--control-size);
    margin: 0;
    padding: var(--size-sm) clamp(11px, 1.2vw, 13px);
    color: var(--c-text);
    background-color: var(--c-bg);
    border: 1px solid var(--c-border-neutral);
    border-radius: var(--radius-control);
    font-family: inherit;
    font-size: var(--font-sm);
    line-height: 1.4;
    box-shadow: none;
    outline: none;
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.sendora-form select {
    cursor: pointer;
}

.sendora-form textarea {
    min-height: clamp(105px, 11vw, 130px);
    resize: vertical;
}

.sendora-form input::placeholder,
.sendora-form textarea::placeholder {
    color: var(--c-muted-soft);
}

.sendora-form input:focus,
.sendora-form select:focus,
.sendora-form textarea:focus {
    background-color: var(--c-white);
    border-color: var(--c-primary);
    box-shadow: 0 0 0 clamp(3px, 0.35vw, 4px) var(--c-focus-ring);
}

.sendora-form .wpcf7-not-valid {
    border-color: var(--c-error) !important;
}

.sendora-form .wpcf7-not-valid-tip {
    margin-top: clamp(4px, 0.5vw, 5px);
    color: var(--c-error);
    font-size: var(--font-xs);
}

.sendora-form__consent {
    color: var(--c-muted-strong);
    font-size: var(--font-xs);
    line-height: 1.55;
}

.sendora-form__consent .wpcf7-list-item {
    margin: 0;
}

.sendora-form__consent label {
    display: flex;
    align-items: center;
    gap: clamp(7px, 0.8vw, 9px);
    cursor: pointer;
}

.sendora-form__consent input[type="checkbox"] {
    margin: 0;
    accent-color: var(--c-primary);
    flex: 0 0 clamp(16px, 1.5vw, 17px);
    -webkit-appearance: auto;
    -moz-appearance: auto;
    appearance: auto;
    width: clamp(16px, 1.5vw, 17px);
    height: clamp(16px, 1.5vw, 17px);
}

.sendora-form__actions {
    display: flex;
    align-items: center;
}

.sendora-form__actions .sendora-form__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: var(--size-sm) clamp(20px, 2.2vw, 30px);
    color: var(--c-white);
    background-color: var(--c-primary);
    border: 1px solid var(--c-primary);
    border-radius: var(--radius-sm);
    font-family: inherit;
    font-size: var(--font-sm);
    line-height: 1.2;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0;
    box-shadow: none;
    cursor: pointer;
    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}

.sendora-form__submit:hover {
    background-color: var(--c-primary-dark);
    border-color: var(--c-primary-dark);
    transform: translateY(-2px);
}

.sendora-form__submit:disabled {
    color: var(--c-white);
    background-color: var(--c-muted-soft);
    border-color: var(--c-muted-soft);
    cursor: not-allowed;
    opacity: 0.7;
    transform: none;
}

.contact-lead__form .wpcf7-response-output {
    margin: clamp(12px, 1.5vw, 16px) 0 0 !important;
    padding: var(--size-sm) clamp(11px, 1.2vw, 13px) !important;
    border-width: 1px !important;
    border-radius: var(--radius-control);
    font-size: var(--font-sm);
    line-height: 1.5;
}

/* FAQ */

.section.contact-faq {
    background-color: var(--c-white);
}

.contact-faq__accordion {
    max-width: min(100%, 900px);
    margin: 0 auto;
}

.contact-faq__accordion .accordion-item {
    margin: 0 0 clamp(8px, 1vw, 12px);
    background-color: var(--c-bg);
    border: 1px solid var(--c-border-subtle);
    border-radius: var(--radius-control);
    overflow: hidden;
    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.contact-faq__accordion .accordion-item:has(.accordion-title.active) {
    background-color: var(--c-white);
    border-color: rgba(0, 155, 145, 0.28);
    box-shadow: var(--shadow-panel);
}

.contact-faq__accordion .accordion-title {
    position: relative;
    display: flex;
    align-items: center;
    min-height: clamp(50px, 5vw, 60px);
    padding: var(--size-sm) clamp(45px, 5vw, 60px) var(--size-sm) clamp(15px, 2vw, 22px);
    color: var(--c-text);
    background: transparent;
    border: 0;
    font-size: var(--font-sm);
    line-height: 1.45;
    font-weight: 650;
}

.contact-faq__accordion .accordion-title:hover,
.contact-faq__accordion .accordion-title.active {
    color: var(--c-primary);
}

.contact-faq__accordion .accordion-title .toggle {
    position: absolute;
    top: 50%;
    right: clamp(12px, 1.5vw, 18px);
    left: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--size-toggle);
    height: var(--size-toggle);
    color: var(--c-primary);
    background-color: var(--c-primary-soft);
    border-radius: 50%;
    transform: translateY(-50%);
    margin: 0;
}

.contact-faq__accordion .accordion-title.active .toggle {
    transform: translateY(-50%) rotate(180deg);
}

.contact-faq__accordion .accordion-inner {
    padding: 0 clamp(16px, 2.2vw, 26px) clamp(18px, 2vw, 24px);
    color: var(--c-text-secondary);
    background-color: transparent;
}

.contact-faq__accordion .accordion-inner p,
.contact-faq__accordion .accordion-inner li {
    color: var(--c-text-secondary);
    font-size: var(--font-sm);
    line-height: 1.7;
}

.contact-faq__accordion .accordion-inner p {
    margin: 0 0 var(--size-sm);
}

.contact-faq__accordion .accordion-inner p:last-child {
    margin-bottom: 0;
}

.contact-faq__accordion .accordion-inner ul,
.contact-faq__accordion .accordion-inner ol {
    margin: var(--size-sm) 0;
    padding-left: clamp(18px, 2vw, 22px);
}

.contact-faq__accordion .accordion-inner li {
    margin-bottom: clamp(5px, 0.6vw, 7px);
}

/* TABLET */

@media (max-width: 849px) {
    .contact-hero__intro > .col-inner {
        padding: 0;
    }
    .contact-map iframe {
        min-height: clamp(300px, 60vw, 430px);
    }
    .contact-lead__info > .col-inner {
        border-radius: var(--radius-panel) var(--radius-panel) 0 0;
    }
    .contact-lead__form > .col-inner {
        border-top: 0;
        border-left: 1px solid var(--c-border-subtle);
        border-radius: 0 0 var(--radius-panel) var(--radius-panel);
    }
}

@media (max-width: 549px) {
    .contact-hero__copy h1 {
        letter-spacing: -0.025em;
    }
    .contact-hero__intro .button {
        width: 100%;
        margin: clamp(4px, 0.5vw, 5px) 0;
    }
    .section.contact-quick {
        margin-top: clamp(-40px, -11.8vw, -36px);
    }
    .contact-quick__grid > .col {
        max-width: 100%;
        flex-basis: 100%;
    }
    .contact-section-heading {
        text-align: left;
    }
    .contact-advisor-card .box {
        display: grid;
        grid-template-columns: clamp(120px, 40vw, 160px) minmax(0, 1fr);
    }
    .contact-advisor-card .box-image {
        width: 100%;
    }
    .contact-advisor-card .image-cover {
        height: 100%;
        min-height: clamp(160px, 50vw, 180px);
    }
    .contact-advisor-card .button {
        width: 100%;
    }
    .contact-lead__info > .col-inner,
    .contact-lead__form > .col-inner {
        padding: clamp(22px, 6vw, 24px) clamp(16px, 4.8vw, 18px);
    }
    .sendora-form__row {
        grid-template-columns: minmax(0, 1fr);
    }
    .sendora-form__submit {
        width: 100%;
    }
}

/* PRODUCT CATEGORY DESCRIPTION */

/* KHUNG NGOÀI */

.product-category-description {
    position: relative;
    display: block;
    width: 100%;
    min-width: 0;
    min-height: 0;
    margin-top: 0px !important;
    margin: clamp(10px, 1.5vw, 20px) auto;
    padding: var(--category-desc-padding);
    color: var(--c-article-text);
    background-color: var(--c-tab);
    border: 1px solid var(--c-border-subtle);
    border-radius: var(--radius-section);
    font-size: var(--font-sm);
    line-height: 1.65;
    text-align: justify;
    overflow: hidden;
}

/* NỘI DUNG BÊN TRONG */

.product-category-description__content {
    position: relative;
    width: 100%;
    max-height: var(--category-desc-collapsed-height);
    padding: clamp(12px, 1.5vw, 18px);
    color: var(--c-article-text);
    background-color: var(--c-white);
    border-radius: var(--radius-control);
    overflow: hidden;
    transition: max-height 0.45s ease;
}

.product-category-description__content > :first-child {
    margin-top: 0 !important;
}

.product-category-description__content > :last-child {
    margin-bottom: 0 !important;
}

.product-category-layout {
    display: flex;
    gap: 24px;
    align-items: flex-start;
}

.product-category-zalo {
    flex: 1 1 65%;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 24px;
    background: #f7f7f8;
    border: 1px solid #eee;
    border-radius: 12px;
    padding: 24px;
}

.product-category-zalo__icon {
    flex: 0 0 100px;
}

.product-category-zalo__title {
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 8px;
    color: #1a1a1a;
}

.product-category-zalo__desc {
    font-size: 15px;
    line-height: 1.5;
    color: #555;
    margin: 0 0 16px;
}

.product-category-zalo__button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #0068ff;
    color: #fff;
    font-weight: 600;
    font-size: 15px;
    padding: 10px 20px;
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.2s ease;
}

.product-category-zalo__button:hover {
    background: #0052cc;
    color: #fff;
}

@media (max-width: 782px) {
    .product-category-zalo {
        flex-direction: column;
        text-align: center;
        gap: 16px;
    }
}

.product-category-description {
    flex: 1 1 65%;
    min-width: 0;
}

.product-news-sidebar {
    flex: 0 0 320px;
    max-width: 320px;
    padding: var(--category-desc-padding);
    color: var(--c-article-text);
    background-color: var(--c-tab);
    border: 1px solid var(--c-border-subtle);
    border-radius: var(--radius-section);
}

.product-news-sidebar__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.product-news-sidebar__title {
    font-size: 18px;
    font-weight: 700;
    margin: 0;
    color: #000;
}

.product-news-sidebar__viewall {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    color: #000;
    text-decoration: none;
    white-space: nowrap;
}

.product-news-sidebar__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.product-news-sidebar__link {
    display: flex;
    gap: 12px;
    text-decoration: none;
    color: inherit;
}

.product-news-sidebar__thumb {
    flex: 0 0 90px;
    width: 90px;
    height: 68px;
    border-radius: 8px;
    overflow: hidden;
    background: #f0f0f0;
}

.product-news-sidebar__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.product-news-sidebar__text {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
    color: #1a1a1a;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

@media (max-width: 782px) {
    .product-category-layout {
        flex-direction: column;
    }
    .product-news-sidebar {
        max-width: 100%;
        flex: 1 1 100%;
    }
}

/* TIÊU ĐỀ */

.product-category-description__content h1,
.product-category-description__content h2,
.product-category-description__content h3,
.product-category-description__content h4 {
    color: var(--c-ink);
    font-family: inherit;
    font-weight: 700;
    text-align: left;
    text-transform: none;
    letter-spacing: 0;
}

.product-category-description__content h1 {
    margin: clamp(22px, 2.5vw, 32px) 0 clamp(10px, 1.2vw, 14px);
    font-size: var(--font-content-h1);
    line-height: 1.25;
}

.product-category-description__content h2 {
    margin: clamp(24px, 2.8vw, 36px) 0 clamp(9px, 1.1vw, 13px);
    padding: 0;
    font-size: var(--font-content-h2);
    line-height: 1.3;
}

.product-category-description__content h3 {
    margin: clamp(18px, 2vw, 26px) 0 clamp(7px, 0.9vw, 10px);
    padding: 0;
    font-size: var(--font-content-h3);
    line-height: 1.4;
}

.product-category-description__content h4 {
    margin: clamp(15px, 1.7vw, 22px) 0 clamp(6px, 0.8vw, 9px);
    padding: 0;
    font-size: var(--font-content-h4);
    line-height: 1.4;
}

.product-category-description__content > h1:first-child,
.product-category-description__content > h2:first-child,
.product-category-description__content > h3:first-child {
    margin-top: 0;
}

/* ĐOẠN VĂN */

.product-category-description__content p {
    margin: 0 0 clamp(10px, 1.2vw, 14px);
    color: var(--c-article-text);
    font-size: var(--font-sm);
    line-height: 1.7;
    font-weight: 400;
}

.product-category-description__content strong {
    color: var(--c-ink);
    font-weight: 700;
}

.product-category-description__content em {
    color: var(--c-article-text);
}

/* DANH SÁCH */

.product-category-description__content ul,
.product-category-description__content ol {
    margin: clamp(9px, 1vw, 12px) 0 clamp(14px, 1.5vw, 20px);
    padding-left: clamp(20px, 2.2vw, 28px);
    color: var(--c-article-text);
}

.product-category-description__content ul {
    list-style: disc;
}

.product-category-description__content ol {
    list-style: decimal;
}

.product-category-description__content li {
    margin: 0 0 clamp(6px, 0.7vw, 9px);
    color: var(--c-article-text);
    font-size: var(--font-sm);
    line-height: 1.65;
    font-weight: 400;
    text-align: left;
}

.product-category-description__content li:last-child {
    margin-bottom: 0;
}

.product-category-description__content li::marker {
    color: var(--c-primary);
}

.product-category-description__content li ul,
.product-category-description__content li ol {
    margin-top: clamp(5px, 0.6vw, 7px);
    margin-bottom: clamp(5px, 0.6vw, 7px);
}

/* LIÊN KẾT */

.product-category-description__content a {
    color: var(--c-primary);
    font-weight: 600;
    text-decoration: none;
    transition:
        color 0.2s ease,
        opacity 0.2s ease;
}

.product-category-description__content a:hover {
    color: var(--c-primary-dark);
    text-decoration: underline;
}

/* BLOCKQUOTE / GHI CHÚ */

.product-category-description__content blockquote {
    position: relative;
    margin: clamp(14px, 1.6vw, 20px) 0;
    padding: clamp(12px, 1.5vw, 18px) clamp(14px, 1.8vw, 22px);
    color: var(--c-article-text);
    background-color: var(--c-primary-soft);
    border: 0;
    border-radius: var(--radius-control);
}

.product-category-description__content blockquote::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: clamp(3px, 0.35vw, 4px);
    background-color: var(--c-primary);
    border-radius: var(--radius-control) 0 0 var(--radius-control);
}

.product-category-description__content blockquote p {
    margin-bottom: var(--size-xs);
    color: inherit;
}

.product-category-description__content blockquote p:last-child {
    margin-bottom: 0;
}

/* HÌNH ẢNH */

.product-category-description__content img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: clamp(14px, 1.8vw, 22px) auto;
    border-radius: var(--radius-control);
    object-fit: contain;
}

.product-category-description__content p:has(> img:only-child) {
    margin-bottom: clamp(14px, 1.8vw, 22px);
    text-align: center;
}

/* BẢNG */

.product-category-description__content table {
    display: block;
    width: 100% !important;
    max-width: 100%;
    margin: clamp(14px, 1.8vw, 22px) 0;
    background-color: var(--c-white);
    border: 1px solid var(--c-border-neutral);
    border-radius: var(--radius-control);
    border-collapse: separate;
    border-spacing: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
    scrollbar-color: var(--c-muted-soft) transparent;
}

.product-category-description__content table::-webkit-scrollbar {
    height: clamp(4px, 0.5vw, 6px);
}

.product-category-description__content table::-webkit-scrollbar-track {
    background-color: transparent;
}

.product-category-description__content table::-webkit-scrollbar-thumb {
    background-color: var(--c-muted-soft);
    border-radius: 999px;
}

.product-category-description__content table thead,
.product-category-description__content table tbody {
    display: table;
    width: 100%;
    min-width: clamp(680px, 75vw, 850px);
    table-layout: fixed;
}

.product-category-description__content table tr {
    background-color: var(--c-white);
}

.product-category-description__content table thead tr {
    background-color: var(--c-table-bg);
}

.product-category-description__content table th,
.product-category-description__content table td {
    padding: clamp(9px, 1.2vw, 14px);
    color: var(--c-table-text);
    border: 0;
    border-right: 1px solid var(--c-border-neutral);
    border-bottom: 1px solid var(--c-border-neutral);
    font-size: var(--font-table);
    line-height: 1.5;
    font-weight: 400;
    text-align: left;
    vertical-align: middle;
}

.product-category-description__content table th {
    color: var(--c-ink);
    background-color: var(--c-table-bg);
    font-weight: 700;
}

.product-category-description__content table tr > :last-child {
    border-right: 0;
}

.product-category-description__content table tbody tr:last-child td {
    border-bottom: 0;
}

.product-category-description__content table tbody tr:hover {
    background-color: var(--c-primary-pale);
}

.product-category-description__content table p {
    margin: 0;
    text-align: left;
}

.product-category-description__content table a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: clamp(30px, 3vw, 32px);
    padding: clamp(4px, 0.5vw, 5px) var(--size-sm);
    color: var(--c-primary);
    background-color: var(--c-primary-soft);
    border-radius: var(--radius-xs);
    font-size: var(--font-xs);
    line-height: 1.3;
    font-weight: 650;
    text-align: center;
    white-space: nowrap;
}

.product-category-description__content table a:hover {
    color: var(--c-white);
    background-color: var(--c-primary);
    text-decoration: none;
}

/* NỘI DUNG CHÍNH / TABLE OF CONTENT — Sẵn sàng nếu sau này bạn thêm mục lục */

.product-category-description .table-content {
    margin: clamp(14px, 1.7vw, 22px) 0;
    background-color: var(--c-border-neutral);
    border-radius: var(--radius-control);
    overflow: hidden;
}

.product-category-description .table-content__title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--size-sm);
    min-height: clamp(38px, 4vw, 42px);
    padding: clamp(7px, 0.8vw, 9px) clamp(12px, 1.3vw, 14px);
    color: var(--c-ink);
    cursor: pointer;
}

.product-category-description .table-content__title p {
    margin: 0;
    color: inherit;
    font-size: var(--font-sm);
    font-weight: 600;
}

.product-category-description .table-content__title svg {
    width: var(--icon-rating);
    height: var(--icon-rating);
    flex: 0 0 var(--icon-rating);
    transition: transform 0.25s ease;
}

.product-category-description .table-content__title svg.rotate {
    transform: rotate(180deg);
}

.product-category-description .table-content__wrapper {
    padding: var(--size-sm) clamp(12px, 1.3vw, 14px) clamp(14px, 1.5vw, 16px);
}

.product-category-description .table-content__list {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.product-category-description .table-content__item {
    display: block;
    padding: clamp(2px, 0.3vw, 3px) 0;
    color: var(--c-text-secondary);
    font-size: var(--font-sm);
    line-height: 1.55;
    font-weight: 400;
    text-align: left;
}

.product-category-description .table-content__item.level-3 {
    padding-left: clamp(16px, 2vw, 24px);
}

.product-category-description .table-content__item:hover {
    color: var(--c-primary);
    text-decoration: none;
}

/* FOOTER GRADIENT + NÚT XEM THÊM */

.product-category-description__footer {
    position: absolute;
    z-index: 5;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    min-height: clamp(95px, 11vw, 135px);
    margin: 0;
    padding: clamp(48px, 6vw, 70px) var(--category-desc-padding) clamp(10px, 1.3vw, 16px);
    background: linear-gradient(180deg, rgba(247, 247, 248, 0) 0%, rgba(247, 247, 248, 0.92) 45%, var(--c-tab) 64%);
    pointer-events: none;
}

.product-category-description__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: clamp(5px, 0.7vw, 7px);
    width: min(100%, 160px);
    min-height: clamp(36px, 3.5vw, 38px);
    margin: 0;
    padding: clamp(6px, 0.7vw, 7px) clamp(14px, 1.5vw, 16px);
    color: var(--c-primary);
    background-color: var(--c-white);
    border: 1px solid var(--c-border-neutral);
    border-radius: var(--radius-control);
    font-family: inherit;
    font-size: var(--font-sm);
    line-height: 1.2;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
    box-shadow:
        0 1px 2px rgba(60, 64, 67, 0.05),
        0 3px 12px rgba(60, 64, 67, 0.08);
    cursor: pointer;
    pointer-events: auto;
    transition:
        color 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}

.product-category-description__toggle:hover {
    color: var(--c-white);
    background-color: var(--c-primary);
    border-color: var(--c-primary);
    transform: translateY(-1px);
}

.product-category-description__toggle svg {
    width: var(--size-md);
    height: var(--size-md);
    flex: 0 0 var(--size-md);
    transition: transform 0.3s ease;
}

/* TRẠNG THÁI MỞ RỘNG */

.product-category-description.is-expanded .product-category-description__content,
.product-category-description[data-expanded="true"] .product-category-description__content,
.product-category-description:has(.product-category-description__toggle[aria-expanded="true"])
    .product-category-description__content {
    max-height: none;
    overflow: visible;
}

.product-category-description.is-expanded .product-category-description__footer,
.product-category-description[data-expanded="true"] .product-category-description__footer,
.product-category-description:has(.product-category-description__toggle[aria-expanded="true"])
    .product-category-description__footer {
    position: relative;
    right: auto;
    bottom: auto;
    left: auto;
    min-height: 0;
    padding: clamp(10px, 1.3vw, 16px) 0 0;
    background: none;
}

.product-category-description.is-expanded .product-category-description__toggle svg,
.product-category-description[data-expanded="true"] .product-category-description__toggle svg,
.product-category-description__toggle[aria-expanded="true"] svg {
    transform: rotate(180deg);
}

/* MOBILE */

@media (max-width: 549px) {
    .product-category-description {
        text-align: left;
    }
    .product-category-description__content {
        padding: clamp(11px, 3vw, 12px) var(--size-sm);
    }
    .product-category-description__content p {
        line-height: 1.65;
    }
    .product-category-description__toggle {
        width: min(100%, 280px);
    }
}

.single-product .product-section:has(#reviews) .comment-form-comment label {
    display: none;
}

/* =========================================================
   THÔNG SỐ KỸ THUẬT ACF
========================================================= */

/* Khung nội dung */
.single-product .product-page-sections > .product-section:has(.sendora-product-specifications) .panel.entry-content {
    width: 100%;
    margin: 0;
    padding: var(--detail-padding);

    color: var(--detail-text);
    background-color: var(--detail-white);

    border: 1px solid var(--detail-border);
    border-radius: var(--detail-radius);

    overflow: hidden;
}

.single-product .sendora-product-specifications {
    display: block;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;

    color: var(--detail-text);

    font-size: clamp(13px, 1.1vw, 14px);
    line-height: 1.55;
}

/* Đoạn mô tả phía trên bảng */
.single-product .sendora-product-specifications p {
    margin: 0 0 clamp(10px, 1.2vw, 14px);

    color: var(--detail-muted);

    font-size: clamp(13px, 1.1vw, 14px);
    line-height: 1.55;
}

/* Tiêu đề bên trong nội dung ACF */
.single-product .sendora-product-specifications :is(h2, h3, h4) {
    margin: clamp(14px, 1.5vw, 20px) 0 clamp(8px, 1vw, 12px);

    color: var(--detail-text);

    line-height: 1.4;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0;
}

.single-product .sendora-product-specifications h2 {
    font-size: clamp(18px, 1.7vw, 22px);
}

.single-product .sendora-product-specifications h3 {
    font-size: clamp(15px, 1.4vw, 18px);
}

.single-product .sendora-product-specifications h4 {
    font-size: clamp(14px, 1.2vw, 16px);
}

.single-product .sendora-product-specifications > :first-child {
    margin-top: 0;
}

.single-product .sendora-product-specifications > :last-child {
    margin-bottom: 0;
}

/* =========================================================
   BẢNG THÔNG SỐ
========================================================= */

.single-product .sendora-product-specifications table {
    display: block;

    width: 100% !important;
    margin: 0;

    background-color: var(--detail-white);

    border: 1px solid var(--detail-border);
    border-radius: clamp(9px, 0.9vw, 12px);
    border-spacing: 0;

    overflow-x: auto;
    overflow-y: hidden;

    -webkit-overflow-scrolling: touch;
}

.single-product .sendora-product-specifications table tbody {
    display: table;

    width: 100%;
    border-collapse: collapse;
}

/* Các ô trong bảng */
.single-product .sendora-product-specifications table th,
.single-product .sendora-product-specifications table td {
    padding: clamp(9px, 1vw, 12px) clamp(10px, 1.2vw, 16px);

    color: var(--c-table-text, #52525b);
    background-color: var(--detail-white);

    border: 0;
    border-bottom: 1px solid var(--detail-border);

    font-size: clamp(12px, 1vw, 14px);
    line-height: 1.45;
    font-weight: 400;
    text-align: left;
    vertical-align: middle;
}

/* Dòng cuối không có border */
.single-product .sendora-product-specifications table tr:last-child th,
.single-product .sendora-product-specifications table tr:last-child td {
    border-bottom: 0;
}
.single-product .sendora-product-specifications table th:first-child,
.single-product .sendora-product-specifications table td:first-child {
    width: clamp(125px, 32%, 185px);

    color: var(--c-table-text, #52525b);
    background-color: var(--c-table-bg, #f0f0f1);

    border-right: 1px solid var(--detail-border);

    font-weight: 500;
}

/* Chữ đậm trong bảng */
.single-product .sendora-product-specifications table strong {
    color: inherit;
    font-weight: 600;
}

/* Danh sách */
.single-product .sendora-product-specifications ul,
.single-product .sendora-product-specifications ol {
    margin: clamp(8px, 1vw, 12px) 0;
    padding-left: clamp(20px, 2vw, 26px);
}

.single-product .sendora-product-specifications li {
    margin-bottom: 5px;

    color: var(--c-table-text, #52525b);

    font-size: inherit;
    line-height: 1.5;
}

.single-product .sendora-product-specifications li:last-child {
    margin-bottom: 0;
}

.single-product .sendora-product-specifications li::marker {
    color: var(--detail-primary);
}

@media screen and (min-width: 850px) {
    .single-product .product-page-sections {
        grid-template-columns:
            minmax(0, 1.45fr)
            minmax(310px, 0.85fr);
    }

    /* Mô tả bên trái */
    .single-product .product-page-sections > .product-section:first-child {
        grid-column: 1;
        grid-row: 1;
    }

    /* Thông số bên phải */
    .single-product .product-page-sections > .product-section:has(.sendora-product-specifications) {
        position: sticky;
        top: clamp(80px, 8vw, 110px);

        grid-column: 2;
        grid-row: 1;

        align-self: start;
    }

    /* Đánh giá nằm dưới cùng và chiếm toàn hàng */
    .single-product .product-page-sections > .product-section:has(#reviews) {
        grid-row: 2;
    }
}

/* Mobile */
@media screen and (max-width: 549px) {
    .single-product
        .product-page-sections
        > .product-section:has(.sendora-product-specifications)
        .panel.entry-content {
        padding: clamp(10px, 3vw, 14px);
    }

    .single-product .sendora-product-specifications table {
        display: table;
        width: 100% !important;
        table-layout: fixed;
        overflow: visible;
    }

    .single-product .sendora-product-specifications table tbody {
        display: table-row-group;
        width: 100%;
        min-width: 0;
    }

    .single-product .sendora-product-specifications table tr {
        display: table-row;
    }

    .single-product .sendora-product-specifications table th,
    .single-product .sendora-product-specifications table td {
        width: auto !important;
        min-width: 0;
        padding: 9px 10px;
        white-space: normal !important;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    /* Cột tên thông số */
    .single-product .sendora-product-specifications table th:first-child:not([colspan]),
    .single-product .sendora-product-specifications table td:first-child:not([colspan]) {
        width: 42% !important;
    }

    /* Cột giá trị */
    .single-product .sendora-product-specifications table th:last-child:not(:first-child),
    .single-product .sendora-product-specifications table td:last-child:not(:first-child) {
        width: 58% !important;
    }

    /* Các dòng gộp 2 cột */
    .single-product .sendora-product-specifications table th[colspan],
    .single-product .sendora-product-specifications table td[colspan] {
        width: 100% !important;
        border-right: 0;
    }
}
