body {
    background: #fff;
}
h1 {
    font-size: 22px;
    margin-bottom: 20px;
}
@media (min-width: 1199px) {
    .main-cart-page {
        padding-bottom: 140px;
    }
}
.margin-bottom-40 {
    margin-bottom: 40px;
}
.cart-page .cart--empty-message {
    text-align: center;
}
.cart-page .cart--empty-message svg {
    width: 80px;
    margin: 15px;
}
.cart-page .cart-header-info {
    display: flex;
    display: flex;
    padding: 7px 0;
    border: solid 1px #ebebeb;
    border-bottom: none;
    font-weight: bold;
}
.cart-page .cart-header-info div:nth-child(1) {
    width: 51%;
    text-align: left;
    padding-left: 10px;
}
.cart-page .cart-header-info div:nth-child(2) {
    width: 16%;
    text-align: center;
}
.cart-page .cart-header-info div:nth-child(3) {
    width: 16%;
    text-align: center;
}
.cart-page .cart-header-info div:nth-child(4) {
    width: 16%;
    text-align: center;
}
.cart-page .cart_body {
    border: solid 1px #ebebeb;
}
.cart-page .cart_body .ajaxcart__row {
    padding: 10px 0;
    border-top: solid 1px #ebebeb;
}
.cart-page .cart_body .ajaxcart__row .cart_product {
    width: 100%;
    height: 120px;
    display: flex;
    align-items: center;
}
.cart-page .cart_body .ajaxcart__row:first-child {
    border-top: none;
}
.cart-page .cart_body .cart_image {
    width: 110px;
    height: 110px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 10px;
}
.cart-page .cart_body .cart_image img {
    max-width: 100%;
    max-height: 100%;
}
.cart-page .cart_body .cart_info {
    padding-left: 15px;
    vertical-align: top;
    padding-right: 10px;
    display: flex;
    width: calc(100% - 110px);
    -webkit-width: calc(100% - 110px);
    -moz-width: calc(100% - 110px);
    -o-width: calc(100% - 110px);
    -os-width: calc(100% - 110px);
}
.cart-page .cart_body .cart_info .cart_name {
    width: 50%;
    margin-bottom: 5px;
}
.cart-page .cart_body .cart_info .cart_name a {
    margin-bottom: 4px;
    font-size: 13px;
    font-weight: 500;
    line-height: 18px;
    display: block;
}
.cart-page .cart_body .cart_info .cart_name a:hover {
    color: var(--hover);
}
.cart-page .cart_body .cart_info .cart_name .remove-item-cart {
    display: block;
    color: var(--maincolor);
    font-weight: 300;
}
.cart-page .cart_body .cart_info .cart_name p {
    margin: 0;
    font-style: italic;
    color: #9e9e9e;
}
.cart-page .cart_body .cart_info .cart_name .ajaxcart__product-properties {
    font-size: 13px;
    line-height: 1.4;
    display: block;
    color: red;
    margin-top: 5px;
}
.cart-page .cart_body .cart_info .variant-title {
    display: block;
    font-size: 12px;
}
.cart-page .cart_body .cart_item_name {
    width: 60%;
}
.cart-page .cart_body .grid {
    width: 20%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.cart-page .cart_body .grid .cart_prices .cart-price {
    font-weight: bold;
    display: block;
    font-size: 14px;
    color: var(--maincolor);
}
.cart-page .cart_body .grid .cart__btn-remove {
    font-size: 13px;
    color: #30656b;
}
.cart-page .cart_body .grid .cart_quantity {
    font-size: 12px;
    margin-bottom: 5px;
    display: block;
    font-weight: normal;
    color: #333;
}
.cart-page .cart_body .cart_select input {
    display: inline-block;
    padding: 0;
    text-align: center;
    border-radius: 0;
    width: 35px;
    min-height: 28px;
    border: 1px solid #e5e5e5;
    color: #222;
    height: 28px;
    font-size: 14px;
    margin: 0;
    float: left;
    border-left: none;
    border-right: none;
}
.cart-page .cart_body .cart_select button {
    border-radius: 0;
    border: 1px solid #e5e5e5;
    border-color: #e5e5e5;
    color: #222;
    line-height: 26px;
    padding: 0;
    margin: 0;
    width: 28px;
    background-color: #fff;
    height: 28px;
    float: left;
}
.cart-page .cart_body .cart_select button.btn-minus {
    border-right: 0;
}
.cart-page .cart_body .cart_select button.btn-plus {
    border-left: 0;
}
.cart-page .cart_body .cart_select input {
    display: inline-block;
    padding: 0;
    text-align: center;
    border-radius: 0;
    width: 35px;
    min-height: 28px;
    border: 1px solid #e5e5e5;
    color: #222;
    height: 28px;
    font-size: 14px;
    margin: 0;
    float: left;
    border-left: none;
    border-right: none;
}
.cart-page .cart_body .cart_select button {
    border-radius: 0;
    border: 1px solid #e5e5e5;
    border-color: #e5e5e5;
    color: #222;
    line-height: 26px;
    padding: 0;
    margin: 0;
    width: 28px;
    background-color: #fff;
    height: 28px;
    float: left;
}
.cart-page .cart_body .cart_select button.btn-minus {
    border-right: 0;
}
.cart-page .cart_body .cart_select button.btn-plus {
    border-left: 0;
}
.cart-page .ajaxcart__footer {
    margin-top: 20px;
}
.cart-page .ajaxcart__footer .cart__subtotal {
    font-size: 15px;
    font-weight: 500;
    margin-bottom: 12px;
    display: flex;
}
.cart-page .ajaxcart__footer .cart__subtotal .cart__col-6 {
    width: 50%;
    float: left;
}
.cart-page .ajaxcart__footer .cart__subtotal .cart__totle {
    width: 50%;
    float: left;
    text-align: right;
}
.cart-page .ajaxcart__footer .cart__subtotal .cart__totle .total-price {
    color: var(--maincolor);
    font-weight: bold;
}
.cart-page .ajaxcart__footer .cart__btn-proceed-checkout-dt {
    display: block;
    position: relative;
}
.cart-page .ajaxcart__footer .cart__btn-proceed-checkout-dt button {
    width: 100%;
    background-color: var(--maincolor);
    color: #fff;
    text-align: center;
    line-height: 40px;
    border: 1px solid var(--maincolor);
}
.cart-page .ajaxcart__footer .cart__btn-proceed-checkout-dt button:hover {
    color: var(--maincolor);
    background: initial;
}
.cartheader {
    margin-bottom: 0;
}
.cartheader .cart_body {
    padding: 15px;
    max-height: 360px;
    overflow-y: auto;
}
.cartheader .cart_body::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.3);
    -moz-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.3);
    border-radius: 5px;
    background-color: #f5f5f5;
}
.cartheader .cart_body::-webkit-scrollbar {
    width: 5px;
    background-color: #f5f5f5;
}
.cartheader .cart_body::-webkit-scrollbar-thumb {
    border-radius: 5px;
    -webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.3);
    -moz-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.3);
    background-color: #e5e5e5;
}
.cartheader .cart_body .cart_product {
    margin-bottom: 15px;
    padding-bottom: 15px;
    display: table;
    width: 100%;
    border-bottom: solid 1px #ebebeb;
}
.cartheader .cart_body .cart_image {
    display: table-cell;
    width: 24%;
    vertical-align: top;
    position: relative;
}
.cartheader .cart_body .cart_info {
    padding-left: 15px;
    vertical-align: top;
}
.cartheader .cart_body .cart_info .cart_name {
    margin-bottom: 5px;
}
.cartheader .cart_body .cart_info .cart_name a {
    margin-bottom: 4px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.3;
    display: block;
}
.cartheader .cart_body .cart_info .cart_name a:hover {
    color: var(--hover);
}
.cartheader .cart_body .cart_info .variant-title {
    display: block;
    font-size: 12px;
}
.cartheader .cart_body .grid {
    display: flex;
}
.cartheader .cart_body .grid .cart_item_name {
    width: 50%;
}
.cartheader .cart_body .grid .cart_item_name .cart_quantity {
    font-size: 12px;
    margin-bottom: 5px;
    display: block;
    font-weight: normal;
    color: #333;
}
.cartheader .cart_body .grid .cart_prices {
    width: 50%;
    text-align: right;
}
.cartheader .cart_body .grid .cart_prices .cart-price {
    font-weight: bold;
    display: block;
    font-size: 14px;
    color: var(--maincolor);
}
.cartheader .cart_body .grid .cart__btn-remove {
    font-size: 13px;
    color: #30656b;
}
.cartheader .cart_body .cart_select input {
    display: inline-block;
    padding: 0;
    text-align: center;
    border-radius: 0;
    width: 35px;
    min-height: 28px;
    border: 1px solid #e5e5e5;
    color: #222;
    height: 28px;
    font-size: 14px;
    margin: 0;
    float: left;
    border-left: none;
    border-right: none;
}
.cartheader .cart_body .cart_select button {
    border-radius: 0;
    border: 1px solid #e5e5e5;
    border-color: #e5e5e5;
    color: #222;
    line-height: 26px;
    padding: 0;
    margin: 0;
    width: 28px;
    background-color: #fff;
    height: 28px;
    float: left;
}
.cartheader .cart_body .cart_select button.btn-minus {
    border-right: 0;
}
.cartheader .cart_body .cart_select button.btn-plus {
    border-left: 0;
}
.cartheader .ajaxcart__footer {
    padding: 10px;
}
.cartheader .ajaxcart__footer .cart__subtotal {
    font-size: 15px;
    font-weight: 500;
    margin-bottom: 12px;
    display: flex;
}
.cartheader .ajaxcart__footer .cart__subtotal .cart__col-6 {
    width: 50%;
    float: left;
}
.cartheader .ajaxcart__footer .cart__subtotal .cart__totle {
    width: 50%;
    float: left;
    text-align: right;
}
.cartheader .ajaxcart__footer .cart__subtotal .cart__totle .total-price {
    color: var(--maincolor);
    font-weight: bold;
}
.cartheader .ajaxcart__footer .cart__btn-proceed-checkout-dt {
    display: block;
    position: relative;
}
.cartheader .ajaxcart__footer .cart__btn-proceed-checkout-dt button {
    width: 100%;
    background-color: var(--maincolor);
    color: #fff;
    text-align: center;
    line-height: 40px;
    border: 1px solid var(--maincolor);
}
.cartheader .ajaxcart__footer .cart__btn-proceed-checkout-dt button:hover {
    background: #fff;
    color: var(--maincolor);
}
@media (max-width: 1199px) {
    .CartMobileContainer .cart--empty-message {
        text-align: center;
    }
    .CartMobileContainer .cart--empty-message svg {
        width: 80px;
        margin: 15px;
    }
}
@media (max-width: 1199px) and (min-width: 767px) {
    .cart-mobile .cart_body .cart_image {
        width: 10%;
    }
}
.formVAT {
    padding: 10px 10px 10px 5px;
    background: #f8f8f8;
    width: 100%;
    float: left;
}
.r-bill .checkbox {
    margin: 0;
}
.r-bill .checkbox label {
    margin: 0;
}
.r-bill .checkbox .regular-checkbox {
    display: none;
}
.r-bill .checkbox .regular-checkbox + .box {
    border: 2px solid #727272;
    padding: 7px;
    border-radius: 2px;
    display: inline-block;
    margin-top: 2px;
    position: relative;
}
.r-bill .checkbox .regular-checkbox:checked + .box {
    background: #ff2e2e;
    border: 2px solid #ff2e2e;
}
.r-bill .checkbox .regular-checkbox:checked + .box:after {
    content: "\2714\fe0e";
    font-size: 13px;
    position: absolute;
    top: -2px;
    left: 1px;
    color: #fff;
}
@media (max-width: 768px) {
    .r-bill .checkbox .regular-checkbox:checked + .box:after {
        top: -3px;
        left: 1px;
    }
}
.r-bill .bill-field label {
    line-height: 1.8;
    font-size: 14px;
    margin-bottom: 0;
}
@media (max-width: 768px) {
    .r-bill .bill-field label {
        font-size: 14px;
        margin-bottom: 0.1rem;
    }
}
.r-bill .bill-field .form-group {
    margin-bottom: 10px;
    padding: 0;
}
.r-bill .bill-field .form-group input {
    margin-bottom: 0;
}
.r-bill .bill-field .form-control {
    box-shadow: none;
    background-clip: padding-box;
    border-radius: 3px;
    border-color: #e6e6e6;
    height: 34px;
    font-size: 14px;
    border: initial;
    width: 100%;
}
.r-bill .bill-field textarea.form-control {
    height: 85px;
    outline: none;
}
.r-bill .bill-field span.text-danger {
    margin-top: 5px;
    display: block;
    font-size: 13px;
    color: red;
    margin-bottom: 15px;
}
.r-bill .checkbox > .title {
    font-size: 16px;
    line-height: 1.5;
    padding-left: 5px;
    vertical-align: top;
    color: #000;
}
@media (max-width: 768px) {
    .r-bill .checkbox > .title {
        font-size: 14px;
    }
}
.r-bill .bill-field {
    display: none;
    margin-top: 5px;
}
.form-control::placeholder {
    color: #b4b4b4;
    opacity: 1;
}
form h4 {
    font-size: 18px;
    font-weight: bold;
}
.timedeli-modal {
    display: flex;
}
.timedeli-modal fieldset {
    border: none;
    padding: 0;
    width: 49%;
    position: relative;
}
.timedeli-modal fieldset:first-child {
    margin-right: 10px;
}
.timedeli-modal fieldset label {
    margin-bottom: 0;
}
.timedeli-modal fieldset input {
    padding: 0 10px;
    background: #fff;
    position: relative;
    z-index: 2;
    height: 35px;
    line-height: 35px;
    min-height: 35px;
    width: 100%;
    border: initial;
}
.timedeli-modal fieldset select {
    height: 35px;
    line-height: 35px;
    width: 100%;
    border: initial;
    color: #898787;
}
.timedeli-modal fieldset .fa {
    position: absolute;
    top: 10px;
    right: 10px;
    color: #333;
    z-index: 3;
}
.timedeli-modal fieldset .fa:before {
    color: #333;
}
.r-bill {
    margin-top: 10px;
}
.datepicker-dropdown {
    min-width: 160px !important;
    width: 220px;
    position: absolute;
    top: 0;
    background: #fff;
    border: solid 1px #ebebeb;
    z-index: 9999;
}
@media (max-width: 767px) {
    .datepicker-dropdown {
        left: 0 !important;
    }
}
.datepicker table tr td,
.datepicker table tr th {
    text-align: center;
    width: 30px;
    height: 30px;
    border-radius: 4px;
    border: none;
    padding: 0;
    font-size: 13px;
    cursor: pointer;
}
.datepicker table tr td.disabled,
.datepicker table tr th.disabled {
    background: #f5f5f5;
    cursor: default;
}
.datepicker table tr td:hover:not(.disabled),
.datepicker table tr th:hover:not(.disabled) {
    background: #ebebeb;
}
@media (max-width: 767px) {
	.grid__item .cart_info{
		display:block;
	}
}

