﻿@import url("/lib/Apps/V1/Css/themes_2.css");
@import url("/lib/Apps/V1/Css/menu_2.css");
@import url("/lib/Apps/V1/Css/cartbox_2.css");
@import url("/lib/Apps/V1/Css/order_1.css");
@import url("/lib/Apps/V1/Css/OrderBottomBar_2.css");

html, body {
    touch-action: manipulation; /* Ngăn double-tap zoom */
    -ms-touch-action: manipulation; /* cho IE/Edge cũ */
}

body {
    font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size: 14px;
    line-height: 1.428571429;
    color: #333;
    background-color: #fff;
    padding: 0;
    margin: 0;
}

html {
    font-size: 100%;
}
ul, li, ol {
    padding: 0;
    margin: 0;
}
* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    /*transition: all .5s linear;
    -o-transition: all .5s linear;
    -moz-transition: all .5s linear;
    -webkit-transition: all .5s linear;*/
}
.bottomBar {
    position: fixed;
    text-align: right;
    bottom: -5px;
    left: -5px;
    right: -5px;
    z-index: 10;
    display: flex !important;
    flex-direction: column;
    transition: transform 0.3s ease;
    transform: translateY(0);
}
.bottomBar.hidden {
    transform: translateY(67px); /* Hide most of the bar, leaving handle visible (assuming handle is 20px) */
}
.bottomBar-expandBtn {
    position: fixed;
    left: 48vw;
    bottom: 57px;
    color: var(--mau-btn-chinh);
    font-size: 200%;
}
.bottomBar-expandBtn {
    display: none;
}
.hidden .bottomBar-expandBtn {
    display: block;
}
.bottomBarBody {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 30;
}

.bottomBarBody-ActionButton {
    display: flex;
    flex: 1;
    text-decoration: none;
    flex-direction: column;
    align-items: center;
    color: #FFF;
    opacity: 0.5;
    position: relative;
    overflow: hidden;
    padding-top: 10px;
}
    .bottomBarBody-ActionButton:first-child{
        padding-top: 0px;
        margin-top: 10px;
    }
    .bottomBarBody-ActionButton:last-child {
        padding-top: 0px;
        margin-top: 10px;
    }
    .bottomBarBody-ActionButton::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 200px; /* Kích thước initial lớn để scale tạo circle cân đối */
        height: 200px;
        background: white; /* Màu trắng */
        border-radius: 50%; /* Hình tròn */
        transform: translate(-50%, -50%) scale(0); /* Bắt đầu scale 0 */
        opacity: 0;
        z-index: 0; /* Dưới text */
    }
.bottomBarBody-ActionButton.active {
    opacity: 1;
}
    .bottomBarBody-ActionButton.active::before {
        animation: explode 0.8s ease-out forwards; /* Animation bùng nổ */
    }

/* Keyframes cho hiệu ứng bùng nổ: opacity bắt đầu 0.6 fade to 0, scale để cân đối */
@keyframes explode {
    0% {
        transform: translate(-50%, -50%) scale(0);
        opacity: 0.6; /* Opacity max 0.6 */
    }

    100% {
        transform: translate(-50%, -50%) scale(3); /* Scale lớn để lan rộng cân đối */
        opacity: 0;
    }
}
.bottomBarBody-ActionButtonIcon {
    display: flex;
    padding: 4px 0px;
    padding-top: 10px;
}

    .bottomBarBody-ActionButtonIcon i {
        font-size: 200%;
        line-height: 100%;
    }

.bottomBarBody-ActionButton-Label {
    font-size: 90%;
    display: flex;
    padding-top: 0px;
    padding-bottom: 10px;
}

.bottomBarBody-ActionButtonIcon-Home {
}

.bottomBarBody-ActionButtonIcon-Menu {
}

.bottomBarBody-ActionButtonIcon-Voucher {
}

.bottomBarBody-ActionButtonIcon-Account {
}
.home-slider, .home-monHomeListSwiper, .homeSwiperAboutUs-Box {
    touch-action: pan-x; /* Chỉ cho phép trượt ngang, chặn dọc */
    /*overflow: hidden;*/
    position: relative;
    overscroll-behavior-x: contain; /* Chặn overscroll ngang lan ra */
    overscroll-behavior-y: auto; /* Cho phép cuộn dọc nếu có nested scroll */
}
.topSwiper .swiper-pagination {
    bottom: 80px !important;
}
.topSwiper .swiper-slide {
    aspect-ratio: 4/3;
    overflow: hidden;
    display: flex;
    align-items: center;
}
.home-slider-img {
    display: block;
    width: 100%;
}
.monView-slider {
    touch-action: pan-x; /* Chỉ cho phép trượt ngang, chặn dọc */
    position: relative;
    overscroll-behavior-x: contain; /* Chặn overscroll ngang lan ra */
    overscroll-behavior-y: auto; /* Cho phép cuộn dọc nếu có nested scroll */
}
.monView-slider .swiper-slide {
    overflow: hidden;
}
.monView-slider .monView-slider-img {
    display: block;
    width: 100%;
    border-radius: 1rem;
}

.monView-BodySlider {
    margin-bottom: 1.6rem;
}
.TopBar {
    position: fixed;
    text-align: right;
    top: -5px;
    left: -5px;
    right: -5px;
    z-index: 5;
    display: none;
    padding-bottom: 20px;
    padding-top: 5px;
}

.TopBarLogoPanel {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
}

.TopBarLogo {
    text-decoration: none;
    background-image: url('/lib/Apps/V1/Css/Img/logo-png-site.png');
    height: 40px;
    width: 152px;
    margin-top: 10px;
    background-size: cover;
    display: inline-block;
}

.TopBarLPanel {
    display: flex;
    flex: 1;
}

.TopBarRPanel {
    display: flex;
    flex: 1;
}
.bodyHasMenu {
    padding-top: 10px;
}



.menu-header {
    background-color: #fff;
    border-bottom: 1px solid #ddd;
    display: none;
    z-index: 10;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch; /* Smooth scroll trên iOS */
    scroll-snap-type: x proximity; /* Snap cho scroll ngang mượt */
}
.menu-header ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
}

.menu-header li {
    padding: 10px 20px;
    cursor: pointer;
    transition: background-color 0.3s, color 0.3s, border-bottom 0.3s;
    font-size: 14px;
    color: #333;
    border-bottom: 2px solid transparent;
    user-select: none; /* Tránh select text khi touch */
}

.menu-header li.active {
    color: #ff0000;
    border-bottom: 2px solid #ff0000;
    font-weight: bold;
}

