html {
    background: #fff;
}
body {
    max-width: 640px;
    margin: 0 auto;
    width: 100%;
}
.header {
    background: #F53F25;
    height: 70px;
    width: 100%;
    border-bottom: 3px solid #0083b6;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
}
img {
    border: 0;
    max-width: 100%;
    height: auto;
    display: block;
}
.header .left {
    float: left;
    display: inline-block;
    margin: 25px 0 0 30px;
    width: 10.627%;
    ;
    height: auto;
}
.header .right {
    float: right;
    display: inline-block;
    text-align: right;
    margin: 25px 30px 0 0px;
    width: 22.033%;
    height: auto;
}
.banner {
    width: 100%;
    margin-bottom: 10px;
    display: inline-block;
}
.info {
    padding: 0 20px;
    margin: 25px 0 0 0;
}
.info .row {
    display: flex;
    justify-content: flex-start;
    align-content: center;
}
.info .row-column {
    flex-direction: column;
    margin-top: 5px;
}
.info .row .col-left {
    margin-right: auto;
    margin-bottom: 12px;
}
.info .row .col-right {
    margin-left: auto;
    margin-top: 6px;
    margin-bottom: 12px;
}
.info .row .col-auto {
    text-align: left;
    margin-top: 6px;
    margin-bottom: 6px;
    margin-right: 30px;
}
.info .row .col-auto:first-child, .info .row .col-auto:last-child {
    margin-right: 0;
}
.info .row .col-200 {
    min-width: 200px;
}
.info .row p {
    font-size: 18px;
/*    color: #F53F25;*/
/*    font-weight: bold;*/
    color: #333;
    line-height: 20px;
}
.info .row p span {
    background: #F53F25;
    width: 20px;
    height: 20px;
    border-radius: 100%;
    color: #FFF;
    font-size: 14px;
    font-weight: bold;
    margin-right: 5px;
    display: inline-block;
    text-align: center;
    vertical-align: middle;
}
.info .row p span.color-red {
    color: #F53F25;
    background: none;
    height: auto;
    width: auto;
    margin: 0 0 0 5px;
    font-size: 16px;
    font-weight: 400;
    text-align: left;
}
.info .row p em {
    font-size: 14px;
    color: #666;
    font-weight: 300;
}
.info .row .inputtext {
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    height: 37px;
    padding: 0 10px;
    margin-top: 11px;
    font-size: 18px;
    color: #333;
}
.info .row .globalMessage {
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    width: 100%;
    height: 80px;
    margin-top: 11px;
    font-size: 18px;
    color: #333;
    padding: 8px 14px;
}
.info .row .inputtext:focus, .info .row .globalMessage:focus {
    border: 1px solid #f39c12;
    outline: none;
}
.container-radio {
   display: inline-block;
    position: relative;
    cursor: pointer;
    font-size: 16px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    width: 100%;
}
.info .row .item input[type='radio'] + label.mega:before {
    top: 3px;
    width: 13px;
    height: 13px;
}
.info .row .item input[type='radio']:checked + label.mega:after {
    top: 7px;
    left: 2px;
    width: 11px;
    height: 11px;
}
.container-radio.mega {
    background: url(/images/epay-logo.png) no-repeat 100%;
}
.info .row #fullname {
    width: 300px;
}
.full {
    width: 100%;
}
.info .row .full #email {
    width: 100%;
}
.info .row .col-full {
    width: 100%;
    margin-bottom: 15px;
}
.info .row .col-full #fullname, .info .row .col-full #phone {
    width: 100%;
}
.info .row [type="radio"] {
    margin-right: 5px;
}
.info .row input[type='radio'] {
    display: none;
}
.info .row .checkmark2 {
    color: #666;
    font-weight: normal;
}
.info .row label:before {
    /*
    content: " ";
    display: inline-block;
    position: relative;
    top: 0;
    margin: 0 5px 0 0;
    width: 12px;
    height: 12px;
    border-radius: 11px;
    border: 1px solid #333;
    background-color: transparent;*/
}
.info .row label.none:before{
    display: none;
}
.info .row input[type='radio']:checked + label:before {
    border-color: #383838;
}
.info .row input[type='radio']:checked + label:after {
    border-radius: 11px;
    width: 8px;
    height: 8px;
    position: absolute;
    top: 6px;
    left: 3px;
    content: " ";
    display: block;
    background: #383838;
}
.info .row label {
    font-size: 18px;
/*    color: #666;*/
    position: relative;
}
.info .row label em {
    font-size: 14px;
    font-weight: 300;
}
.info .row .agree-title {
    font-size: 16px;
    font-weight: 500;
    color:#000;
    text-transform: uppercase;
    margin: 30px auto 0px;
}
.info .row .agree p {
/*    color: #F53F25;*/
    font-size: 16px;
    color: #666;
    margin: 15px 0;
    font-style: italic;
}
.info .row .condition {
    margin: -5px auto 15px;
    border-radius: 6px;
    border: 1px solid #b0b0b0;
    background: #f1f1f1;
    color: #000;
    padding: 0px;
}
.info .row .condition h3 {
    font-size: 16px;
    color: #000;
    margin: 16px 0 8px 0;
    line-height: normal;
}
.info .row .condition h3:first-child {
    margin-top: 0;
}
.info .row .condition h3 em {
    color: #666;
    font-size: 14px;
    font-weight: 400;
}
.info .row .condition p {
    font-size: 14px;
    color: #000;
}
.info .row .condition p em {
    color: #666;
}
.info .row .condition ul {
    list-style: disc;
    font-size: 14px;
    color: #000;
    margin: 0;
    list-style-position: inside;
}
.info .row .owl-carousel {
    margin-top: 15px;
    margin-bottom: 5px;
}
.info .row .item {
    border: 1px solid #666;
    padding: 9px;
    border-radius: 6px;
    margin-bottom: 10px;
}
.info .row .item-active, .info .row .item:hover {
    border: 1px solid #F53F25;
}
.info .row .item-active, .info .row .item:hover {

}
.info .row .item input[type='radio'] + label:before {
    top: 2px;
    width: 13px;
    height: 13px;
}
.info .row .item input[type='radio']:checked + label:after {
    border-radius: 11px;
    width: 15px;
    height: 15px;
    position: absolute;
    top: 2px;
    left: 2px;
    content: " ";
    display: block;
    background: #383838;
}
.info .row .item input[type='radio']:checked + label:after {
    width: 11px;
    height: 11px;
    top: 6px;
}
.info .row .owl-item .item img {
    margin-bottom: 10px;
}
.info .row .item label {
    display: flow;
    font-size: 16px;
}
.info .row .item label span {
    font-size: 14px;
    font-weight: normal;
    color: #333;
    padding-left: 24px;
}
.info .row .item label .title {
    text-transform: uppercase;
    color: #666;
    font-weight: bold;
    padding-left: 0px;
    font-size: 16px;
}
.info .row .item label .list-price {
    color: #666;
    text-decoration: line-through;
    font-size: 14px;
}
.info .row .item label .sale-price, .total-sale-price {
/*    color: #F53F25;  */
    color: #333;
    font-size: 16px;
    font-weight: bold;
}
.total-sale-price div {
    display: inline-block;
}
.info .row .owl-carousel .owl-nav button.owl-prev {
    position: absolute;
    top: 40%;
    left: -25px;
}
.info .row .owl-carousel .owl-nav button.owl-prev span {
    background: url(/images/prev.png);
    width: 11px;
    height: 26px;
    display: block;
    text-indent: -9999px;
}
.info .row .owl-carousel .owl-nav button.owl-next {
    position: absolute;
    top: 40%;
    right: -25px;
}
.info .row .owl-carousel .owl-nav button.owl-next span {
    background: url(/images/next.png);
    width: 11px;
    height: 26px;
    display: block;
    text-indent: -9999px;
}
.info .row .owl-theme .owl-nav [class*=owl-]:hover {
    background: none;
}


