/* Reliable contact icons and touch controls for the legacy CMS markup. */
.widget .kvt-support-icon { display: block; width: 26px; height: 26px; color: #fff; }
.widget .widget__btn.kvt-support-contact { color: #55452a; }
.widget .widget__btn:focus-visible { outline: 3px solid #f3c95a; outline-offset: 5px; }
.kvt-quick-cart-open .widget { display: none; }
.popup_cart:not(.inpop3) { visibility: hidden; }
.popup_cart .popup_cart_title h3 { position: relative; padding-right: 48px; }
.popup_cart .popup_cart_close {
    position: absolute; top: -10px; right: -8px;
    display: grid; place-items: center; width: 44px; height: 44px;
    cursor: pointer; border-radius: 8px;
}
.popup_cart .popup_cart_close:after { float: none; }
.popup_cart .popup_cart_close:focus-visible { outline: 2px solid #b70f1a; outline-offset: -2px; }
.kvt-mobile-brand-copy { display: none; }
@media (max-width: 991.98px) {
    /* Figma Mobile PWA eCommerce Design Kit: separate brand/actions and search rows. */
    #ja-header .header3 {
        padding: 0 16px 12px;
        color: #23221e;
        background: #fff;
        border-bottom: 1px solid #eeece5;
        box-shadow: 0 4px 16px -12px #29241e40;
    }
    #ja-header .header3 > .main2 {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 44px 44px;
        grid-template-rows: 56px 48px;
        align-items: center;
        gap: 0 8px;
        min-width: 0;
    }
    #ja-header .header3_1 { grid-column: 1; grid-row: 1; min-width: 0; margin: 0; }
    #ja-header .header3_3 { display: none; }
    #ja-header .header3_1 .custom > p { margin: 0; }
    #ja-header .header3_1 .kvt-mobile-brand {
        display: flex;
        align-items: center;
        gap: 8px;
        min-width: 0;
        min-height: 44px;
        color: #23221e;
        text-decoration: none;
    }
    #ja-header .header3_1 img { flex: 0 0 36px; width: 36px; height: 40px; max-width: none; object-fit: contain; }
    #ja-header .header3_2 { grid-column: 1 / -1; grid-row: 2; min-width: 0; width: 100%; margin: 0; }
    #ja-header .header3_2 .workshome-title { display: none; }
    #ja-header .header3_2 form { margin: 0; }
    #ja-header .header3_2 .module_search {
        box-sizing: border-box;
        width: 100%;
        height: 48px;
        margin: 0;
        border: 1px solid #e3dfd4;
        border-radius: 12px;
        background: #f7f6f2;
    }
    #ja-header .header3_2 .module_search:focus-within { border-color: #b68b22; box-shadow: 0 0 0 2px #f3c95a40; }
    #ja-header .header3_2 .module_search .inputbox {
        box-sizing: border-box;
        flex: 1 1 auto;
        min-width: 0;
        width: 100%;
        padding: 0 12px 0 14px;
        font-size: 16px;
        font-weight: 400;
        background: transparent;
    }
    #ja-header .header3_2 .module_search .inputbox::placeholder { color: #77746c; }
    #ja-header .header3_2 .module_search .button {
        flex: 0 0 44px;
        width: 44px;
        height: 46px;
        color: #48463f;
        background: transparent;
        cursor: pointer;
        font-size: 20px;
    }
    #ja-header .header3_4 { grid-column: 2; grid-row: 1; min-width: 0; }
    #ja-header .header3_4 .cart_dropdown,
    #ja-header .header3 > .main2 > .mobile_menu .tieude {
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        margin: 0;
        padding: 0;
        border-radius: 12px;
        color: #23221e;
        background: #f7f6f2 !important;
        cursor: pointer;
        line-height: 1;
    }
    #ja-header .header3_4 .cart_dropdown_trong { width: 22px; height: 22px; font-size: 10px; }
    #ja-header .header3_4 .cart_dropdown_trong i { width: 22px; padding: 0; color: #23221e; font-size: 22px; }
    #ja-header .header3_4 .cart_dropdown_trong strong {
        top: -8px;
        right: -9px;
        box-sizing: border-box;
        width: auto;
        min-width: 18px;
        height: 18px;
        padding: 0 4px;
        box-shadow: 0 0 0 2px #fff;
        background: #b52b32;
        font: 700 10px/18px Roboto, Arial, sans-serif;
    }
    #ja-header .header3_4 .cart_dropdown_trong strong.kvt-cart-empty { display: none; }
    #ja-header .header3 > .main2 > .mobile_menu { grid-column: 3; grid-row: 1; width: 44px; margin: 0; }
    #ja-header .header3 > .main2 > .mobile_menu .tieude i { padding: 0; font-size: 20px; }
    #ja-header .kvt-mobile-brand:focus-visible,
    #ja-header .header3_4 .cart_dropdown:focus-visible,
    #ja-header .header3 > .main2 > .mobile_menu .tieude:focus-visible,
    #ja-header .header3_2 .module_search .button:focus-visible { outline: 2px solid #b68b22; outline-offset: 2px; }
    #ja-header .mobile_menu .noidung {
        box-sizing: border-box;
        width: min(88vw, 360px);
        max-width: calc(100vw - 32px);
        height: 100dvh;
        max-height: 100dvh;
        padding-bottom: max(16px, env(safe-area-inset-bottom));
        left: 0;
        background: #fff;
        border-right: 1px solid #eeece5;
        box-shadow: 12px 0 40px #23221e20;
        visibility: hidden;
        transform: translateX(-100%);
        transition: transform .22s ease, visibility 0s .22s;
    }
    #ja-header .mobile_menu .noidung.mnmb { left: 0; visibility: visible; transform: translateX(0); transition: transform .22s ease, visibility 0s; }
    #ja-header .mobile_menu .nentat { background: #23221e66; }
    #ja-header .mobile_menu .noidung > ul { margin: 0; padding: 0; }
    #ja-header .mobile_menu .noidung > ul > li > ul { background: #f7f6f2; }
    #ja-header .mobile_menu .noidung li a,
    #ja-header .mobile_menu .noidung li span {
        box-sizing: border-box;
        display: flex;
        align-items: center;
        min-height: 48px;
        padding: 14px 20px;
        color: #23221e;
        border-bottom: 1px solid #eeece5;
        font: 500 14px/1.4 Roboto, Arial, sans-serif;
        text-decoration: none;
    }
    #ja-header .mobile_menu .noidung li i { color: #68645a; }
    #ja-header .mobile_menu .noidung li a:focus-visible { outline: 2px solid #b68b22; outline-offset: -3px; background: #faf7ee; }
    #ja-header .kvt-menu-head {
        position: sticky;
        top: 0;
        z-index: 2;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 8px 16px;
        border-bottom: 1px solid #e3dfd4;
        background: #f7f6f2;
        color: #23221e;
        font: 700 16px/1.4 Roboto, Arial, sans-serif;
    }
    #ja-header .kvt-menu-close {
        flex: 0 0 44px;
        width: 44px;
        height: 44px;
        padding: 0;
        border: 0;
        border-radius: 12px;
        background: #fff;
        color: #23221e;
        font: 400 28px/1 Arial, sans-serif;
        cursor: pointer;
    }
    #ja-header .kvt-menu-close:focus-visible { outline: 2px solid #b68b22; outline-offset: 2px; }
}
@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {
    #ja-header .mobile_menu .noidung,
    #ja-header .mobile_menu .noidung.mnmb { transition: none; }
}
@media (max-width: 767px) {
    /* The bottom Contact item replaces floating widgets, leaving product and checkout actions clear. */
    body.kvt-has-bottom-nav .widget { display: none; }
    .popup_cart { height: 100dvh; max-height: 100dvh; }
    .popup_cart_total { padding-bottom: max(12px, env(safe-area-inset-bottom)) !important; }
    .popup_cart .checkout-button-top { box-sizing: border-box; display: flex; align-items: center; justify-content: center; min-height: 48px; }
    .popup_cart .vmCartModule_cartcontent_item_noidung { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; overflow: visible; }
    .popup_cart .n1 { display: inline-flex; flex: 0 0 auto; align-items: center; }
    .popup_cart .n1 > button,
    .popup_cart .n1 > input { box-sizing: border-box; float: none; width: 44px; min-width: 44px; height: 44px; min-height: 44px; margin: 0; padding: 0; text-align: center; font-size: 16px; }
    .popup_cart .n2 { float: none; max-width: 100%; overflow-wrap: anywhere; }
    .popup_cart .vmCartModule_cartcontent_item_delete > span { display: inline-flex; align-items: center; gap: 5px; min-height: 44px; padding: 0 4px; }
    .popup_cart .vmCartModule_cartcontent_item_delete > span:focus-visible { outline: 2px solid #b70f1a; outline-offset: 2px; }
    .bodylienhe .rsform input.rsform-input-box,
    .bodylienhe .rsform textarea.rsform-text-box,
    .bodylienhe .rsform input[name="mtcaptcha"] { font-size: 16px; min-height: 48px; }
    .bodylienhe .rsform textarea.rsform-text-box { min-height: 144px; }
    .bodylienhe .rsform .rsform-button { min-height: 48px; font-size: 16px; }
    .bodylienhe .table-contact a[href^="tel:"],
    .bodylienhe .table-contact a[href^="mailto:"] { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
    .widget__btn::before,.widget__btn::after,.widget__icon { animation: none !important; }
}