.menu-header li:hover {
}
.menu-topbar {
    display: flex;
    padding: 0px 10px;
    align-items: center;
}
.menu-topbar-lbox {
    display: flex;
    border-radius: 5px;
    border: solid 1px #ccc;
    padding: 2px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    background: #FFFFFF;
    background: linear-gradient(180deg, #FFFFFF, #F2F2F2);
}
/*    .menu-topbar-lbox i{
        font-size: 10px;
    }*/
.menu-topbar-store-geoBtn {
    position: relative;
    width: 25px;
}
    .menu-topbar-store-geoBtn i {
        font-size: 28px;
        position: absolute;
        bottom: -3px;
        color: var(--mau-highlight);
        left: 2px;
    }
    .menu-topbar-store-name {
        margin-left: 5px;
        overflow: hidden;
        height: 16px;
    }
.menu-topbar-store-distance {
    margin-left: 5px;
    border-left: solid 1px #999;
    padding-left: 5px;
}
.menu-topbar-store-rightArrow{
    margin-left: 5px;
}
.menu-topbar-rbox{

}

.menu-container {
    display: flex;
    touch-action: pan-y;
    background-color: var(--mau-nen-chinh);
    position: fixed;
    top: 48px;
    bottom: 0px;
    left: 0px;
    right: 0px;
    z-index: 1;
    box-shadow: inset 0 3px 2px -2px rgba(0, 0, 0, 0.1);
}

.menu-sidebar {
    width: 85px;
    position: sticky;
    top: 40px;
    height: calc(100vh - 40px);
    overflow-y: auto;
    padding: 20px 0;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain; /* Giới hạn bounce sidebar */
}

    .menu-sidebar ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .menu-sidebar li {
        padding: 10px 10px;
        cursor: pointer;
        transition: background-color 0.3s, color 0.3s;
        font-size: 14px;
        color: #333;
        user-select: none;
    }

        .menu-sidebar li.active {
            background: linear-gradient(89.81deg, hsla(0, 0%, 63.1%, .2) -.52%, hsla(0, 0%, 85.9%, .2) 61.62%, hsla(0, 0%, 92.9%, .2) 87.08%, hsla(0, 0%, 94.9%, .2) 100.25%);
            color: #000;
            font-weight: bold;
            border-left: 4px solid #ff0000;
        }

    .menu-sidebar li:hover {
        background-color: #fff;
    }


.menu-section h2 {
    margin-top: 0;
}

.product img {
    width: 105px;
    border-radius: 10px;
}

.product-info {
    flex: 1;
}

.product-title {
    font-weight: bold;
    margin-bottom: 5px;
}

.product-desc {
    font-size: 12px;
    color: #666;
    margin-bottom: 5px;
}

.product-price {
    color: #ff0000;
    font-weight: bold;
}

.product-add {
    font-size: 30px;
    color: var(--mau-btn-chinh);
    cursor: pointer;
    touch-action: manipulation; /* Tối ưu click touch */
}
.monView{

}
.monView-Header {
    position: fixed;
    top: 0px;
    left: 0px;
    right: 0px;
    height: 60px;
    display: flex;
    z-index: 2;
}
.monView-HeaderLPanel {
    display: flex;
    flex: 1;
    align-items: center;
}
.monView-ShareBtn {
    align-items: center;
    padding-left: 20px;
    text-decoration: none;
    font-size: 150%;
    color: #FFF;
    text-decoration: none;
    font-size: 150%;
}
.monView-HeaderRPanel {
    flex: 1;
    align-items: center;
    padding: 10px;
    text-align: right;
}

.monView-ImgBox {
    display: flex;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #FFF;
}

.image-wrap {
    position: relative;
    display: inline-block;
    overflow: hidden;
    background: var(--mau-nen-chinh); /* nền nhạt khi chờ */
}

/* Ảnh mờ dần khi đã sẵn sàng */
.image-wrap img {
    display: block;
    width: 100%;
    height: auto;
    opacity: 0;
    transition: opacity .3s ease;
}

.image-wrap.loaded img {
    opacity: 1;
}

/* Lớp phủ + căn giữa spinner */
.image-wrap-spinner {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    background: linear-gradient(to bottom, rgba(255,255,255,.85), rgba(255,255,255,.55));
    transition: opacity .25s ease, visibility .25s ease;
}

.image-wrap.loaded .image-wrap-spinner {
    opacity: 0;
    visibility: hidden;
}

/* Hình tròn xoay */
.image-wrap-ring {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 3px solid rgba(0,0,0,.15);
    border-top-color: rgba(0,0,0,.7);
    animation: spin .8s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.monView-Img{
    width:100%;
}
.modal-body{
    padding:0px;
}
.monView-Box {
    min-height: 2000px;
    display: flex;
    flex-direction: column;
    position: relative;
}
.monView-BoxHeader {
    border-radius: 20px 20px 0px 0px;
    background-color: #FFF;
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
    padding: 10px;
    display: flex;
    background: #FFFFFF;
    background: linear-gradient(180deg, #FFFFFF, #F2F2F2);
    box-shadow: 0 -12px 24px -8px rgba(0, 0, 0, .3);
}
.monView-BoxHeader-LBox{
    flex: 1;
}
.monView-BoxHeader-RBox{

}
.monView-BoxHeader-Favorite {
    font-size: 250%;
}
.monView-BoxHeader-Favorite.active {
    color: orange;
}
.monView-Name {
    font-size: 250%;
}
.monView-Desc{

}
.monView-Body {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
}
.monView-Footer {
    padding: 10px;
    position: fixed;
    left: 0px;
    right: 0px;
    bottom: 0px;
    border-top: 1px solid #CCC;
    background-color: red;
    border-radius: 2rem 2rem 0 0;
    background: hsla(0, 0%, 100%, .7);
    box-shadow: 0 .1rem .8rem 0 rgba(0, 0, 0, .1);
    height: 120px;
    -webkit-backdrop-filter: blur(.3rem);
    backdrop-filter: blur(.3rem);
}
.monView-Footer-TPanel {
    display: flex;
}
.monView-Footer-Info {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 10px;
}
.monView-Footer-Info-Price {
    font-size: 200%;
    font-weight: bold;
    color: #ff0000;
    margin-right: 10px;
}
.monView-Footer-Info-Discount {
    text-decoration: line-through;
    color: #666;
    flex: 1;
    text-align: right;
}
.monView-Footer-QtyBox {
    
}
.monView-Footer-QtyBox-MinusBtn {
   
}
.monView-Footer-QtyBox-InputBox{

}
.monView-Footer-QtyBox-Input {
    width: 30px;
    border: 0px;
    text-align: center;
    background-color: transparent;
}
.monView-Footer-QtyBox-Input[type="text"] {

}
monView-Footer-QtyBox-Input::-webkit-inner-spin-button,
monView-Footer-QtyBox-Input::-webkit-outer-spin-button {
    margin: 0;
}
.monView-Footer-QtyBox-PlusBtn {
   
}
.monView-TagBox {
    padding: 5px 10px;
    background-color: var(--mau-nen-chinh);
}
.monView-BodyPanel {
    background: var(--mau-nen-chinh);
    padding: 1.6rem;
    padding-bottom: 80px;
}
.monView-BodyIntro {
}
.monView-BodyIntro ul {
}
    .monView-BodyIntro li {
        list-style: none;
        padding-left: 20px;
    }
.monView-BodyDinhDuong ul {
}

.monView-BodyDinhDuong li {
    list-style: none;
    padding-left: 20px;
}
.monView-Body-Box {
    padding: 1.6rem;
    overflow: hidden;
    background: #fff;
    border-radius: 1rem;
    margin-bottom: 1.6rem;
}
.monView-Tag {
    display: flex;
    align-items: center;
    padding-bottom: 10px;
    gap: 10px;
}
.monView-Tag-Name {
    width: 66px;
    text-align: right;
}
.monView-Tag-TagList {
    display: flex;
    flex: 1;
}
.monView-TagItem {
    box-sizing: border-box;
    display: inline-block;
    border: solid 1px #ccc;
    padding: 5px 8px;
    border-radius: 10px;
    margin-right: 5px;
}
    .monView-TagItem.active {
        background-color: var(--mau-btn-chinh);
        color: #FFF;
        border: solid 1px var(--mau-btn-chinh);
    }
.monView-Footer-BPanel {
    padding: 10px;
    position: fixed;
    left: 0px;
    right: 0px;
    bottom: 0px;
    display: flex;
    background-color: transparent;
}
.monView-AddBtn {
    background-color: var(--mau-btn-chinh);
    color: #FFF;
    flex: 1;
    padding: 10px;
    text-align: center;
    text-decoration: none;
    font-size: 200%;
    line-height: 100%;
    border-radius: 10rem;
}
.loginModalContent {
    background-color: var(--mau-btn-chinh);
}
.loginModal-Header {
    position: fixed;
    top: 0px;
    left: 0px;
    right: 0px;
    height: 60px;
    display: flex;
    z-index: 11;
}
.loginModal-CloseBtn {
    margin-left: 10px;
    margin-top: 5px;
    text-decoration: none;
    color: #CCC;
    font-size: 200%;
}
.loginModal-panel{
}
.loginModal-panel-imgBox{

}
.loginModal-panel-img{
    width: 100%;
}
.loginModal-panel-body {
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 10;
}
.loginModal-panel-bodyHeader {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
    padding: 35px 10px;
    font-size: 200%;
    color: #FFF;
    display: flex;
    align-content: center;
}
.loginModal-panel-bodyHeader-actionButton{
    flex:1;
    text-decoration:none;
    color: #FFF;
    opacity: 0.5;
    text-align:center;
}
    .loginModal-panel-bodyHeader-actionButton.active {
        opacity: 1;
    }
.loginModal-panel-bodyHeader-actionButton-loginBtn{    
}
.loginModalNavagator-Btn{
    color:#FFF;
    margin-left: 10px;
}
.loginModal-panel-bodyContent {
    padding: 10px;
    background-color: var(--mau-btn-chinh);
    -webkit-transform: translateY(-50px);
    transform: translateY(-50px);
    padding: 35px;
    min-height: 500px;
    padding-top: 0px;
    color: #FFF;
}
.loginModal-panelInputOtp{
    display:none;
}


/* HOME */
.home-content{
    padding: 10px;
    background-color: #F2F2F2;
    position: relative;
    z-index: 2;
    padding-bottom: 200px;
}
.home-userPanel {
    -webkit-transform: translateY(-75px);
    transform: translateY(-75px);
    display: flex;
    background: #FFF;
    padding: 10px 10px;
    border-radius: 2em;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(2px);
    background: hsla(0, 0%, 100%, 0.5);
    margin: 0px 20px;
    margin-right: 100px;
}
.home-userPanel-LPanel {
    display: flex;
    flex: 1;
    gap: 5px;
}
.home-userPanel-RPanel {
    border-radius: 5px;
    text-decoration: none;
    font-size: 100%;
    color: #000;
    display: flex;
    align-items: center;
    gap: 5px;
}
.home-userPanel-RPanel-Icon{
    font-size: 100%;
}
.home-userPanel-RPanel-Label{
    margin-right: 5px;
}


.home-actionPanel {
    display: flex;
    background-color: #FFFFFF;
    border-radius: 1em;
    margin: 0px 20px;
    padding: 10px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    background: linear-gradient(180deg, #FFFFFF, #F8F8F8);
    -webkit-transform: translateY(-65px);
    transform: translateY(-65px);
}
.home-actionPanel-actionBtn {
    flex: 1;    
    padding: 5px;    
    text-decoration: none;    
    display: flex;
    align-items: center;
    gap: 10px;  

}
.home-actionPanel-actionBtn:nth-child(1) {
}
.home-actionPanel-actionBtn:nth-child(2) {
    border-left: solid 1px #CCC;
}
.home-actionPanel-actionBtn-Icon {
}
.home-actionPanel-actionBtn-Info {
    display: flex;
    flex-direction: column;
}
.home-actionPanel-actionBtn-Label {
    font-size: 120%;
    font-weight: bold;
}
.home-actionPanel-actionBtn-Desc {
    font-size: 90%;
    color: #999;
}
.home-middleSlider {
    -webkit-transform: translateY(-55px);
    transform: translateY(-55px);
}
.home-middleSlider .home-slider-img {
    border-radius: 5px;
}
.home-monHomeListSwiper {
    -webkit-transform: translateY(-45px);
    transform: translateY(-45px);
}
.monHomeListSwiper {
    height: 405px !important;
}
    .monHomeListSwiper .monHomeListSwiper-Item {
    }
    .monHomeListSwiper .monHomeListSwiper-Item-ImgBox {
        position: relative;
        aspect-ratio: 1 / 1;
        overflow: hidden;
        display: flex;
        align-items: center;
        border-radius: 5px;
    }
    .monHomeListSwiper .monHomeListSwiper-Item-Img {
        border-radius: 5px;
    }
    .monHomeListSwiper .monHomeListSwiper-Item-ContentBox {
        position: absolute;
        bottom: -120px;
        border-radius: 1em;
        -webkit-backdrop-filter: blur(.5rem);
        backdrop-filter: blur(.5rem);
        background: hsla(0, 0%, 100%, .8);
        box-shadow: 0 .1rem .8rem 0 rgba(0, 0, 0, .1);
        left: 0px;
        right: 0px;
    }
    .monHomeListSwiper .monHomeListSwiper-Item-Ten {
        text-decoration: none;
        color: #FFF;
        flex: 1;
    }
    .monHomeListSwiper .monHomeListSwiper-Item-Liked {
        color: #FFF;
    }
.monHomeListSwiper .monHomeListSwiper-Item-Header {
    font-size: 100%;
    font-weight: bold;
    color: #FFF;
    background-color: #dd6118;
    border-radius: 1em;
    padding: 5px 10px;
    display: flex;
}
    .monHomeListSwiper .monHomeListSwiper-Item-Mota {
        color: #333;
        text-align: center;
        padding: 10px;
    }
    .monHomeListSwiper .monHomeListSwiper-Item-Gia {
        color: #dd6118;
        text-align: center;
        padding: 10px 20px;
        border-top: solid 1px #ccc;
        font-weight: bold;
        font-size: 110%;
        margin: 0px 20px;
    }
    .monHomeListSwiper .monHomeListSwiper-Item-GiaDiscount {
        color: #999;
        text-decoration: line-through;
        font-weight: normal;
        font-size: 80%;
    }
    .monHomeListSwiper .swiper-pagination {
        bottom: 50px;

    }

.homeSwiperAboutUs {
    margin-top: 20px;
    -webkit-transform: translateY(-45px);
    transform: translateY(-45px);
}
    .homeSwiperAboutUs .swiper-slide {
        width: 80%;
    }
.homeSwiperAboutUs-Box {
    overflow: hidden;
    height: 280px;
}
.homeSwiperAboutUsBody {
}
.homeSwiperAboutUs .homeSwiperAboutUs-slide-img {
    width: 100%;
}
.homeSwiperAboutUs .swiper-pagination {
    bottom: 40px !important;
}
.homeSwiperAboutUs .swiper-slide {
    background-position: center;
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    border-radius: 10px;
}

        .homeSwiperAboutUs .swiper-slide img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
            border-radius: 10px;
        }

.homeSwiperAboutUs .overlay {
    position: absolute;
    bottom: -50px;
    left: 20px;
    background-color: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(10px);
    padding: 20px;
    border-radius: 10px;
    text-align: left;
    right: 20px;
    top: 120px;
    overflow: hidden;
}

    .homeSwiperAboutUs .overlay h2 {
        margin-bottom: 3px;
        color: #333;
        font-size: 150%;
        font-weight: bold;
        line-height: 100%;
    }

    .homeSwiperAboutUs .overlay p {
        margin: 0;
        color: #333;
        font-size: 16px;
    }

.alertModal .modal-footer {
    padding: 0px;
}
.alertModal .alertModal-actionButton {
    margin: 0;
    padding: 15px;
    flex: 1;
    color: #333;
    text-decoration: none;
}
.alertModal .alertModal-leftActionButton {
    border-left: solid 1px #ccc;
    border-radius: 0px;
}
.alertModal .modal-body {
    padding: 20px 10px;
}


#global-loading-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.8); /* Nền trắng mờ, giống native app */
    z-index: 9999; /* Cao hơn Bootstrap modal (default 1050) để che hết */
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.3s ease-in-out; /* Fade mượt mà */
    pointer-events: none; /* Không chặn touch events */
    visibility: hidden;
}

    #global-loading-overlay.active {
        opacity: 1;
        visibility: visible;
    }

/* Spinner CSS pure */
.spinner {
    width: 50px;
    height: 50px;
    border: 5px solid rgba(0, 0, 0, 0.1);
    border-top-color: #007bff;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    will-change: transform; /* Tối ưu hardware acceleration */
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

/* Media query cho mobile */
@media (max-width: 768px) {
    .spinner {
        width: 60px;
        height: 60px;
    }
}



.pickStoreModalContent{

}
.pickStoreModal-Header {
    position: fixed;
    top: 0px;
    left: 0px;
    right: 0px;
    height: 60px;
    display: flex;
    z-index: 11;
    padding-top: 0px;
    align-items: center;
}
.pickStoreModal-Header-LBox{
    width: 40px;
}
.pickStoreModal-CloseBtn {
    margin-left: 10px;
    margin-top: 5px;
    text-decoration: none;
    color: #CCC;
    font-size: 200%;
}
.pickStoreModal-Header-MBox {
    flex: 1;
    text-align: center;
    align-items: center;
}
.pickStoreModal-Header-MBox-Title{
    font-size: 150%;
    font-weight: bold;
}
.pickStoreModal-Header-RBox {
    width: 40px;
}
.pickStoreModal-Header-RBox-CloseBtn {
    position: fixed;
    z-index: 13;
    width: 40px;
    height: 40px;
    top: 10px;
    right: 10px;
    font-size: 250%;
    color: var(--mau-btn-chinh);
}
    .pickStoreModal-Body {
        position: absolute;
        top: 60px;
        bottom: 0px;
        left: 0px;
        right: 0px;
    }
.pickStoreModal-Body-Map {
    height: 35vh;
    background-color: #F2F2F2;
    margin: 10px;
    border-radius: 1em;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}

.pickStoreModal-Body-StoreList {
    margin-top: 20px;
    padding: 10px;
    max-height: 55vh;
    overflow-y: auto;
}
.pickStoreModal-Body-StoreList::-webkit-scrollbar {
    display: none;
}
    .pickStoreModal-Body-StoreList {
        -ms-overflow-style: none; /* IE và Edge cũ */
        scrollbar-width: none; /* Firefox */
    }
.pickStoreModal-Body-StoreList-Body {
}

.pickStoreModal-Body-StoreList-Item {
    display: flex;
    flex-direction: column;
    gap: 10px;
    background-color: #fff;
    border-radius: 1em;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    margin: 10px 0px;
    align-items: center;
    padding: 10px 20px;
    margin-bottom: 20px;
}
.pickStoreModal-Body-StoreList-Body .list-group-item:first-child {
    border-radius: 1em;
}
.pickStoreModal-Body-StoreList-Body .list-group-item:last-child {
    border-radius: 1em;
}
.pickStoreModal-Body-StoreList-Item-Header {
    width: 100%;
}
.pickStoreModal-Body-StoreList-Item-DiaChi {
    font-size: 80%;
    line-height: 140%;
    color: #666;
}
.pickStoreModal-Body-StoreList-Item-Details {
    width: 100%;
    display: flex;
}
.pickStoreModal-Body-StoreList-Item-Travel {
    flex: 1;
}
.pickStoreModal-Body-StoreList-Item-OpenHours {
    flex: 1;
    text-align: right;
}
.pickStoreModal-Body-StoreList-Item-Ten {
    width: 100%;
}
.pickStoreModal-Body-StoreList-Item-Content {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
}
.pickStoreModal-Body-StoreList-Item-LPanel {
    display: flex;
    flex-direction: column;
    gap: 5px;
    flex: 1;
}
.pickStoreModal-Body-StoreList-Item-RPanel {
    border-left: solid 1px #ccc;
    display: flex;
    gap: 10px;
    padding: 10px 5px;
}
.pickStoreModal-Body-StoreList-Item-RPanel-ActionBtn {
    border: solid 2px var(--mau-highlight);
    border-radius: 50%;
    padding: 4px 6px;
}
    .pickStoreModal-Body-StoreList-Item-RPanel-ActionBtn i {
        color: var(--mau-highlight);
    }

/* Style for the custom control box */
.pickStoreModal-Body-Map-InfoBox {
    background-color: white;
    border: 2px solid red;
    border-radius: 5px;
    padding: 5px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.3);
    width: 114px;
    font-family: Arial, sans-serif;
}

    .pickStoreModal-Body-Map-InfoBox h4 {
        margin: 0 0 10px 0;
        font-size: 16px;
        text-align: center;
        display:none;
    }

    .pickStoreModal-Body-Map-InfoBox .option {
        display: flex;
        align-items: center;
        margin-bottom: 5px;
    }

    .pickStoreModal-Body-Map-InfoBox .color-dot {
        width: 18px;
        height: 18px;
        border-radius: 50%;
        margin-right: 10px;
        background-size: 100%;
    }

    .pickStoreModal-Body-Map-InfoBox .brown {
        background-image: url('https://baviacafe.com/lib/apps/v1/Css/img/map-icon/2.png');
    }

    .pickStoreModal-Body-Map-InfoBox .orange {
        background-image: url('https://baviacafe.com/lib/apps/v1/Css/img/map-icon/1.png');
    }

    .pickStoreModal-Body-Map-InfoBox button {
        background-color: #f0f0f0;
        border: none;
        padding: 5px 10px;
        cursor: pointer;
        border-radius: 3px;
    }

    .pickStoreModal-Body-Map-InfoBox button:hover {
        background-color: #ddd;
    }

.pickStoreModal-StoreMarker-Item {
    display: flex;
    gap: 5px;
    flex-direction: column;
}
.pickStoreModal-StoreMarker-Item-ImgBox {
    display: flex;
}
.pickStoreModal-StoreMarker-Item-Img {
    width: 100%;
    border-radius: 10px;
}
.pickStoreModal-StoreMarker-RBox{
    flex: 1;
}
.pickStoreModal-StoreMarker-RBox-Header {
    font-size: 150%;
    margin-bottom: 5px;
}
.pickStoreModal-StoreMarker-RBox-Body {
    flex: 1;
}
.pickStoreModal-StoreMarker-selectedBtn {
    display: flex;
    padding: 10px;
    flex: 1;
    border-radius: 10px;
    background: var(--mau-btn-chinh);
    color: #FFF;
    font-size: 150%;
    text-align: center;
    margin-top: 10px;
    width: 100%;
}
/* Container for the toggle */
.bavia-toggle-container {
    position: relative;
    display: flex;
    align-items: center;
    width: 190px;
    height: 36px;
    border-radius: 50px;
    border: 1px solid var(--mau-btn-chinh);
    background-color: var(--mau-nen-chinh);
    overflow: hidden;
    margin-left: auto;
    margin-right: auto;
}

/* Hide the actual radio inputs */
.bavia-toggle-container .toggle-input {
    display: none;
}

/* Style for the labels */
    .bavia-toggle-container .toggle-label {
        flex: 1;
        text-align: center;
        cursor: pointer;
        z-index: 1;
        color: var(--mau-btn-chinh);
        padding: 10px 0;
        transition: color 0.3s;
    }

/* Slider for the selected state */
    .bavia-toggle-container .slider {
        position: absolute;
        top: 2px;
        left: 2px;
        width: calc(50% - 4px);
        height: calc(100% - 4px);
        background-color: var(--mau-btn-chinh);
        border-radius: 50px;
        transition: left 0.3s ease;
    }

/* Move slider when second option is selected */
.bavia-toggle-container #menuTopbarPickOrShipBoxShip:checked ~ .slider {
    left: calc(50% + 2px);
}