.nano .nano-content {
    padding: 15px;
}
.nano .nano-pane   {
    background: #8390a5;
}
.nano .nano-slider {
    background: #f9f9f7;
}
.nano > .nano-pane > .nano-slider {
    background: #f9f9f7;
}
.process {
    width: 85%;
    margin: 0 auto;
    text-align: center;
}
.process button {
    width: 240px;
    color: #fff;
    border: 1px solid #F53F25;
    font-size: 16px;
    line-height: 34px;
    background: #F53F25;
    border-radius: 6px;
    margin: 20px 0;
    font-weight: bold;
    text-transform: uppercase;
    transition: all 0.3s;
}
.process button:active {
    transform: scale(0.98);
}
.process button i {
    font-size: 26px;
    font-style: initial;
    margin-left: 20px;
}
.footer {
    border-top: 1px solid #c9c9c9;
    display: block;
    margin: 0 40px;
    padding: 15px 0;
}
.footer .left {
    margin-right: auto;
    display: inline-block;
}

.footer .right {
    margin-left: auto;
    display: inline-block;
}
.footer .right a {
    color:#333;
    font-size: 16px;
    text-transform: uppercase;
}
.footer .right a span {
    font-weight: bold;
    color: #f26122;
}
.footer div {
    display: block;
    width: 100%;
    text-align: center;
}
.msg-success p {
    padding: 10px 20px;
    font-size: 14px;
    color: #333;
    line-height: 20px;
}