/* =================================================================== */
/* == GIAO DIỆN MỚI CHO TRANG GIỎ HÀNG - DESKTOP & MOBILE == */
/* =================================================================== */

.main-cart-page h1 { font-size: 22px; margin-bottom: 20px; }

/* --- GIAO DIỆN DESKTOP (từ 992px trở lên) --- */
.cart-header-info {
    display: flex;
    padding: 10px 0;
    border-bottom: 2px solid #ebebeb;
    font-weight: 600;
    color: #333;
}
.cart-product-desktop {
    display: flex;
    align-items: center;
    padding: 20px 0;
    border-bottom: 1px solid #f0f0f0;
}
.ajaxcart__row:last-child .cart-product-desktop {
    border-bottom: none;
}

/* Định nghĩa chiều rộng cột cho Desktop */
.cart-header-info > div:nth-child(1), .cart-col-product-info { flex: 0 0 45%; }
.cart-header-info > div:nth-child(2), .cart-col-price { flex: 0 0 18%; text-align: center; }
.cart-header-info > div:nth-child(3), .cart-col-quantity { flex: 0 0 15%; text-align: center; }
.cart-header-info > div:nth-child(4), .cart-col-total { flex: 0 0 15%; text-align: center; }
.cart-col-actions { flex: 0 0 7%; text-align: center; }