/* Change text color when selected */
#menuTopbarPickOrShipBoxPickup:checked ~ .toggle-label[for="menuTopbarPickOrShipBoxPickup"] {
    color: #fff;
}
#menuTopbarPickOrShipBoxShip:checked ~ .toggle-label[for="menuTopbarPickOrShipBoxShip"] {
    color: #fff;
}

/* Custom Toggle Styles - Placed after Bootstrap CSS to override if needed */
#giao:checked ~ .slider {
    left: calc(50% + 2px);
}

#pickup:checked ~ .toggle-label[for="pickup"] {
    color: #fff;
}

#giao:checked ~ .toggle-label[for="giao"] {
    color: #fff;
}
.bavia-mapboxToggle-container {
    margin-left: auto;
    margin-right: auto;
    display:none;
}

#myStoreMapModalContentMap {
    width: 100%;
    height: 400px;
    border-radius: 1em;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}
.myStoreMapModalContent {
    display: flex;
    flex-direction: column;
}
.myStoreMapModalContent-Header {
    padding: 10px;
    display: flex;
    align-items: center;
}
.myStoreMapModalContent-Header-Ten {
    flex: 1;
    font-size: 180%;
    font-weight: bold;
}
.myStoreMapModalContent-CloseBtn {
    width: 30px;
    height: 30px;
    margin-left: auto;
}
.myStoreMapModalContent-Body {
    display: flex;
    flex-direction: column;
    padding: 10px;
}
.myStoreMapModalContent-Body-Box{
    padding-top: 10px;
}