.msg-success h4 {
    padding: 20px 20px 10px;
    font-size: 18px;
    color: #d52027;
    line-height: 20px;
    text-align: center;
}

.msg-success a {
    width: 100%;
    text-align: center;
    display: block;
    padding: 5px 20px;
    margin-bottom: 30px;
}
.msg-success span {
    font-size: 14px;
    font-weight: 600;
    color: #288ad6;
}
.msg-success a b {
    display: inline-block;
    vertical-align: middle;
    content: '';
    width: 0;
    height: 0;
    border-left: 5px solid #288ad6;
    border-bottom: 5px solid transparent;
    border-top: 5px solid transparent;
    position: relative;
    top: -1px;
}
.info .row.radio-gift input[type='radio']:checked + label:after {
    top: 8px;
}
.btn {
    cursor: pointer;
    display: inline-block;
    font-weight: 400;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border: 1px solid transparent;
    padding: 6px 12px;
    font-size: 16px;
    line-height: 1.5;
    border-radius: 5px;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    text-decoration: none;
}
#goods_id, #quantity_input, #phone, #sender_phone , #receiver_phone {
    width: 100%;
}
.shop-info {
/*    margin-bottom: 15px;*/
    padding: 10px;
    border-left: 4px solid #f44336;
    background: #fff9f8;
}
.shop-info h3 {
        margin: 0;
    color: #333;
    font-size: 18px;
}
.shop-info p {
    margin: 5px 0 0;
    color: #666!important;
    font-size: 14px!important;
}
.btn-primary {
    color: #fff;
    background-color: #F53F25;
    border-color: #F53F25;
}
.error-msg {
    color: #F53F25;
    font-size: 13px;
}
 /* Container chung cho các thẻ */
.gift-card-grid {
    display: flex;
    flex-direction: column;
    gap: 12px; /* Khoảng cách giữa các thẻ */
}

/* Base style cho một thẻ quà tặng (Dùng label làm thẻ) */
.gift-card-item {
    display: block;
    cursor: pointer;
    border: 1px solid #e0e0e0; /* Viền xám nhạt */
    border-radius: 12px; /* Bo góc mềm mại */
    padding: 20px;
    background-color: #fff;
    transition: all 0.3s ease; /* Hiệu ứng mượt mà */
    position: relative;
    box-sizing: border-box;
}