/* Style chi tiết cho cột Desktop */
.cart-col-product-info { display: flex; align-items: center; }
.cart-col-product-info .cart-item-select { margin-right: 15px; }
.cart-col-product-info .ajaxcart__product-image { width: 80px; height: 80px; flex-shrink: 0; margin-right: 15px; }
.cart-col-product-info .cart-name-details { flex-grow: 1; min-width: 0; }
.cart-col-price .old-price { display: block; color: #999; }
.cart-col-quantity .ajaxcart__qty { margin: auto; }
.cart-col-total .price { font-weight: bold; color: var(--pricecolor); }

/* --- Style chung cho bộ đếm số lượng --- */
.ajaxcart__qty { display: flex; align-items: center; }
.ajaxcart__qty-adjust { width: 30px; height: 30px; border: 1px solid #e5e5e5; background: #f9f9f9; cursor: pointer; }
.ajaxcart__qty-num { width: 40px; height: 30px; text-align: center; border: 1px solid #e5e5e5; border-left: none; border-right: none; }
.ajaxcart__qty-num:focus { outline: none; }
.ajaxcart__row .check-box{
	display: flex; 
	align-items: center; 
	padding-left: 15px;
}

.cart-page .cart_body .ajaxcart__row .grid-close{
	display:flex;
	padding-right: 10px;
}

.cart-page .cart_body .ajaxcart__row .grid-close a{
	color:#2d347d;
}

/* --- GIAO DIỆN CHO MOBILE (dưới 992px) --- */
@media (max-width: 991.98px) {
    /* Ẩn các thành phần của Desktop */
    .cart-header-info, .cart-product-desktop {
        display: none !important;
    }
    .main-cart-page .cart-page .cart_body{
        border: none;
    }

    /* Style cho dòng sản phẩm Mobile (giống hệt mini cart) */
    .cart-product-mobile {
        display: flex;
        align-items: flex-start;
        gap: 15px;
        position: relative;
        padding: 20px 0;
        border-bottom: 1px solid #f0f0f0;
    }
    .cart-product-mobile .cart-item-select {
        margin-top: 30px; /* Căn giữa với ảnh */
    }
    .cart-product-mobile .item-image {
        width: 80px;
        height: 80px;
        flex-shrink: 0;
    }
    .cart-product-mobile .item-details {
        flex-grow: 1;
        min-width: 0;
    }
    .cart-product-mobile .item-name {
        font-weight: 500;
        display: block;
        margin-bottom: 5px;
    }
    .cart-product-mobile .item-price .sale-price {
        font-weight: 600;
        color: var(--pricecolor);
    }
    .cart-product-mobile .item-price .regular-price {
        margin-left: 8px;
        color: #999;
        font-size: 0.9em;
    }
    .cart-product-mobile .item-line-total .price {
        font-weight: bold;
        font-size: 15px;
    }
    .cart-product-mobile .item-remove {
        position: absolute;
        top: 20px;
        right: 0;
        font-size: 22px;
        color: #aaa;
        text-decoration: none;
        width: 25px;
        height: 25px;
        text-align: center;
    }
	.cart-page .cart_body .cart_info{
		display: block;
	}
	.cart-page .cart_body .cart_info .cart_name{
		width:100%;
	}
	.cart-page .cart_body .grid{
		display:block;
		width:100%;
		padding-bottom:3px;
	}
	.cart-page .cart_body .last-grid{
		display:flex !important;
		width:100%;
	}
	.cart-page .cart_body .grid .grid__item{
		display:flex;
	}
	.ajaxcart__row .check-box{
		padding-left: 0px;
	}
	.cart-page .cart_body .cart_image {
		width: 80px;
		height: 80px;
	}
	
	.cart-page .cart_body .ajaxcart__row .old-price{
		color:#3c3c3c;
		font-size:12px;
	}
	.cart-page .cart_body .ajaxcart__row .original-price{
		padding-left:5px;
	}
	.cart-page .cart_body .ajaxcart__row {
		padding: 20px 0;
	}
	.cart-page .cart_body .ajaxcart__row .cart_line_price{
		padding-top:5px;
	}
	.cart-page .cart_body .ajaxcart__row .cart_line_price span{
		color: #2d347d;
		font-weight:bold;
		font-size:15px;
	}
}