.myStoreMapModalContent-Body-Box-Name {
    display: flex;
    align-items: center;
}
.myStoreMapModalContent-Body-Box-Name-Title {
    font-size: 130%;
    flex: 1;
}
.myStoreMapModalContent-Body-Box-Name-Call {
    font-size: 200%;
    color: var(--mau-btn-chinh);
}
.myStoreMapModalContent-Body-Box-InfoBox {
    display: flex;
    flex-direction: column;
}
.myStoreMapModalContent-Body-Box-InfoItem{
    display: flex;
    margin-bottom: 5px;
}
.myStoreMapModalContent-Body-Box-InfoItem-Icon {
    font-size: 100%;
    margin-right: 5px;
}
.myStoreMapModalContent-Body-Box-InfoItem-Name{
    flex: 1;
}
.myStoreMapModalContent-Body-Box-Footer {
    display: flex;
    padding: 5px;
    gap: 5px;
}
.myStoreMapModalContent-Body-Box-Footer-LBox {
    display: flex;
    padding: 10px;
    flex: 1;
    border-radius: 10rem;
    background: var(--mau-actionBtn-chinh);
    background: linear-gradient(0deg, rgba(151, 47, 58, 1.0), rgba(189, 60, 74, 1.0));
    color: #FFF;
    font-size: 150%;
}
.myStoreMapModalContent-Body-Box-Footer-RBox {
    display: flex;
    padding: 10px;
    flex: 1;
    border-radius: 10rem;
    background: var(--mau-btn-chinh);
    color: #FFF;
    font-size: 150%;
    text-align: center;
}
.myStoreMapModalContent-Body-Box-Footer-ChangeBtn {
    margin: 0px auto;
}
.myStoreMapModalContent-Body-Box-Footer-XemMenuBtn {
    margin: 0px auto;
}
.myStoreMapModalContent-Body-Box-Name-Title{

}
.myStoreMapModalContent-CloseBtn {
}

.closeXBtn {
    position: relative;
    width: 40px; /* Kích thước biểu tượng */
    height: 40px;
}
.closeXBtn::before,
.closeXBtn::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 4px; /* Độ dày đường nét */
    background-color: #808080; /* Màu xám */
    border-radius: 2px; /* Làm tròn nhẹ nếu cần */
}

.closeXBtn::before {
    transform: translateY(-50%) rotate(45deg);
}

.closeXBtn::after {
    transform: translateY(-50%) rotate(-45deg);
}


/* Additional CSS if needed */
.modal-fullscreen .modal-dialog {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    max-width: none;
}

.modal-fullscreen .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
}
.editDiaChiModalMapBox {
    display: flex;
    flex-direction: column;
    padding: 10px;
}
.editDiaChiModalBodyMap {
    width: 100%;
    height: 300px;
    border: solid 1px #BBB;
    border-radius: 10px;
}
.chonDiaChiModalBody{
    padding: 10px;
}
.editDiaChiModalBody {
    padding: 10px;
}
.chonDiaChiModal-diaChiList-Item{
    display:flex;
}
.chonDiaChiModal-diaChiList-ItemLbox {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.chonDiaChiModal-diaChiList-ItemRBox {
    display: flex;
    flex-direction: column;
    width: 80px;
    gap: 5px;
    text-align: center;
    padding-left: 5px;
}
.chonDiaChiModal-diaChiList-ItemRBox button{
    display: flex;
}

#diaChiList {
}

.chonDiaChiModal-diaChiList {
}

.chonDiaChiModal-diaChiList-Item {
    display: flex;
    gap: 10px;
    background-color: #fff;
    border-radius: 1em;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    margin: 10px 0px;
    align-items: center;
    padding: 10px 20px;
    margin-bottom: 20px;
}

.chonDiaChiModal-diaChiList .chonDiaChiModal-diaChiList-Item:first-child {
    border-radius: 1em;
}

.chonDiaChiModal-diaChiList .chonDiaChiModal-diaChiList-Item:last-child {
    border-radius: 1em;
}
.chonDiaChiModal-diaChiList-Item-Header{

}
.chonDiaChiModal-diaChiList-Item-Ten {
    font-weight: bold;
}
.chonDiaChiModal-diaChiList-Item-DiaChi {
    color: #666;
    font-size: 90%;
}
.chonDiaChiModal-diaChiList-Item-Footer {
    color: #666;
    font-size: 90%;
}
.chonDiaChiModalAddBtn {
    background-color: var(--mau-btn-chinh);
    color: #FFF;
    padding: 10px;
    text-align: center;
    text-decoration: none;
    font-size: 140%;
    line-height: 100%;
    border-radius: 10rem;
    margin-bottom: 10px;
}
.chonDiaChiModalCloseBtn {
    background-color: var(--mau-btn-chinh);
    color: #FFF;
    padding: 10px;
    text-align: center;
    text-decoration: none;
    font-size: 140%;
    line-height: 100%;
    border-radius: 10rem;
    margin-bottom: 10px;
}
.chonDiaChiModalActionBtn {
    border: solid 1px var(--mau-btn-chinh);
    background-color: #FFF;
    color: var(--mau-btn-chinh);
    padding: 5px;
    text-align: center;
    text-decoration: none;
    font-size: 100%;
    line-height: 100%;
    border-radius: 10rem;
}
    .chonDiaChiModalActionBtn i {
        margin-right: 5px;
    }
    .AccountPanel {
        background: var(--mau-nen-chinh);
        padding-bottom: 500px;
    }