/* Ẩn radio button gốc */
.gift-radio {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

/* --- Hiệu ứng Hover --- */
.gift-card-item:hover {
    border-color: #f39c12; /* Đổi màu viền sang cam nhạt */
    transform: translateY(-2px); /* Nổi lên nhẹ */
    box-shadow: 0 4px 15px rgba(0,0,0,0.05); /* Thêm bóng */
}

/* --- Hiệu ứng Active (Khi được CHỌN) --- */
.gift-radio:checked + .card-content .card-radio-custom::after {
    background-color: #f39c12; /* Màu cam Spicy Box */
    transform: scale(1);
}

.gift-radio:checked ~ .card-content {
    /* Đặt style cho toàn bộ nội dung khi chọn */
}

/* Thẻ bao quanh cho hiệu ứng chọn */
.gift-card-item:has(.gift-radio:checked) {
    border-color: #f39c12; /* Màu viền chính */
    border-width: 1px; /* Viền đậm hơn */
    background-color: #fff9f8; /* Nền hồng nhạt */
}

/* --- Sắp xếp nội dung bên trong thẻ --- */
.card-content {
    display: flex;
    flex-direction: column;
}

.card-header {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
}

/* Radio button giả để custom */
.card-radio-custom {
    display: inline-flex;  /* Sử dụng flex để căn nhân vào giữa */
    align-items: center;
    justify-content: center;

    width: 20px;           /* Kích thước cố định */
    height: 20px;
    border: 2px solid #ccc;
    border-radius: 50%;
    margin-right: 12px;
    flex-shrink: 0;        /* Chống bóp méo vòng tròn */
    background-color: #fff;
    transition: all 0.2s ease;

    /* Quan trọng: Reset lại các thuộc tính có thể gây lệch */
    line-height: 1 !important;
    vertical-align: middle;
}

.card-radio-custom::after {
    content: '';
    width: 10px;           /* Kích thước nhân nhỏ hơn vòng ngoài */
    height: 10px;
    border-radius: 50%;
    background-color: #f39c12;

    /* Hiệu ứng */
    transform: scale(0);   /* Mặc định ẩn */
    transition: transform 0.2s ease;
}

/* Đổi màu radio giả khi được chọn */
.gift-radio:checked + .card-content .card-radio-custom {
    border-color: #f39c12;
}
/* Hiệu ứng khi Card được Active thì phần thông tin này hiện rõ hơn */
.gift-radio:checked ~ .card-content .card-extra-info {
    border-top-color: #f39c12;
}

.card-title {
    font-size: 15px;
    font-weight: 700;
    color: #333;
    letter-spacing: 0.3px;
}

.card-body {
    padding-left: 30px; /* Thụt vào để thẳng hàng với text tiêu đề */
}

.price-wrapper {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 8px;
}

.sale-price {
    font-size: 20px;
    font-weight: 800;
    color: #e74c3c; /* Màu đỏ */
}

.list-price {
    font-size: 14px;
    color: #888;
    text-decoration: line-through; /* Gạch ngang */
}

.expiry-text {
    font-size: 12px;
    color: #666;
    font-style: italic;
}
/* Nhãn Badge bo góc nhỏ ở phía trên */
.bonus-badge {
    position: absolute;
    top: -10px;
    right: 15px;
    background: linear-gradient(135deg, #2ecc71 0%, #27ae60 100%);
    color: white;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: bold;
    text-transform: uppercase;
    box-shadow: 0 4px 8px rgba(46, 204, 113, 0.3);
    z-index: 10;
}

/* Dòng text mô tả quà tặng bên trong */
.bonus-text {
    font-size: 13px!important;
    color: #27ae60!important;
    margin-top: 5px;
    font-weight: 500!important;
    display: flex;
    align-items: center;
}

/* Hiệu ứng rung nhẹ cho Badge để gây chú ý (tùy chọn) */
.bonus-badge {
    animation: pulse-green 2s infinite;
}

@keyframes pulse-green {
    0% { transform: scale(1); }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); }
}

.card-extra-info {
/*    margin-top: 15px;*/
/*    padding-top: 15px;*/
}

