.elementor-296 .elementor-element.elementor-element-d1e7818{--display:flex;}.elementor-296 .elementor-element.elementor-element-16cb034{--display:flex;--min-height:0px;--margin-top:90px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-296 .elementor-element.elementor-element-5986c71{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-296 .elementor-element.elementor-element-847bea3{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-296 .elementor-element.elementor-element-847bea3.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-296 .elementor-element.elementor-element-201f083{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-296 .elementor-element.elementor-element-201f083.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-woocommerce-product-title .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.woocommerce .elementor-widget-woocommerce-product-price .price{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}body:not(.rtl) .elementor-296 .elementor-element.elementor-element-a2f5847:not(.elementor-product-price-block-yes) del{margin-right:0px;}body.rtl .elementor-296 .elementor-element.elementor-element-a2f5847:not(.elementor-product-price-block-yes) del{margin-left:0px;}.elementor-296 .elementor-element.elementor-element-a2f5847.elementor-product-price-block-yes del{margin-bottom:0px;}.elementor-296 .elementor-element.elementor-element-6eb1063{margin:10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-296 .elementor-element.elementor-element-24953f6{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:wrap;--margin-top:-5px;--margin-bottom:-5px;--margin-left:-5px;--margin-right:-5px;}.elementor-296 .elementor-element.elementor-element-6c3397a{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-296 .elementor-element.elementor-element-26a047d{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-296 .elementor-element.elementor-element-6fa916a{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-296 .elementor-element.elementor-element-a657f0f{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-296 .elementor-element.elementor-element-a52f789 .cart button, .elementor-296 .elementor-element.elementor-element-a52f789 .cart .button{transition:all 0.2s;}.elementor-296 .elementor-element.elementor-element-a52f789 .quantity .qty{transition:all 0.2s;}.elementor-296 .elementor-element.elementor-element-525704c{--display:flex;--min-height:0px;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:-50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-296 .elementor-element.elementor-element-bd03d34{--display:flex;}.elementor-widget-woocommerce-product-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-296 .elementor-element.elementor-element-633620d{color:#D6CEC1;}@media(min-width:768px){.elementor-296 .elementor-element.elementor-element-5986c71{--width:100%;}.elementor-296 .elementor-element.elementor-element-847bea3{--width:100%;}.elementor-296 .elementor-element.elementor-element-201f083{--width:100%;}.elementor-296 .elementor-element.elementor-element-6c3397a{--width:100%;}.elementor-296 .elementor-element.elementor-element-26a047d{--width:100%;}.elementor-296 .elementor-element.elementor-element-6fa916a{--width:100%;}.elementor-296 .elementor-element.elementor-element-a657f0f{--width:100%;}}/* Start custom CSS for container, class: .elementor-element-5986c71 *//* =========================================================
   SINGLE PRODUCT — 2 COLUMNS + CTA FULL WIDTH BELOW
========================================================= */

.vt-product-top-grid {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);

    column-gap: 36px;
    row-gap: 24px;

    align-items: start;
}


/* CTA = hàng thứ 2, chạy hết 2 cột */

.vt-product-top-actions {
    grid-column: 1 / -1 !important;

    width: 100% !important;
    max-width: none !important;
}


/* Tablet + Mobile */

@media (max-width: 767px) {

    .vt-product-top-grid {
        grid-template-columns: 1fr;

        gap: 24px;
    }

    .vt-product-top-actions {
        grid-column: auto !important;
    }

}
/* =========================================================
   VỀ TRÀ — SINGLE PRODUCT CATALOG MODE
   KEEP VARIATIONS / HIDE PURCHASE
========================================================= */


/* =========================================================
   01 — GIỮ FORM VARIABLE PRODUCT
========================================================= */

.single-product
form.variations_form {
    display: block !important;

    width: 100%;

    margin-top: 24px !important;
}


/* =========================================================
   02 — VARIATION TABLE
========================================================= */

.single-product
form.variations_form
table.variations {
    display: table !important;

    width: 100% !important;

    margin: 0 !important;

    border-collapse: collapse;

    background: transparent !important;
}

.single-product
form.variations_form
table.variations tbody {
    display: table-row-group !important;
}

.single-product
form.variations_form
table.variations tr {
    display: table-row !important;

    border-top: 1px solid var(--vt-border);
}

.single-product
form.variations_form
table.variations th,
.single-product
form.variations_form
table.variations td {
    display: table-cell !important;

    padding: 14px 0 !important;

    vertical-align: middle;

    border: 0 !important;

    background: transparent !important;
}


/* LABEL */

.single-product
form.variations_form
table.variations th.label {
    width: 145px;

    padding-right: 20px !important;

    color: var(--vt-text);

    font-family: var(--vt-font-body);
    font-size: var(--vt-fs-body);
    font-weight: 400;
}


/* VALUE */

.single-product
form.variations_form
table.variations td.value {
    width: auto;
}


/* =========================================================
   03 — SELECT
========================================================= */

.single-product
form.variations_form
table.variations select {
    display: block !important;

    width: 100% !important;
    min-height: 46px;

    margin: 0 !important;

    padding: 0 42px 0 15px;

    color: var(--vt-title) !important;

    background: rgba(8,7,5,.58) !important;

    border: 1px solid var(--vt-border) !important;
    border-radius: 0 !important;

    font-family: var(--vt-font-body) !important;
    font-size: var(--vt-fs-body) !important;
    font-weight: 400;

    outline: none;
}

.single-product
form.variations_form
table.variations select:focus {
    border-color: var(--vt-border-accent) !important;
}


/* RESET VARIATION */

.single-product
.reset_variations {
    display: inline-block !important;

    margin-top: 9px;

    color: var(--vt-accent) !important;

    font-family: var(--vt-font-body);
    font-size: 13px;

    text-decoration: none;
}


/* =========================================================
   04 — SELECTED VARIATION
========================================================= */

.single-product
.single_variation_wrap {
    display: block !important;

    width: 100%;
}

.single-product
.single_variation {
    display: block !important;

    margin-top: 18px;
}


/* Variation price */

.single-product
.woocommerce-variation-price {
    display: block !important;
}

.single-product
.woocommerce-variation-price
.price {
    display: block !important;

    margin-bottom: 4px;

    color: var(--vt-accent) !important;

    font-family: var(--vt-font-display) !important;
    font-size: 26px !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
}


/* Variation description / availability */

.single-product
.woocommerce-variation-description,
.single-product
.woocommerce-variation-availability {
    display: block;
}


/* =========================================================
   05 — CHỈ ẨN PHẦN MUA
========================================================= */

/* Quantity */

.single-product
form.cart
.quantity {
    display: none !important;
}


/* Add to Cart button */

.single-product
form.cart
.single_add_to_cart_button {
    display: none !important;
}


/*
 * Quan trọng:
 * KHÔNG display:none cho:
 *
 * .woocommerce-variation-add-to-cart
 * .single_variation_wrap
 * form.variations_form
 * table.variations
 */


/* =========================================================
   06 — SIMPLE PRODUCT
========================================================= */

/*
 * Simple product không có variation .elementor-296 .elementor-element.elementor-element-5986c71,
 * nên form chỉ còn quantity + button.
 * Hai phần trên đã bị ẩn nên form không còn nội dung hữu ích.
 */

.single-product
.product-type-simple
form.cart {
    margin: 0 !important;
}


/* =========================================================
   07 — MOBILE
========================================================= */

@media (max-width: 767px) {

    .single-product
    form.variations_form
    table.variations,
    .single-product
    form.variations_form
    table.variations tbody,
    .single-product
    form.variations_form
    table.variations tr,
    .single-product
    form.variations_form
    table.variations th,
    .single-product
    form.variations_form
    table.variations td {
        display: block !important;

        width: 100% !important;
    }

    .single-product
    form.variations_form
    table.variations th.label {
        padding:
            14px 0
            7px !important;
    }

    .single-product
    form.variations_form
    table.variations td.value {
        padding:
            0 0
            14px !important;
    }

}
/* =========================================================
   SINGLE PRODUCT — SHOW VARIATIONS AS BUTTONS
========================================================= */

/* Ẩn select gốc nhưng vẫn giữ để WooCommerce xử lý */
.single-product form.variations_form table.variations select.vt-hidden-variation-select {
    position: absolute !important;
    left: -9999px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 1px !important;
    height: 1px !important;
}

/* Khối nút biến thể */
.single-product .vt-variation-options {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
}

/* Nút từng biến thể */
.single-product .vt-variation-option {
    appearance: none;
    border: 1px solid var(--vt-border, rgba(212,184,120,.35));
    background: transparent;
    color: var(--vt-title, #f5f1e8);
    padding: 10px 16px;
    min-height: 44px;
    cursor: pointer;
    transition: all .2s ease;
    font-family: var(--vt-font-body, inherit);
    font-size: 15px;
    line-height: 1.2;
}

/* Hover */
.single-product .vt-variation-option:hover {
    border-color: var(--vt-border-accent, #cda86a);
    color: var(--vt-title, #f5f1e8);
}

/* Active */
.single-product .vt-variation-option.is-active {
    background: var(--vt-accent, #cda86a);
    color: #111 !important;
    border-color: var(--vt-accent, #cda86a);
}

/* Disabled */
.single-product .vt-variation-option:disabled {
    opacity: .35;
    cursor: not-allowed;
}

/* Reset link */
.single-product .reset_variations {
    display: inline-block !important;
    margin-top: 10px;
    color: var(--vt-accent, #cda86a) !important;
    text-decoration: none;
    font-size: 13px;
}

/* Mobile */
@media (max-width: 767px) {
    .single-product .vt-variation-options {
        gap: 8px;
    }

    .single-product .vt-variation-option {
        padding: 9px 14px;
        font-size: 14px;
        min-height: 42px;
    }
}
/* =========================================
   FIX KHUNG ẢNH BIẾN THỂ KHÔNG NHẢY SIZE
========================================= */

/* Khóa viewport ảnh chính thành 1:1 */
.single-product .woocommerce-product-gallery .flex-viewport {
    aspect-ratio: 1 / 1;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden;
    background: #f3f3ef; /* nền sáng giống khung ảnh hiện tại */
}

/* Giữ toàn bộ wrapper full chiều cao */
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
    height: 100% !important;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image {
    height: 100% !important;
}

/* Link bọc ảnh */
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: #f3f3ef;
}

/* Ảnh chính luôn fill khung nhưng không méo */
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img,
.single-product .woocommerce-product-gallery img.wp-post-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block;
    margin: 0 !important;
    background: #f3f3ef;
}

/* Thumbnail dưới */
.single-product .flex-control-thumbs {
    display: flex;
    gap: 10px;
    margin-top: 14px !important;
}

.single-product .flex-control-thumbs li {
    list-style: none;
    width: 110px;
}

.single-product .flex-control-thumbs li img {
    width: 100% !important;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
    background: #f3f3ef;
}/* End custom CSS */