.AccountPanel-header {
    background: #46B0AC;
    background: radial-gradient(at center, #46B0AC, #D9571B);
    height: 150px;
    position: relative;
    color: white;
    text-align: center;
    padding-top: 0px;
}
.AccountPanel-header-img{

}
.AccountPanel-header .AccountPanel-sponsor {
    font-size: 0.8rem;
}

    .AccountPanel-header .AccountPanel-title {
        font-size: 1.8rem;
        margin: 5px 0;
    }

    .AccountPanel-header .AccountPanel-subtitle {
        font-size: 0.7rem;
    }

.AccountPanel-user-section {
    background: transparent;
    padding: 10px 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    z-index: 2;
    margin-top: -30px;
}

.AccountPanel-avatar {
    background-color: #ffffff;
    border-radius: 50%;
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    margin-right: 10px;
    position: relative;
    border: 2px solid var(--mau-btn-chinh);
    overflow:hidden;
    align-items: center;
}

    .AccountPanel-avatar i {
        color: var(--mau-btn-chinh);
        font-size: 250%;
    }
    .AccountPanel-avatar-img {
        width: 100%;
        height: 80px;

    }
    .AccountPanel-user-info {
        display: flex;
        align-items: center;
    }

.AccountPanel-user-id {
    font-size: 1.1rem;
    color: #333;
    display: flex;
    flex-direction: column;
    margin-top: 25px;
}

    .AccountPanel-user-id .AccountPanel-main-id {
        font-weight: bold;
    }

    .AccountPanel-user-id .AccountPanel-arrow {
        margin: 0 5px;
        color: #333;
        display: none;
    }

    .AccountPanel-user-id .AccountPanel-sub-id {
        font-size: 0.9rem;
        color: #666;
    }

.AccountPanel-coffee-icons {
    display: none;
    position: absolute;
    right: 15px;
    top: 5px;
}

    .AccountPanel-coffee-icons i {
        color: #a52a2a;
        font-size: 1.2rem;
        margin-left: 5px;
    }

.AccountPanel-balance-card {
    background-color: #ffffff;
    border-radius: 20px;
    margin: 0 15px 20px;
    padding: 15px 0;
    position: relative;
    overflow: hidden;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    z-index: 1;
}

    .AccountPanel-balance-card::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 200px;
        background: linear-gradient(to right, #ffc0cb 0%, #add8e6 100%);
        clip-path: ellipse(80% 140% at 50% 100%);
        z-index: -1;
    }

.AccountPanel-balance-row {
    display: flex;
    justify-content: space-around;
    text-align: center;
    position: relative;
    z-index: 1;
}

.AccountPanel-balance-item {
    flex: 1;
    position: relative;
}

    .AccountPanel-balance-item:not(:last-child)::after {
        content: "";
        position: absolute;
        right: 0;
        top: 10px;
        bottom: 10px;
        width: 1px;
        background-color: #e9ecef;
    }

    .AccountPanel-balance-item .AccountPanel-label {
        font-size: 0.85rem;
        color: #6c757d;
        margin-bottom: 5px;
    }

    .AccountPanel-balance-item .AccountPanel-value {
        font-size: 1.4rem;
        font-weight: bold;
        color: #000;
        display: block;
        text-decoration: none;
    }

.AccountPanel-menu-card {
    margin: 0 15px;
    background-color: #ffffff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.AccountPanel-menu-card .list-group-item {
border: none;
border-bottom: 1px solid #dee2e6;
padding: 12px 20px;
display: flex;
align-items: center;
font-size: 1rem;
color: #333;
}

.AccountPanel-menu-card .list-group-item:last-child {
    border-bottom: none;
}

.AccountPanel-menu-card .list-group-item i {
    font-size: 1.3rem;
    margin-right: 15px;
    color: #6c757d;
    width: 24px;
}
    .AccountPanel-menu-card .list-group-item a {
        color: #6c757d;
        text-decoration: none;
    }

.AccountPanel-menu-card .list-group-item .AccountPanel-arrow {
    margin-left: auto;
    color: #adb5bd;
    font-size: 1.2rem;
}
.AccountPanel-loginRequiredBox {
    background: var(--mau-nen-chinh);
    padding-bottom: 500px;
    padding-top: 100px;
}
.AccountPanel-loginRequired {
    margin: 0 15px;
    background-color: #ffffff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    margin-top: 50px;
}

.baviaPlusOrMinusBtn{

}

.baviaPlusOrMinusBtn .quantity-selector {
    display: flex;
    align-items: center;
    gap: 10px; /* Tăng khoảng cách một chút cho mobile */
}

.baviaPlusOrMinusBtn .btn {
    width: 36px; /* Tăng kích thước nút cho dễ bấm trên mobile */
    height: 36px;
    border-radius: 50%; /* Làm hình tròn */
    border: none;
    cursor: pointer;
    position: relative;
    transition: transform 0.1s ease, opacity 0.1s ease; /* Thêm transition cho hiệu ứng */
}

    .baviaPlusOrMinusBtn .btn:active {
        transform: scale(0.95); /* Hiệu ứng thu nhỏ khi bấm */
        opacity: 0.8; /* Giảm độ sáng khi bấm */
    }

.baviaPlusOrMinusBtn .btn-minus {
    background-color: #ccc; /* Màu xám nhạt */
}

    .baviaPlusOrMinusBtn .btn-minus::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 20px; /* Tăng kích thước dấu trừ cho phù hợp nút lớn */
        height: 3px;
        background-color: #333; /* Màu dấu trừ */
    }

    .baviaPlusOrMinusBtn .btn-plus {
        background-color: var(--mau-btn-chinh); /* Màu đỏ */
    }

    .baviaPlusOrMinusBtn .btn-plus::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 20px; /* Tăng kích thước dấu cộng */
        height: 3px;
        background-color: white; /* Màu dấu cộng */
    }

    .baviaPlusOrMinusBtn .btn-plus::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 3px;
        height: 20px; /* Tăng kích thước dấu cộng */
        background-color: white; /* Màu dấu cộng */
    }

.baviaPlusOrMinusBtn .quantity {
    font-size: 28px; /* Tăng font size cho phù hợp mobile */
    font-weight: bold;
    border: 0px;
}

    .baviaPlusOrMinusBtn .quantity-thrashBtn {
        background-color: var(--mau-highlight);
        font-size: 22px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #FFF;
    }



.VoucherPanel-Box {
    font-family: Arial, sans-serif;
    background-color: var(--mau-nen-chinh);
    margin: 0;
    padding: 0;
    height: 100vh;
    overflow: hidden;
}

.VoucherPanel {
    max-width: 100%; /* Responsive: Không giới hạn width cố định */
    margin: 0 auto;
    background-color: #ffffff;
    height: 100vh;
    display: flex;
    flex-direction: column;
}

.VoucherPanel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px;
    border-bottom: 1px solid #ddd;
    background-color: #fff;
    position: fixed;
    top: 0;
    width: 100%; /* Responsive: Full width */
    z-index: 10;
    box-sizing: border-box;
    gap: 10px;
}
.VoucherPanel-header-lpanel{

}
.VoucherPanel-header-mpanel{
    flex: 1;

}
.VoucherPanel-header-rpanel{

}
.VoucherPanel-back {
    font-size: 18px;
    color: #000;
    text-decoration: none;
}

.VoucherPanel-title {
    font-size: 18px;
    font-weight: bold;
    color: #000;
}

.VoucherPanel-tabs {
    display: flex;
    justify-content: space-around;
    padding: 10px 0;
    background-color: #fff;
    position: fixed;
    top: 47px;
    width: 100%;
    z-index: 10;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
    padding-bottom: 0px;
}

.VoucherPanel-tab {
    font-size: 14px;
    color: #000;
    text-decoration: none;
    padding-bottom: 5px;
    border-bottom: 2px solid transparent;
}

    .VoucherPanel-tab.active {
        border-bottom: 2px solid #ee4d2d; /* Màu đỏ giống Shopee */
        color: #ee4d2d;
    }

.VoucherPanel-content {
    flex: 1;
    overflow-y: auto;
    padding-top: 100px; /* Khoảng trống cho header + tabs */
    padding-bottom: 50px; /* Khoảng trống cho footer */
    background-color: #F8F8F8; /* Nền cho phần list */
    box-sizing: border-box;
}

.VoucherPanel-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 10px;
    padding-top: 0px;
}

    .VoucherPanel-list.hidden {
        display: none;
    }
.VoucherPanel-list-empty {
    text-align: center;
    color: #666;
    background: #FFF;
    border-radius: 1em;
    padding: 10px;
}
.VoucherPanel-voucher {
    background-color: #fff;
    border-radius: 1em;
    box-shadow: 0 1px 4px rgba(0,0,0,0.1);
    display: flex;
    max-width: 100%;
    overflow: hidden;
    position: relative;
}