.info-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 10px;
}
.info-content {
    width: 100%;
    display: inline-block;
    width: 100%;
    display: inline-block;
    background: #fff9f8;
    border-radius: 12px;
    padding: 20px;
    border: 1px dashed #ddd;

}
.info-icon {
    font-size: 18px;
    margin-right: 10px;
    background: #fff4e6; /* Nền tròn nhạt cho icon */
    width: 30px;
    height: 30px;
/*    display: flex;*/
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    flex-shrink: 0;
}

.info-content strong {
    font-size: 18px;
    color: #333;
    font-weight: normal;
/*    display: block;*/
}

.btn-info-popup {
    flex: 1;
    background: #fff9f0;
    border: 1px solid #f39c12;
    border-radius: 8px;
    padding: 5px 0px;
    font-size: 12px;
    color: #f39c12;
    cursor: pointer;
    /* display: flex; */
    align-items: center;
    justify-content: center;
    gap: 6px;
    transition: all 0.2s ease;
    width: 60px;
    float: right;
    margin-left: 5px;
}

/* Container bao ngoài để tạo khoảng cách */
.terms-container {
    margin: 20px 0!important;
}

.custom-checkbox {
    display: flex;
    align-items: center; /* Căn giữa checkbox và chữ theo chiều dọc */
    cursor: pointer;
    font-size: 14px;
    color: #333;
    user-select: none;
}

/* Ẩn checkbox mặc định */
.custom-checkbox input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

/* Tạo ô vuông trống */
.checkmark2 {
    height: 18px;
    width: 18px;
    background-color: #fff;
    border: 1px solid #ccc; /* Viền xám mảnh */
    border-radius: 3px; /* Bo góc cực nhẹ */
    margin-right: 7px;
    position: relative;
    transition: all 0.2s ease;
}

/* Khi di chuột qua */
.custom-checkbox:hover input ~ .checkmark2 {
    border-color: #f39c12;
}

/* Khi được TÍCH CHỌN (Checked) */
.custom-checkbox input:checked ~ .checkmark2 {
    background-color: #f39c12; /* Màu cam Spicy Box */
    border-color: #f39c12;
}

/* Tạo dấu tích trắng */
.checkmark2:after {
    content: "";
    position: absolute;
    display: none; /* Mặc định ẩn */
    left: 6px;
    top: 2px;
    width: 4px;
    height: 9px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

/* Hiện dấu tích khi checked */
.custom-checkbox input:checked ~ .checkmark2:after {
    display: block;
}

/* Style cho văn bản đi kèm */
.custom-checkbox .text {
    line-height: 18px;
}

.total-section {
    background: #fff9f8;
    border-radius: 12px;
    padding: 20px;
    border: 1px dashed #ddd; /* Đường gạch đứt nhìn giống hóa đơn */
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 25px;
}

.total-label {
    font-size: 16px;
    color: #555;
    font-weight: 500;
}

.total-amount-text {
    font-size: 24px;
    color: #e74c3c;
    font-weight: 800;
}
.modal.show .modal-dialog {
    max-width: 640px;
}
.description {
    font-size: 16px;
    color: #333;
    padding: 10px 10px;
    text-align: left;
    white-space: pre-line;
    margin-top: -10px;
    margin-bottom: -10px;
}
.list-store-main {
    position: relative;
}
.list-store-main h3 {
    font-weight: normal;
    font-size: 16px;
    color: #fb611a;
    margin: 10px 0;
}
.list-store-main h3 span {
    color: #000;
}
.form-group {
    position: relative;
}
.form-flex {
    display: flex;
    justify-content: space-between;
    margin-bottom: 12px;
}
.form-group .form-control {
    border: 1px solid #999;
    border-radius: 6px;
    min-height: 45px;
    color: #242424;
    font-size: 16px;
    width: 100%;
    padding: 0 10px;
}
.form-group .form-column-2, #listStoreMainToBrand.list-store-main .frm-store select {
    width: 49%;
}
.form-group .form-column-2, listStoreMainEx.list-store-main .frm-store select {
    padding: 0 0px;
    font-size: 12px;
    min-height: 32px;
}
.showmore {
    text-align: center;
    margin: 5px 0;
}
.loadmore {
    background-color: #f25d23;
    font-family: 'SanFranciscoDisplay-Medium';
    font-size: 15px;
    border: 1px solid #f25d23;
    border-radius: 16px;
    padding: 5px 10px;
    cursor: pointer;
    color: #FFF!important;
}
.store-address {
    border-top: 1px solid #e3e3e3;
    padding: 10px 0px 10px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}
