/* 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; }
@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; }
}