.VoucherPanel-voucher-left {
    background-color: var(--mau-highlight);
    color: #fff;
    padding: 10px;
    border-radius: 8px 0 0 8px;
    text-align: center;
    min-width: 150px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
}

    .VoucherPanel-voucher-left::after {
        content: '';
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        width: 1px;
        background: repeating-linear-gradient(to bottom, transparent 0 4px, #fff 4px 8px);
    }

.VoucherPanel-voucher-amount-wrapper {
    display: flex;
    flex-direction: column;
}

.VoucherPanel-voucher-amount {
    font-size: 200%;
    font-weight: bold;
    line-height: 1.2;
    margin-bottom: 5px;
}

.VoucherPanel-voucher-unit {
    font-size: 12px;
    line-height: 1.2;
}

.VoucherPanel-voucher-divider {
    position: relative;
    height: 1px;
    background: repeating-linear-gradient(to right, transparent 0 4px, #fff 4px 8px);
    margin: 5px -10px; /* Mở rộng ra hai bên để chạm cạnh */
}

    .VoucherPanel-voucher-divider::before,
    .VoucherPanel-voucher-divider::after {
        content: '';
        position: absolute;
        top: -5px;
        width: 10px;
        height: 10px;
        background-color: #fff;
        border-radius: 50%;
    }

    .VoucherPanel-voucher-divider::before {
        left: -5px;
    }

    .VoucherPanel-voucher-divider::after {
        right: -5px;
    }

.VoucherPanel-voucher-limit {
    font-size: 12px;
    line-height: 1.2;
}

.VoucherPanel-voucher-right {
    flex: 1;
    padding: 10px 10px 10px 20px; /* Tăng padding left để tránh chạm vào dashed line */
}

.VoucherPanel-voucher-desc {
    font-size: 14px;
    font-weight: bold;
    line-height: 1.4;
}

.VoucherPanel-voucher-date {
    font-size: 12px;
    color: #666;
    margin-top: 5px;
    line-height: 1.4;
}

.VoucherPanel-voucher-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 5px;
}

.VoucherPanel-voucher-details {
    font-size: 12px;
    color: #666;
    text-decoration: none;
}

.VoucherPanel-voucher-use {
    background-color: #ffebee;
    color: #ee4d2d;
    padding: 5px 15px;
    border-radius: 20px;
    font-size: 12px;
    text-decoration: none;
    font-weight: bold;
}

.VoucherPanel-footer {
    display: none;
    justify-content: space-around;
    padding: 10px 0;
    border-top: 1px solid #eee;
    background-color: #fff;
    position: fixed;
    bottom: 30px;
    padding-bottom: 50px;
    width: 100%; /* Responsive: Full width */
    z-index: 10;
    box-sizing: border-box;
}

.VoucherPanel-footer-link {
    font-size: 14px;
    color: #000;
    text-decoration: none;
}

.voucherShowInfoModal-Body{

}
.voucherShowInfoModal-Img{

}
.voucherShowInfoModal-Content{
    padding: 10px;
}
.voucherShowInfoModal-Content img{
    width: 100%;
    border-radius: 10px;
}
.voucherShowInfoModal-Header{

}
.voucherShowInfoModalFooterBtn {
    padding: 10px;
    flex: 1;
    border-radius: 1rem;
    color: #FFF;
    font-size: 120%;
    text-align: center;
    margin-top: 10px;
    width: 100%;
}
.voucherShowInfoModalFooterBtn-suDungVoucher {
    background: var(--mau-highlight);
}
.voucherShowInfoModalFooterBtn-closeModal {
    background: var(--mau-btn-chinh-clicked);
}
.voucherView-Info {
    text-align: center;
    color: #666;
}
.pickVoucher-modal-content-closeBtn {
    display: flex;
    width: 40px;
    height: 40px;
    margin-right: 10px;
    font-size: 250%;
    color: var(--mau-btn-chinh);
}
.pickVoucher-modal-title {
    flex: 1;
    font-size: 1.25rem;
    border-bottom: 0px;
}
.pickVoucher-modal-header {
    margin: 0px;
    padding: 0px;
}
.pickVoucher-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 10px;
}
.pickVoucherToOrder_searchBox {
    padding: 10px;
    background-color: var(--mau-nen-chinh: #F8F8F8);
}

/*OrderPaymentBox*/
.OrderPaymentBox {
    max-width: 100%;
    margin: 0 auto;
    background: var(--mau-nen-chinh);
    padding-bottom: 100px;
}

.OrderPaymentBox-header {
    background-color: #fff;
    border-bottom: 1px solid #dee2e6;
    padding: 10px 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: sticky;
    top: 0;
    z-index: 1000;
}
.OrderPaymentBox-back-button {
    font-size: 200%;
    color: #333;
    font-weight: bold;
    line-height: 100%;
}

.OrderPaymentBox-header-back {
    font-size: 1.5rem;
    color: #000;
    text-decoration: none;
}

.OrderPaymentBox-header-title {
    font-size: 1.25rem;
    font-weight: 600;
    flex: 1;
    text-align: center;
}

.OrderPaymentBox-header-icon {
    font-size: 1.25rem;
    color: #000;
}

.OrderPaymentBox-main-content {
    padding: 20px 15px;
    text-align: center;
}

.OrderPaymentBox-status-unpaid {
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 10px;
}

.OrderPaymentBox-payment-message {
    font-size: 1rem;
    color: #6c757d;
    margin-bottom: 10px;
}

.OrderPaymentBox-timer {
    font-size: 2rem;
    font-weight: bold;
    color: #dc3545; /* Red color for timer to match urgency */
    margin-bottom: 20px;
    margin-bottom: 20px;
    display: inline-block;
    border: solid 2px #666;
    padding: 0px 20px;
    border-radius: 1em;
}

.OrderPaymentBox-btn-cancel {
    background-color: #fff;
    border: 1px solid #ced4da;
    color: #000;
    font-weight: 500;
    border-radius: 20px;
    padding: 10px 20px;
}

.OrderPaymentBox-btn-proceed {
    background-color: #0d6efd;
    border: none;
    color: #fff;
    font-weight: 500;
    border-radius: 20px;
    padding: 10px 20px;
}

.OrderPaymentBox-whatsapp-banner {
    background-color: #e7f3ff;
    border-radius: 8px;
    padding: 15px;
    margin: 0 15px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.OrderPaymentBox-whatsapp-text {
    font-size: 1rem;
    font-weight: bold;
}

.OrderPaymentBox-whatsapp-subtext {
    font-size: 0.875rem;
    color: #000;
}

.OrderPaymentBox-whatsapp-offer {
    background-color: #fff;
    border-radius: 4px;
    padding: 2px 5px;
    font-weight: bold;
    margin-left: 5px;
}

.OrderPaymentBox-whatsapp-emoji {
    font-size: 1.2rem;
}

.OrderPaymentBox-banner-image {
    width: 50px;
    height: auto;
}

.OrderPaymentBox-store-section {
    padding: 0 15px;
}

.OrderPaymentBox-store-card {
    background-color: #fff;
    border-radius: 8px;
    margin-bottom: 20px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.OrderPaymentBox-store-title {
    font-size: 1.1rem;
    font-weight: bold;
}
.OrderPaymentBox-store-details-head {
    display: flex;
    align-items: center;
    padding: 15px;
    padding-bottom: 0px;
}
.OrderPaymentBox-store-linkBox {
    flex: 1;
    width: 150px;
    text-align: right;
}
.OrderPaymentBox-store-details-link {
    font-size: 0.9rem;
    color: #0d6efd;
    text-decoration: none;
    font-weight: 500;
    display: block;
    width: 80px;
}

.OrderPaymentBox-store-address {
    font-size: 0.9rem;
    color: #6c757d;
    margin-top: 10px;
    border-top: dashed 1px #ccc;
    padding: 15px;
    padding-top: 10px;
}

.OrderPaymentBox-store-address::before {
    content: "⊙ ";
    color: #000;
}

.OrderPaymentBox-map-placeholder {
    background-color: #dc3545;
    height: 250px;
    border-radius: 8px;
    margin: 0 15px 20px;
}

.OrderPaymentBox-qr-container {
    max-width: 300px;
    aspect-ratio: 1 / 1;
    margin: 0 auto 20px;
    background-color: #f0f0f0; /* Light gray background for loading */
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><text x="50%" y="50%" dominant-baseline="middle" text-anchor="middle" font-size="20" fill="%23666">Tải QR...</text></svg>'); /* SVG loading text as background */
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 8px;
    overflow: hidden;
}
.OrderPaymentBox-qr-help {
    text-align: center;
    font-size: 80%;
    padding: 10px 0px;
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 10px;
    line-height: 150%;
    padding-top: 0px;
}
.huongDanQuetQrModal-help-imgBox{

}
.huongDanQuetQrModal-help-img {
    padding: 10px;
    width: 95%;
    border-radius: 1em;
    margin-bottom: 20px;
}
.OrderPaymentBox-paid {
    max-width: 300px;
    margin: 0 auto 20px;
    padding-bottom: 20px;
    background-color: #FFF; /* Light gray background for loading */
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.OrderPaymentBox-qr-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

    .OrderPaymentBox-qr-image.loaded {
        background: none; /* Remove loading background once loaded */
    }
/* New styles for OrderPaymentBox-ProductBox */
.OrderPaymentBox-ProductBox {
    background-color: #fff;
    border-radius: 8px;
    margin: 0 15px 20px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.OrderPaymentBox-ProductBox-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.OrderPaymentBox-ProductBox-title {
    font-size: 1.1rem;
    font-weight: bold;
}

.OrderPaymentBox-ProductBox-order-number {
    font-size: 0.9rem;
    color: #6c757d;
}

.OrderPaymentBox-ProductBox-item {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    border-bottom: 1px solid #CCC;
    padding: 15px;
    padding-bottom: 15px;
}

    .OrderPaymentBox-ProductBox-item:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }

.OrderPaymentBox-ProductBox-item-image {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: #f8f9fa;
    margin-right: 15px;
    object-fit: cover;
}

.OrderPaymentBox-ProductBox-item-details {
    flex: 1;
}

.OrderPaymentBox-ProductBox-item-name {
    font-size: 1rem;
    font-weight: 500;
}

.OrderPaymentBox-ProductBox-item-quantity {
    font-size: 0.9rem;
    color: #6c757d;
    margin-left: 5px;
}

.OrderPaymentBox-ProductBox-item-description {
    font-size: 0.9rem;
    color: #6c757d;
}

.OrderPaymentBox-ProductBox-item-label {
    font-size: 0.8rem;
    color: #fd7e14;
    margin-top: 5px;
}

.OrderPaymentBox-ProductBox-item-price {
    font-size: 1rem;
    font-weight: 500;
    text-align: right;
    min-width: 80px;
}

.OrderPaymentBox-ProductBox-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 10px;
    font-size: 0.9rem;
    padding: 15px;
    padding-top: 0px;
}

.OrderPaymentBox-ProductBox-gst {
    color: #6c757d;
}

.OrderPaymentBox-ProductBox-discount-title {
    font-weight: bold;
    margin-top: 20px;
}

.OrderPaymentBox-ProductBox-discount-amount {
    color: #dc3545;
}

.OrderPaymentBox-ProductBox-discount-detail {
    color: #6c757d;
}

.OrderPaymentBox-ProductBox-total {
    font-weight: bold;
    font-size: 1.1rem;
    margin-top: 0px;
}

.OrderPaymentBox-ProductBox-new-label {
    background-color: #0d6efd;
    color: #fff;
    font-size: 0.7rem;
    padding: 2px 5px;
    border-radius: 4px;
    margin-right: 5px;
    vertical-align: middle;
}

.OrderPaymentBox-ProductBox-voucher-label {
    background-color: #ffe5e5;
    color: #dc3545;
    font-size: 0.8rem;
    padding: 2px 5px;
    border-radius: 4px;
    margin-top: 5px;
}
/* Updated style for OrderPaymentBox-order-footer to make it a regular card like others */
.OrderPaymentBox-order-footer {
    background-color: #fff;
    border-radius: 8px;
    padding: 15px;
    margin: 0 15px 20px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    text-align: center;
    color: #6c757d;
    font-size: 0.875rem;
}
.voucherAddPanel {
    margin: 2rem auto 2rem;
    text-align: center;
}
.voucherAddBtn {
    width: 280px;
    background: var(--mau-btn-chinh);
    color: #fff;
    border-radius: 2em;
    font-size: 200%;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    padding: 10px;
    position: relative;
    overflow: hidden;
    z-index: 1;
}
.voucherAddBtn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -50px; /* Bắt đầu từ ngoài trái với tổng độ dày 50px (3+3+13+3+28) */
    width: 50px; /* Tổng độ dày của ba thanh và khoảng cách */
    height: 100%;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.3) 0px 3px, /* Thanh đầu: 3px, opacity 0.3 */
    transparent 3px 6px, /* Khoảng cách 3px */
    rgba(255, 255, 255, 0.3) 6px 19px, /* Thanh 2: 13px, opacity 0.3 */
    transparent 19px 22px, /* Khoảng cách 3px */
    rgba(255, 255, 255, 0.3) 22px 50px /* Thanh 3: 28px, opacity 0.3 */
    ); /* Không gradient chuyển tiếp, chỉ các dải màu cố định */
    transform: skewX(-20deg); /* Nghiêng một chút để giống tia sáng chéo */
    animation: shine 1.43s linear infinite; /* Animation di chuyển, tốc độ 1.43 giây/vòng */
    z-index: -1; /* Đặt sau nền nút */
}
/* Keyframes cho animation quét sáng */
@keyframes shine {
    0% {
        left: -50px; /* Bắt đầu ngoài trái */
    }

    100% {
        left: 100%; /* Kết thúc ngoài phải, rồi lặp lại */
    }
}
.voucherView-body{
    padding: 1em;
}
.voucherView-mota {
}
.voucherView-ten{

}
.voucherView-gioiThieu{

}
.voucherView-gioiThieu img{
    width: 100%;
    border-radius: 10px;
}
.GlobalBtn {
    display: inline-block;
    width: 2.4rem;
    height: 2.4rem;
    cursor: pointer;
    background-size: cover;
}
.GlobalBtn-Closed1Btn-Black {
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAFrSURBVHgB7ZjdTYRAFIUvWgWhC0IBlGAJduLYwXZgK/oOiS34Al2AcwhudLKE+Tk3anK/hAQ2y53zAZm5GRHDMAzDMP4Jbds+4hAlcurfx/4RhauqevHHQ13XMs/zmxDx9Z987cte/8PXf4+5704y8IM4DCgk9vBOMoh+A3giTdNU/rTHtR+wZ7yJMLw/fx7H8RJ7f7QAmKbplSlxK/wwDC6lRpIAYEkwwoNkAVAqwQoPsgRArgQzPMgWAKkS7PCgSADESmiEB8UC4ExCK/xWS4h0XefWdb0ucP7cbYMohd/qCZlQ4sdg5PCA8gl9J/ycvtAID7J6oTOWZVljfmNAfwNHjRmrdwqhCtyabfyBwP1+TZegCRxNlewGMIQicDbPa0oUC8QuUloSRQKpK6yGRLZAbnvAlsgSKO1tmBLJAqzGjCWRJMDuKhkSqftC190CVm9zIKG+L0RtzFALNUWbv7i1aBiGYRjGb/IJvf0tDA1H1DAAAAAASUVORK5CYII=');
}
.GlobalBtn-Closed2Btn-BlackBgWhite {
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAARrSURBVHgB7Zu/axNhGMefWDG1oAXj4FBBOtRViIIVCmIztqvUKV1K/wBnoSC49Q8oXdoxLg7pGnHLIIGudm3GHhQLTXWpz/fyvuFyud/vc2/ugh94m9zlcs33e+/v93krlDO3t7c1flnh9JTTI06POS1wqvkudThdc7rg1FfpvFKpOJQjFcoBFg3BL1SqkRkw4BenLptxRsKIGcCi8VTfcVqn4RPOA5jR5nQmlTOMDbAk3A+KSpdTx9QIIwNYPIRvkj3hftwcwSZ0KSOZDFAVW5PTcyoGMGI/S25IbUABnnoYKBbIDd/TfCmVASz+PQ3LepGBCSdJL05sAIvf5pdVKgdoMo+SXJjIABb/iV+WqFz02YTPcRfdibtAPfmyiQdL6rdHEmkA32CDypPtg1hV9VYooQZ4avuys660BBJogGrnZ0G8ZlNpmiAsB3yk4rXzJkDLdtAHEwawUyjzpiO4IrISVBTGDJjBrO9nUw3eRvhzAHp5s/j0NXrkOmJkgHr6mZu8w8PDlbW1tWaj0fiA9ySM4P3XvbnAmwNw08wVX6vVqg8Gg+rl5eWDg4ODt5Im4F64p77/8fGxSd9kLBd4DTAq+zc3N/e8x1ImaPHec9Vq9S+ZMRrQuQaoOTyjst9sNicmJUxNCBIPtra2emTGgtI8ygFvyJCdnZ2z3d3dH/7zWU0IE4//gf9F5mDCdmSASHmVMsGCeOAaMCfd9tfrdYeHoVe9Xu+Z9zyOcR6fR33fkniwsLe3153jP5jXe0WCZDXBonjNOQx4STlMbqY1YQrigQMD0CQ8oRxIasKUxIPfd2m4VpcbWoBfoPd4SuJBrcKV4Bey0P8Pe8pBWBIPHDSDVgY/YU2kH4viQS12UlSSOBMsi3exakARsWpAXD0gPYpMAgzINQJDk7QStGyCWwkOKGei2nnJAVQGrtEPQExObis/STs5Yf2EnCtFtye4zG+WKQeSijcdQBnwEwY8JDU0lCRt93ZKJnRgAOoA0TX/rH37KZjw7Y4KKxG7senARnpmKQKY7eh+wCkJIDWqs2QCYg9JzADpIa0FE9xJXNcAFYF5TQZgXcB/zrRvH2aC4boAcHTUqbcr3CED/OsCUgObIBME1gXa+o3XAISXZc4FWBdYXFy8mp+f/yM9qtMm6PsbrgtA4+i3jQVJqZCYWV4dBgiv/aoP/KNBo1xQAtDcjxX1MQPYGYhPHGRYQtr+cNqJ+QC+AA5ZnZWxhBMUVB02IXJEs1UUoGU/6INAA1Q2maWicBIWSR46JaaKQqrI64JyorQEEjknyF9skeoylhQETbejLoidFFVR130qH/0kEeP/w+UpBWwCeokbVGzGenpxZNkyg9kjmFDELTORFV4QJpumEE9clKBKdNyOrGya8qLiilEspmVEpqfuRWLjJMQ3OL0muxsn0UfpqPFLZiS3zupN0nnmCDHhmjw3TyP20DgAk4ZDWMxZnhZ683QYKmdg6/ySekVIzn0K3j6PNYoL9f6cBDdJh/EPXliEiI00IgUAAAAASUVORK5CYII=');
}
.GlobalBtn-Closed3Btn-White {
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAANNSURBVHgB5VuLldowEFyuAjqIOggdnNMBJdBB6ACnAkgFXAehA/sqgKvATgXQwWYVrfBaMT5/JLDIvLcxT2dJHs1q9c0MPAMR5/RYsH3lp05Tzqsl24Xsnew0m81ymCI0KbIlWUZ2xuHQeX+RrcATZjACrNZ3sjUYlSw+yHKyE9uF1CmdvAqMqgt+JmAUtyi5jB9u3uBgxTZYVysnWzPpoeUqrR7ZyVF2ww0SHuyKhUMsAc+gMhdkb6KewqfrNlWoVduGJtZQr3IadDvGS9oqOYpAsIY7g93/LNRU4ANOC/oreArf4hR49O4aw75pLrxpOEmH3BtMDCIA9SfJrXRVDiYKoWQ/78IqWhZTcMtbcITYds20EtFSwcTBXclG12WXl22L3H0oGAoeQqwo87YXN9Y1ITKgmehrpLdeUFhBQWSgb05aVRRhdw+RolVF0fcWECluqigi52THvK4QKi5l4oETVzAS+OBxU0TUTCaefQUXdvWiT1lieCrGNhCawb9yU+G3XtwTe8720VkhgAdgNYVLXsDsiWi8gx98A7OfosiyNpL8t4zfLTmvD1guC9n/vM1csMO6rcs7I+q3QXMvo04CHtFGICQ5Ln9x7Xb0T4meAkxDRf8QCU1O1Gv6NP9ACIQGQkHJiXoNr9AEuTJ3ZywoOa7zL17g2fE/uOjTBxk76ntdReBjh4mEy851H/zgdG8EsWGGIk+I+HfnGc8AWC4XTfDkJI7CZ+QsApNU/MyffrJtlxd2ueRjqVL07VeC5GiCIsCcZWLGiQ/dKkQPi2WsJtoHmbjkxAwih3DPlUyUbppApMBqFVE0/TGNXUVs2/qMXUXssnEds4piqEnbXpIqxnj4UuBnw5OIqDEen626ZtqJFonlAHTXN+P1eBgmCqxfRugnBNbniJM7cdLf1LnftRQiST7XNRJRYPAV+MO/xSl4Cle5jt4bml3DRte7qYlmvZqJendBuwqa5UghKtxjgFPhBmJavSXcA+yyKdZxZPIKBoK9ZN1ALB2q2tgrzYoeKdkr1C+d630efYRV8u/yxpVmeYH9Fer7Qheyn2Q7ynuBR4PVO+D4S+k5mumil342SsFbQLPc0mrop/0vBV+c136DUekkzbdafwBIgajF0FeXqAAAAABJRU5ErkJggg==');
}
.GlobalBtn-Back1Btn {
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAACXBIWXMAACE4AAAhOAFFljFgAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAGnSURBVHgB7dvBTcNAEIXhsV0B15ygg5AoEt2QjlAqIOkA6rAt6MJ0AfskI4UoyonZec+aX7Ky2tw+7V48slmWZVmWZVmWLa31nDnWmmibzea167oPPGX9Yk41JhhwmqbZn++1bfvY9/2n/XNyJ+gajmdSQDdwDh6nB8lcsRs4p3Ec9+aUBFAUDqIHisRB1EDROIgWiAEHUQKx4CA6ICYcRAXEhoNogBhxEAUQKw4KB2LGQaFA7DgoDEgBB4UAqeCg6kBKOKgqkBoOqgakiIOqAKniIHcgZRzkCqSOg9xe2mNWpY6DXE4Qpp0Y6F35SwoH1R77fJtYnTn0VVqtVg9leTk3X5f9+2ma3k0kFyBUEN6WgOQGhJaA5AqE1JHcgZAyUhUgpIpUDQgpIlUFQmpI1YGQElIIEFJBCgNCCkihQIgdKRwIMSNRACFWJBogxIhEBYTYkOiAEBMSJRBiQaIFQgxI1EAoGokeCEUiSQChKCSZj1l+2263x/LzfLmf34vNzYPHk1VK5oqdN1+3u7J8mrcOwzAcLfvbbrdb47Esy7Isy7Isq90PhgZDZXvN8pcAAAAASUVORK5CYII=');
}