.store-address .address h5 {
    font-size: 14px;
    color: #000;
    font-weight: bold;
    margin: 0 0 6px 0;
}
.store-address .address p {
    font-size: 14px;
    color: #000;
    font-weight: normal;
    margin-bottom: 3px;
}
@media screen and (max-width: 640px) {

}
@media screen and (max-width: 600px) {
    .row-column-mobile {
        flex-direction: column;
    }
    .info .row-column-mobile .col-left {
        margin-right: 0;
    }
    .info .row-column-mobile .col-right {
        margin-left: 0;
    }
    .info .row #fullname {
        width: 100%;
    }
    .info .row #phone {
        width: 100%;
    }
}
@media screen and (max-width: 540px) {

}
/*Samsung*/
@media screen and (max-width: 480px) {
    .info {
        padding: 0 20px;
        margin: 10px 0 0 0;
    }
    .info .row p {
        padding-left: 0 !important;
    }
    .info .row .col-200 {
        min-width: 170px;
    }
    .info .row .inputtext {
        font-size: 16px;
    }
    .footer {
        margin: 0 20px;
    }
}
/*iPhone 6 Plus,6s Plus,7 Plus,8 Plus,XS MAX,XR*/
@media screen and (max-width: 414px) {
    .header {
        height: 50px;
    }
    .info .row p, .info-content strong {
        font-size: 14px;
    }
    .info .row p span.color-red {
        font-size: 14px;
    }
    .info .row label {
        font-size: 14px;
    }
    .info .row label em {
        font-size: 12px;
    }
    .info .row p em {
        font-size: 12px;
    }
    .info .row .col-200 {
        min-width: 150px;
    }
    .info .row .item label {
        font-size: 14px;
    }
    .info .row .agree p {
        font-size: 12px;
    }
    .info .row .inputtext {
        font-size: 14px;
    }
    .info .row input[type='radio']:checked + label:after{
        top: 2px;
    }
}
/*Nexus 4*/
@media screen and (max-width: 384px) {
    .header {
        height: 45px;
    }
    .info .row .col-200 {
        min-width: 140px;
    }
    .info .row .agree p br {
        display: none;
    }
    .info .row .agree p em {
        padding-left: 5px !important;
    }
    .info .row p.call-fontsize-m {
        font-size: 14px !important;
    }
}
/*iPhone 6,6s,7,8,X,XS*/
@media screen and (max-width: 375px) {
    .info .row p span.color-red {
        font-size: 12px;
    }
    .info .row .inputtext {
        height: 32px;
    }
    .info .row .col-auto {
        margin-right: 15px;
    }
    .info .row p.call-fontsize-m {
        font-size: 12px !important;
    }
}
/*Samsung*/
@media screen and (max-width: 360px) {
    .info .row label {
        font-size: 12px;
    }
    .info .row .item label {
        font-size: 12px;
    }
    .info .row p span {
        margin: 0;
    }
}
@media screen and (max-width: 320px) {
    .info {
        padding: 0 15px;
    }
    .info .row .col-200 {
        min-width: 130px;
    }
    .info .row p span.color-red {
        font-size: 11px;
    }
    .info .row label {
        font-size: 10px;
    }
    .info .row label em {
        font-size: 10px;
    }
    .info .row .condition {
        margin: 5px auto;
    }
    .nano .nano-content {
        padding: 10px;
    }
    .footer {
        margin: 0 15px;
    }
    .footer .right a {
        font-size: 14px;
    }
}