.MyAccountPanel {
    background-color: #fff;
    padding: 20px;
    border-radius: 8px;
    margin: 20px auto;
    padding-top: 60px;
}

.MyAccountPanel-title {
    font-size: 24px;
    margin-bottom: 20px;
}

.MyAccountPanel-avatar-container {
    text-align: center;
}

.MyAccountPanel-avatar-img {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background-color: #f0f0f0;
    display: inline-block;
    border: solid 5px var(--mau-btn-chinh);
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.MyAccountPanel-avatar-change {
    display: block;
    margin-top: 10px;
    color: #007bff;
    cursor: pointer;
    text-align: center;
}

.MyAccountPanel-form-verified {
    color: green;
    margin-left: 10px;
}

.MyAccountPanel-form-submit, .MyAccountPanel-form-delete {
    width: 100%;
}

.MyAccountPanel-other-info {
    margin-top: 20px;
}

.MyAccountPanel-other-title {
    font-size: 18px;
    color: #333;
}

.MyAccountPanel-other-expand {
    color: #ff9900;
}
.MyAccountPanel-form-submit {
    background-color: var(--mau-btn-chinh);
    color: #FFF;
    flex: 1;
    padding: 10px;
    text-align: center;
    text-decoration: none;
    font-size: 200%;
    line-height: 100%;
    border-radius: 10rem;
    border: 0px;
}

.MyAccountPanel-form-delete {
    background-color: var(--mau-actionBtn-chinh);
    color: #FFF;
    flex: 1;
    padding: 10px;
    text-align: center;
    text-decoration: none;
    font-size: 200%;
    line-height: 100%;
    border-radius: 10rem;
    border: 0px;
    margin-top: 20px;
}

.uploadMultipleBox-btnFile {
    cursor: pointer;
    font-size: 23px;
    margin: 0;
    opacity: 1;
    position: absolute;
    bottom: 20px;
    transform: translate(-300px, 0px) scale(4);
    width: 230px;
    margin-left: 100px;
    opacity: 0;
}
input[type=file] {
    display: block;
}
.ajaxUpload-cover {
    position: relative;
}
.selectAddressModal-ModalBody{
    padding: 10px;
}
.selectAddressModal-Intruction {
    padding: 20px 10px;
    color: #999;
}
.selectAddressModal-ModalBody .selectAddressBtn {
    padding: 15px;
}
.aboutUsModalBody{
    padding: 20px;
}
.locationPermissionModal-body, .locationRetryFailModal-body {
    padding: 20px;
}
.locationPermissionModal-body li, .locationRetryFailModal-body li {
    padding-left: 10px;
}
.locationPermissionModal-btn, .locationRetryFailModal-Btn {
    background-color: var(--mau-btn-chinh);
    color: #FFF;
    padding: 10px;
    text-align: center;
    text-decoration: none;
    font-size: 140%;
    line-height: 100%;
    border-radius: 10rem;
    margin-bottom: 10px;
}
/* Modal base */
.promo-overlay {
    position: fixed;
    inset: 0;
    background: var(--overlay);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease
}

    .promo-overlay.is-open {
        opacity: 1;
        pointer-events: auto
    }

.promo-wrap {
    position: relative;
    width: min(88vw, 360px);
}

    .promo-wrap::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: 14px;
        width: 10px;
        height: 10px;
        background: #fff;
        border-radius: 50%;
        transform: translateX(-50%);
        box-shadow: 0 2px 6px rgba(0,0,0,.25);
    }

/* Card */
.promo-card {
    position: relative;
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: 0 12px 40px rgba(0,0,0,.35);
    background: radial-gradient(120% 140% at 50% 0%, #ff8b4d 0%, #ff3838 55%, #b30012 100%);
    color: #fff;
    text-align: center;
}

.promo-header {
    padding: 20px 18px 8px;
    display: none;
}

.promo-kicker {
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: 14px;
    opacity: .95
}

.promo-price {
    font-size: 64px;
    line-height: 1;
    font-weight: 900;
    margin: .25rem 0
}

.promo-sub {
    font-size: 18px;
    font-weight: 700;
    opacity: .95
}

.promo-body {
    padding: 12px 18px 40px;
    display: none;
}

.promo-cta {
    display: inline-grid;
    place-items: center;
    width: 116px;
    height: 116px;
    border-radius: 50%;
    background: #ffe8d2;
    color: #b10015;
    font-weight: 900;
    font-size: 22px;
    border: 8px solid rgba(255,255,255,.65);
    box-shadow: 0 8px 30px rgba(0,0,0,.25);
    margin: 8px auto 6px;
    cursor: pointer;
    user-select: none
}

.promo-note {
    font-size: 14px;
    opacity: .92;
    margin: 6px 0 14px
}

.promo-media {
    display: block;
    width: 100%;
    cursor: pointer;
}

/* Close button outside card bottom */
.promo-close {
    position: absolute;
    left: 50%;
    bottom: -42px;
    transform: translateX(-50%);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: transparent;
    border: 1px solid rgba(0,0,0,.08);
    cursor: pointer;
    box-shadow: 0 8px 22px rgba(0,0,0,.28);
    z-index: 10000;
    border: solid 3px #FFF;
}

    .promo-close:before {
        content: "";
        display: block;
        width: 16px;
        height: 3px;
        background: #FFF;
        transform: rotate(45deg);
        position: absolute;
        top: 50%;
        left: 50%;
        margin-left: -8px;
        margin-top: -1px
    }

    .promo-close:after {
        content: "";
        display: block;
        width: 16px;
        height: 3px;
        background: #FFF;
        transform: rotate(-45deg);
        position: absolute;
        top: 50%;
        left: 50%;
        margin-left: -8px;
        margin-top: -1px
    }

.hidden {
    display: none
}