* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

html, body {
  border: 0;
  background-color: #fff; }

html {
  -webkit-overflow-scrolling: touch;
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: 100%; }

html {
  height: -webkit-fill-available; }

img {
  max-width: 100%; }

body {
  font-family: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  color: #2E2E2E;
  line-height: 18.2px;
  font-size: 14px;
  overflow-x: hidden;
  background: #FFF;
  position: initial; }

:after, :before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

article, aside, details, figcaption, figure, dialog, footer, header, hgroup, menu, nav, section {
  display: block; }

h1, h2, h3, h4, h5, h6 {
  margin: 0 0 13px 0;
  font-weight: bold;
  line-height: 1.2; }

img {
  max-width: 100%; }

a {
  color: #2E2E2E;
  text-decoration: none;
  outline: none;
  -moz-transition: none;
  -o-transition: none;
  -webkit-transition: none;
  transition: none; }

a:hover, a:focus {
  color: #2E2E2E;
  text-decoration: none;
  outline: none; }

a:active {
  outline: none; }

strong {
  font-weight: 700; }

em {
  font-style: italic; }

textarea {
  resize: none; }

ul, ol {
  padding: 0;
  margin: 0;
  list-style-type: none; }

.d-none {
  display: none !important; }

input[type="checkbox"],
input[type="radio"] {
  margin-top: 0;
  vertical-align: top;
  width: 18px;
  height: 18px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  margin: 0 5px 0 0;
  cursor: pointer;
  outline: 0 !important; }
  @media (max-width: 1199.98px) {
    input[type="checkbox"],
    input[type="radio"] {
      background: none;
      border: none; } }
  input[type="checkbox"]:after,
  input[type="radio"]:after {
    content: "";
    position: absolute;
    left: 0px;
    right: 0;
    bottom: 0;
    top: 0;
    margin: auto;
    width: 18px;
    height: 18px;
    background: #fff;
    border: 1px solid #C6CBD0;
    cursor: pointer; }
  input[type="checkbox"]:before,
  input[type="radio"]:before {
    -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
    -moz-transition: -moz-transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
    transition: transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
    -webkit-transform: rotate(-45deg) scale(0, 0);
    -moz-transform: rotate(-45deg) scale(0, 0);
    -ms-transform: rotate(-45deg) scale(0, 0);
    -o-transform: rotate(-45deg) scale(0, 0);
    transform: rotate(-45deg) scale(0, 0);
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 5px;
    margin: auto;
    z-index: 1;
    width: 10px;
    height: 5px;
    border: 1px solid #fff;
    border-top-style: none;
    border-right-style: none; }
  input[type="checkbox"]:checked:after,
  input[type="radio"]:checked:after {
    background-color: #2E2E2E;
    border-color: transparent; }
  input[type="checkbox"]:checked:before,
  input[type="radio"]:checked:before {
    -webkit-transform: rotate(-45deg) scale(1, 1);
    -moz-transform: rotate(-45deg) scale(1, 1);
    -ms-transform: rotate(-45deg) scale(1, 1);
    -o-transform: rotate(-45deg) scale(1, 1);
    transform: rotate(-45deg) scale(1, 1); }

#checkout_web {
  padding: 0 0 200px 0; }
  #checkout_web .required-policy-web {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 15px 0; }
    #checkout_web .required-policy-web.warning {
      color: red; }
      #checkout_web .required-policy-web.warning input {
        border-color: red; }
    #checkout_web .required-policy-web label {
      cursor: pointer; }
      @media (max-width: 991px) {
        #checkout_web .required-policy-web label {
          max-width: calc(100% - 30px); } }
  #checkout_web .wrap-header {
    width: 100%;
    padding: 0 80px; }
    @media (max-width: 991px) {
      #checkout_web .wrap-header {
        padding: 16px; } }
    #checkout_web .wrap-header #checkout-header {
      display: flex;
      justify-content: center;
      align-items: center;
      height: 56px;
      position: relative; }
      @media (max-width: 991px) {
        #checkout_web .wrap-header #checkout-header {
          height: auto;
          flex-direction: column;
          gap: 16px; } }
      #checkout_web .wrap-header #checkout-header > a > svg {
        position: absolute;
        top: 11px;
        left: 0;
        height: 30px;
        width: 150px;
        cursor: pointer; }
        #checkout_web .wrap-header #checkout-header > a > svg path {
          fill: #000; }
        @media (max-width: 991px) {
          #checkout_web .wrap-header #checkout-header > a > svg {
            position: relative;
            top: 0;
            left: 0; } }
      #checkout_web .wrap-header #checkout-header .breadcrumb {
        display: flex;
        justify-content: center;
        margin: 0;
        padding: 0;
        list-style-type: none; }
        #checkout_web .wrap-header #checkout-header .breadcrumb .breadcrumb-item {
          text-transform: uppercase; }
          #checkout_web .wrap-header #checkout-header .breadcrumb .breadcrumb-item:not(:last-child) {
            padding-right: 24px; }
          #checkout_web .wrap-header #checkout-header .breadcrumb .breadcrumb-item a {
            color: #2e2e2e; }
          #checkout_web .wrap-header #checkout-header .breadcrumb .breadcrumb-item svg {
            vertical-align: bottom;
            margin-left: 15px; }
        #checkout_web .wrap-header #checkout-header .breadcrumb .breadcrumb-item-current {
          font-weight: bold; }
  #checkout_web .wrap-action-bottom {
    display: flex;
    justify-content: center;
    padding: 32px 0;
    background-color: #F0F0F0;
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 9; }
    @media (max-width: 991px) {
      #checkout_web .wrap-action-bottom {
        padding: 16px 0;
        gap: 8px; } }
    #checkout_web .wrap-action-bottom a {
      color: #2e2e2e;
      background-color: #FFFFFF;
      text-transform: uppercase;
      min-width: 330px;
      padding: 19px 10px;
      letter-spacing: 1px;
      text-align: center;
      font-weight: 700;
      margin-right: 24px;
      border-radius: 0; }
      @media (max-width: 991px) {
        #checkout_web .wrap-action-bottom a {
          min-width: auto;
          margin-right: 0;
          padding: 19px 10px; } }
    #checkout_web .wrap-action-bottom button {
      color: #FFFFFF;
      background-color: #2E2E2E;
      text-transform: uppercase;
      min-width: 330px;
      padding: 19px 10px;
      letter-spacing: 1px;
      text-align: center;
      font-weight: 700;
      border-radius: 0;
      cursor: pointer;
      border: none; }
      @media (max-width: 991px) {
        #checkout_web .wrap-action-bottom button {
          min-width: auto;
          margin-right: 0;
          padding: 19px 10px; } }
  #checkout_web .layout-content {
    width: 100%;
    padding: 60px 80px 0 80px;
    display: flex; }
    @media (max-width: 991px) {
      #checkout_web .layout-content {
        flex-direction: column;
        padding: 0 15px;
        gap: 30px; } }
    #checkout_web .layout-content .left-column {
      width: 65%;
      padding-right: 80px; }
      @media (max-width: 991px) {
        #checkout_web .layout-content .left-column {
          width: 100%;
          padding-right: 0;
          order: 2; } }
    #checkout_web .layout-content .right-column {
      width: 35%; }
      @media (max-width: 991px) {
        #checkout_web .layout-content .right-column {
          width: 100%; } }
    #checkout_web .layout-content .title-layout {
      font-size: 16px;
      line-height: 21px;
      font-weight: 700;
      text-transform: uppercase; }
    #checkout_web .layout-content .customer-info .customer-logged {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin: 16px 0; }
      @media (max-width: 991px) {
        #checkout_web .layout-content .customer-info .customer-logged {
          align-items: start;
          flex-direction: column;
          gap: 10px; } }
      #checkout_web .layout-content .customer-info .customer-logged .group-info {
        display: flex;
        gap: 16px;
        align-items: center; }
        #checkout_web .layout-content .customer-info .customer-logged .group-info .box-avatar {
          width: 80px;
          height: 80px;
          background: #F7F8F9;
          border-radius: 100%;
          display: flex;
          align-items: center;
          justify-content: center;
          line-height: 80px;
          text-align: center;
          font-size: 36px;
          font-weight: bold; }
        #checkout_web .layout-content .customer-info .customer-logged .group-info .name-customer {
          width: 100%;
          font-size: 16px;
          font-weight: 700;
          line-height: 20.8px; }
        #checkout_web .layout-content .customer-info .customer-logged .group-info .email-customer {
          margin-top: 4px;
          font-weight: 400; }
      #checkout_web .layout-content .customer-info .customer-logged .group-action a {
        font-size: 14px;
        font-style: normal;
        font-weight: 700;
        line-height: 18.2px;
        text-decoration: underline;
        color: #2E2E2E; }
    #checkout_web .layout-content .customer-info .customer-guest {
      margin: 16px 0; }
      #checkout_web .layout-content .customer-info .customer-guest a {
        font-size: 14px;
        font-style: normal;
        font-weight: 700;
        line-height: 18.2px;
        text-decoration: underline;
        color: #2E2E2E; }
    #checkout_web .layout-content .form-shipping-customer {
      display: flex;
      flex-direction: column;
      gap: 16px; }
      #checkout_web .layout-content .form-shipping-customer .group-input-form {
        display: flex;
        justify-content: space-between; }
        #checkout_web .layout-content .form-shipping-customer .group-input-form .input-form {
          width: 48%; }
        #checkout_web .layout-content .form-shipping-customer .group-input-form.no-logged {
          flex-wrap: wrap; }
          #checkout_web .layout-content .form-shipping-customer .group-input-form.no-logged .input-form-fullname {
            width: 100%;
            margin: 0 0 16px 0; }
      #checkout_web .layout-content .form-shipping-customer .group-type-shipping {
        display: flex;
        align-items: center;
        gap: 30px; }
        #checkout_web .layout-content .form-shipping-customer .group-type-shipping .input-type-ship {
          display: flex;
          align-items: center;
          gap: 8px; }
          #checkout_web .layout-content .form-shipping-customer .group-type-shipping .input-type-ship label {
            font-weight: bold; }
      #checkout_web .layout-content .form-shipping-customer .type-delivery {
        display: flex;
        align-items: center;
        justify-content: space-between; }
        #checkout_web .layout-content .form-shipping-customer .type-delivery .input-type-delivery {
          width: 48%;
          display: flex;
          align-items: center;
          gap: 8px; }
          #checkout_web .layout-content .form-shipping-customer .type-delivery .input-type-delivery label {
            font-weight: bold; }
      #checkout_web .layout-content .form-shipping-customer .input-form {
        display: flex;
        flex-direction: column;
        gap: 8px;
        width: 100%; }
        #checkout_web .layout-content .form-shipping-customer .input-form.disabled input {
          cursor: none;
          pointer-events: none;
          background: #efefef;
          opacity: 0.7; }
        #checkout_web .layout-content .form-shipping-customer .input-form .error-input-empty {
          color: red;
          font-size: 12px;
          line-height: 16px; }
        #checkout_web .layout-content .form-shipping-customer .input-form label {
          font-size: 12px;
          font-weight: 500;
          line-height: 15.6px;
          letter-spacing: 1px;
          text-transform: uppercase;
          padding: 0;
          color: #999999; }
        #checkout_web .layout-content .form-shipping-customer .input-form input {
          font-size: 14px;
          color: #2E2E2E;
          border-radius: 4px;
          line-height: 14px;
          outline: none;
          box-shadow: none;
          background-image: unset;
          border: 1px solid #868D95;
          padding: 13px !important;
          height: 44px; }
        #checkout_web .layout-content .form-shipping-customer .input-form select {
          font-size: 14px;
          color: #2E2E2E;
          border-radius: 4px;
          line-height: 14px;
          outline: none;
          box-shadow: none;
          background-image: unset;
          border: 1px solid #868D95;
          padding: 13px !important;
          height: 44px; }
    #checkout_web .layout-content .shipping-delivery {
      display: flex;
      flex-direction: column;
      gap: 16px; }
    #checkout_web .layout-content .list-at-store .wrap-at-store {
      margin: 16px 0;
      display: flex;
      flex-direction: column;
      gap: 16px; }
      #checkout_web .layout-content .list-at-store .wrap-at-store .item-at-store {
        display: flex;
        gap: 8px; }
        #checkout_web .layout-content .list-at-store .wrap-at-store .item-at-store .text-at-store .name-store {
          display: block;
          font-size: 16px;
          font-weight: 700;
          line-height: 20.8px; }
        #checkout_web .layout-content .list-at-store .wrap-at-store .item-at-store .text-at-store .address-store {
          font-size: 14px;
          line-height: 18.2px; }
    #checkout_web .layout-content .method-shipping {
      border-top: 1px dashed gray;
      padding: 16px 0 0 0; }
      #checkout_web .layout-content .method-shipping .list-method {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 16px;
        margin: 16px 0 0 0; }
        #checkout_web .layout-content .method-shipping .list-method .content-empty {
          display: none;
          flex-direction: column;
          justify-content: center;
          align-items: center;
          gap: 16px; }
        #checkout_web .layout-content .method-shipping .list-method.empty {
          padding: 40px;
          gap: 16px;
          color: #737373; }
          #checkout_web .layout-content .method-shipping .list-method.empty .content-empty {
            display: flex; }
        #checkout_web .layout-content .method-shipping .list-method .item-method-shipping {
          width: 100%; }
          #checkout_web .layout-content .method-shipping .list-method .item-method-shipping label {
            display: flex;
            align-items: center;
            justify-content: space-between;
            width: 100%;
            font-size: 16px;
            line-height: 21px;
            margin: 0; }
            #checkout_web .layout-content .method-shipping .list-method .item-method-shipping label .checkbox-method {
              display: flex;
              align-items: center;
              gap: 8px; }
              #checkout_web .layout-content .method-shipping .list-method .item-method-shipping label .checkbox-method span {
                font-weight: 600; }
            #checkout_web .layout-content .method-shipping .list-method .item-method-shipping label .price-method {
              font-weight: 500; }
    #checkout_web .layout-content .method-payment {
      border-top: 1px solid #F0F0F0;
      padding: 16px 0 0 0; }
      #checkout_web .layout-content .method-payment .list-method {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 16px;
        margin: 16px 0; }
        #checkout_web .layout-content .method-payment .list-method .item-method-payment {
          width: 100%; }
          #checkout_web .layout-content .method-payment .list-method .item-method-payment.payoo {
            order: 1; }
          #checkout_web .layout-content .method-payment .list-method .item-method-payment.momo {
            order: 2; }
          #checkout_web .layout-content .method-payment .list-method .item-method-payment.vnpay {
            order: 3; }
          #checkout_web .layout-content .method-payment .list-method .item-method-payment.cod {
            order: 4; }
          #checkout_web .layout-content .method-payment .list-method .item-method-payment label {
            display: flex;
            align-items: center;
            width: 100%;
            font-size: 14px;
            line-height: 18.2px;
            margin: 0;
            gap: 8px; }
            #checkout_web .layout-content .method-payment .list-method .item-method-payment label img {
              width: 40px;
              height: 40px; }
            #checkout_web .layout-content .method-payment .list-method .item-method-payment label .text-payment {
              display: flex;
              flex-direction: column; }
              #checkout_web .layout-content .method-payment .list-method .item-method-payment label .text-payment span {
                font-weight: 700; }
              #checkout_web .layout-content .method-payment .list-method .item-method-payment label .text-payment .wrapper-list-small-logo {
                display: flex;
                gap: 4px; }
                #checkout_web .layout-content .method-payment .list-method .item-method-payment label .text-payment .wrapper-list-small-logo img {
                  width: 26px;
                  height: 26px; }
                  #checkout_web .layout-content .method-payment .list-method .item-method-payment label .text-payment .wrapper-list-small-logo img.payme {
                    width: 60px;
                    height: auto;
                    margin: 2px 0 0 0; }
            #checkout_web .layout-content .method-payment .list-method .item-method-payment label .banking-number {
              display: none;
              background: #f6f6f6;
              padding: 12px;
              margin: 5px 0 0 0;
              border-radius: 4px; }
            #checkout_web .layout-content .method-payment .list-method .item-method-payment label input:checked ~ .wrap-info .banking-number {
              display: block; }
    #checkout_web .layout-content .toggle-cart {
      display: flex;
      align-items: center;
      justify-content: space-between;
      cursor: pointer;
      margin-bottom: 16px; }
      #checkout_web .layout-content .toggle-cart.open .title-toggle svg {
        transform: rotate(180deg); }
      #checkout_web .layout-content .toggle-cart .title-toggle {
        display: flex;
        align-items: center;
        gap: 8px; }
        #checkout_web .layout-content .toggle-cart .title-toggle svg {
          display: none;
          transition: all 0.5s ease-in-out; }
          @media (max-width: 991px) {
            #checkout_web .layout-content .toggle-cart .title-toggle svg {
              display: block; } }
        #checkout_web .layout-content .toggle-cart .title-toggle span {
          font-size: 16px;
          line-height: 21px;
          font-weight: 700;
          text-transform: uppercase; }
        #checkout_web .layout-content .toggle-cart .title-toggle .total-main-cart {
          font-size: 20px;
          font-weight: 700;
          line-height: 24px; }
    #checkout_web .layout-content .content-right-column {
      padding: 16px;
      background: #F7F8F9; }
    #checkout_web .layout-content .list-cart-item {
      display: flex;
      flex-direction: column;
      gap: 16px; }
      #checkout_web .layout-content .list-cart-item .loop-item {
        display: flex;
        gap: 16px; }
        #checkout_web .layout-content .list-cart-item .loop-item .box-image {
          width: 100px; }
        #checkout_web .layout-content .list-cart-item .loop-item .box-info {
          width: calc(100% - 100px); }
          #checkout_web .layout-content .list-cart-item .loop-item .box-info .item-brand {
            font-size: 16px;
            font-weight: 700;
            line-height: 20.8px;
            letter-spacing: 1px;
            text-transform: inherit;
            margin: 0 0 4px 0; }
          #checkout_web .layout-content .list-cart-item .loop-item .box-info .item-name {
            overflow: hidden;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            max-height: 36px;
            font-size: 14px;
            line-height: 18.2px;
            margin: 0 0 4px 0;
            font-weight: 400; }
          #checkout_web .layout-content .list-cart-item .loop-item .box-info .item-variant {
            font-size: 12px;
            line-height: 15.6px;
            margin: 0 0 4px 0;
            color: #2E2E2E; }
          #checkout_web .layout-content .list-cart-item .loop-item .box-info .item-quantity {
            font-size: 12px;
            line-height: 15.6px; }
          #checkout_web .layout-content .list-cart-item .loop-item .box-info .item-price {
            margin: 8px 0 0 0;
            font-size: 14px;
            font-weight: 700;
            line-height: 18.2px; }
    #checkout_web .layout-content .note-size {
      border: 1px dashed darkgrey;
      padding: 5px;
      margin: 10px 0;
      background: #efefef;
      font-weight: bold;
      font-size: 12px; }
    #checkout_web .layout-content .group-form-discount {
      display: flex;
      flex-direction: column;
      gap: 8px;
      margin-top: 20px; }
      #checkout_web .layout-content .group-form-discount label {
        font-size: 12px;
        font-weight: 500;
        line-height: 15.6px;
        letter-spacing: 1px;
        text-transform: uppercase;
        padding: 0;
        color: #999999; }
      #checkout_web .layout-content .group-form-discount form {
        display: flex; }
        #checkout_web .layout-content .group-form-discount form input {
          font-size: 14px;
          color: #2E2E2E;
          border-radius: 4px 0 0 4px;
          line-height: 14px;
          outline: none;
          box-shadow: none;
          background-image: unset;
          border: 1px solid #868D95;
          padding: 13px !important;
          height: 44px;
          background-color: white;
          width: 100%;
          display: block;
          box-sizing: border-box; }
        #checkout_web .layout-content .group-form-discount form button {
          margin-left: 0;
          border-radius: 0 4px 4px 0;
          box-shadow: none;
          background-color: #2e2e2e;
          height: 44px;
          align-self: flex-end;
          text-transform: uppercase;
          letter-spacing: 2px;
          font-weight: bold;
          color: #fff;
          border: none;
          padding: 0 1.7em;
          font-size: 12px;
          width: 150px;
          cursor: pointer; }
      #checkout_web .layout-content .group-form-discount .view-api-coupon {
        cursor: pointer;
        display: none;
        gap: 8px;
        align-items: center; }
        #checkout_web .layout-content .group-form-discount .view-api-coupon svg {
          width: 20px;
          height: 20px; }
          #checkout_web .layout-content .group-form-discount .view-api-coupon svg path {
            fill: #2E2E2E; }
        #checkout_web .layout-content .group-form-discount .view-api-coupon span {
          font-size: 12px;
          line-height: 15.6px; }
      #checkout_web .layout-content .group-form-discount .error-coupon {
        font-size: 12px;
        color: red; }
      #checkout_web .layout-content .group-form-discount .success-coupon {
        font-size: 12px;
        color: green; }
    #checkout_web .layout-content .group-form-redeem {
      border-top: 1px solid #F0F0F0;
      margin: 16px 0 0 0;
      padding: 16px 0 0 0; }
      #checkout_web .layout-content .group-form-redeem .head-redeem {
        margin: 0 0 8px 0; }
        #checkout_web .layout-content .group-form-redeem .head-redeem .text-head {
          font-size: 15px; }
        #checkout_web .layout-content .group-form-redeem .head-redeem .text-subhead {
          font-weight: 300;
          font-size: 12px; }
      #checkout_web .layout-content .group-form-redeem .wrap-redeem label {
        font-size: 12px; }
      #checkout_web .layout-content .group-form-redeem .wrap-redeem form {
        display: flex; }
        #checkout_web .layout-content .group-form-redeem .wrap-redeem form input {
          font-size: 14px;
          color: #2E2E2E;
          border-radius: 4px 0 0 4px;
          line-height: 14px;
          outline: none;
          box-shadow: none;
          background-image: unset;
          border: 1px solid #868D95;
          padding: 13px !important;
          height: 44px;
          background-color: white;
          width: 100%;
          display: block;
          box-sizing: border-box; }
        #checkout_web .layout-content .group-form-redeem .wrap-redeem form button {
          margin-left: 0;
          border-radius: 0 4px 4px 0;
          box-shadow: none;
          background-color: #2e2e2e;
          height: 44px;
          align-self: flex-end;
          text-transform: uppercase;
          letter-spacing: 2px;
          font-weight: bold;
          color: #fff;
          border: none;
          padding: 0 1.7em;
          font-size: 12px;
          width: 150px;
          cursor: pointer; }
    #checkout_web .layout-content .group-total-price {
      margin: 32px 0 0 0;
      display: flex;
      flex-direction: column;
      gap: 8px; }
      #checkout_web .layout-content .group-total-price .line-total {
        display: flex;
        align-items: center;
        justify-content: space-between; }
        #checkout_web .layout-content .group-total-price .line-total.subtotal-price {
          font-weight: bold; }
        #checkout_web .layout-content .group-total-price .line-total.total-price {
          font-weight: bold;
          margin: 8px 0 0 0;
          padding: 16px 0 0 0;
          border-top: 1px solid #F0F0F0;
          font-size: 20px; }
        #checkout_web .layout-content .group-total-price .line-total .title-line {
          display: flex;
          flex-direction: column;
          align-items: start; }
        #checkout_web .layout-content .group-total-price .line-total .group-code-promo {
          display: flex;
          align-items: center;
          gap: 5px;
          border: 1px dashed #202846;
          font-size: 11px;
          padding: 2px 10px;
          background: rgba(23, 23, 23, 0.08);
          color: #000000;
          font-weight: bold;
          border-radius: 4px;
          justify-content: space-between; }
          #checkout_web .layout-content .group-total-price .line-total .group-code-promo .code-clear, #checkout_web .layout-content .group-total-price .line-total .group-code-promo .redeem-clear {
            width: 17px;
            height: 17px;
            border: 1px solid #000;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 100%;
            padding: 4px;
            cursor: pointer;
            background: #fff; }
            #checkout_web .layout-content .group-total-price .line-total .group-code-promo .code-clear img, #checkout_web .layout-content .group-total-price .line-total .group-code-promo .redeem-clear img {
              width: 15px;
              height: 15px; }
      #checkout_web .layout-content .group-total-price .line_pt .line_pt_title {
        display: -webkit-flex;
        display: flex;
        justify-content: space-between; }
        #checkout_web .layout-content .group-total-price .line_pt .line_pt_title span:first-child {
          display: inline-flex;
          align-items: center;
          gap: 5px;
          cursor: pointer; }
          #checkout_web .layout-content .group-total-price .line_pt .line_pt_title span:first-child svg {
            width: 15px;
            height: 15px; }
      #checkout_web .layout-content .group-total-price .line_pt .line_pt_body {
        display: none;
        padding: 7px 0 5px 16px; }
    #checkout_web .layout-content .note-cart-checkout {
      margin: 20px 0 0 0;
      display: flex;
      flex-direction: column;
      align-items: start; }
      #checkout_web .layout-content .note-cart-checkout .head-note {
        margin-bottom: 4px;
        font-size: 12px;
        text-transform: uppercase;
        color: #868D95; }
      #checkout_web .layout-content .note-cart-checkout #note-input {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        box-shadow: none;
        outline: none;
        width: 100%;
        height: 90px;
        border: 1px solid #868D95;
        border-radius: 4px;
        padding: 13px 16px;
        font-size: 14px;
        line-height: 18.2px; }
      #checkout_web .layout-content .note-cart-checkout .save-note-checkout {
        background-color: #2E2E2E;
        text-transform: uppercase;
        padding: 15px 20px;
        letter-spacing: 1px;
        border-radius: 0;
        color: #fff;
        width: auto;
        border-radius: 4px;
        font-weight: bold;
        margin: 10px 0 0 auto;
        font-size: 12px;
        cursor: pointer; }

.loading-ovl {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.75);
  z-index: 10000;
  display: flex;
  justify-content: center;
  align-items: center;
  visibility: hidden;
  opacity: 0;
  flex-direction: column; }
  .loading-ovl.open {
    visibility: visible;
    opacity: 1; }
  .loading-ovl .load-3 .line:nth-last-child(1) {
    animation: loadingC .6s .1s linear infinite; }
  .loading-ovl .load-3 .line:nth-last-child(2) {
    animation: loadingC .6s .2s linear infinite; }
  .loading-ovl .load-3 .line:nth-last-child(3) {
    animation: loadingC .6s .3s linear infinite; }
  .loading-ovl .load-3 .line {
    display: inline-block;
    width: 15px;
    height: 15px;
    border-radius: 15px;
    background-color: #222; }

.loading-ovl-first {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #ffffff;
  z-index: 10000;
  display: flex;
  justify-content: center;
  align-items: center;
  visibility: hidden;
  opacity: 0;
  flex-direction: column; }
  .loading-ovl-first.open {
    visibility: visible;
    opacity: 1; }
  .loading-ovl-first .load-3 .line:nth-last-child(1) {
    animation: loadingC .6s .1s linear infinite; }
  .loading-ovl-first .load-3 .line:nth-last-child(2) {
    animation: loadingC .6s .2s linear infinite; }
  .loading-ovl-first .load-3 .line:nth-last-child(3) {
    animation: loadingC .6s .3s linear infinite; }
  .loading-ovl-first .load-3 .line {
    display: inline-block;
    width: 15px;
    height: 15px;
    border-radius: 15px;
    background-color: #222; }

@keyframes loadingC {
  0 {
    transform: translate(0, 0); }
  50% {
    transform: translate(0, 15px); }
  100% {
    transform: translate(0, 0); } }

#noti-modal {
  width: 500px;
  padding: 30px;
  border-radius: 4px;
  text-align: center; }
  #noti-modal .head-modal {
    font-size: 20px;
    font-weight: bold;
    margin: 0 0 10px 0; }

#modalOtp,
#modalPrice {
  width: 100%;
  max-width: 500px; }
  #modalOtp h4,
  #modalPrice h4 {
    font-size: 20px;
    margin: 0 0 10px 0; }
  #modalOtp p,
  #modalPrice p {
    font-size: 14px;
    margin: 0 0 20px 0; }

#modalOtp #submitOtp {
  position: relative; }
  #modalOtp #submitOtp input {
    width: 100%;
    border: 1px solid gray;
    height: 40px;
    border-radius: 4px;
    padding: 5px 10px;
    outline: none;
    box-shadow: none; }
  #modalOtp #submitOtp button {
    position: absolute;
    right: 0;
    height: 40px;
    width: 120px;
    background: #000;
    color: #fff;
    border-radius: 0 4px 4px 0; }

#modalOtp .warning-otp {
  margin-top: 15px; }
  #modalOtp .warning-otp.red {
    color: red; }
  #modalOtp .warning-otp.green {
    color: green; }

#couponModal {
  width: 500px;
  padding: 0;
  border-radius: 4px; }
  #couponModal button.fancybox-button.fancybox-close-small {
    padding: 12px;
    background: rgba(23, 23, 23, 0.09);
    border-radius: 4px;
    right: 5px;
    top: 5px;
    width: 40px;
    height: 40px; }
  #couponModal .coupon-list-wrapper {
    padding: 0;
    max-width: 700px;
    font-family: 'Segoe UI', sans-serif; }
    #couponModal .coupon-list-wrapper .title {
      color: #111827;
      padding: 16px;
      text-align: center;
      font-size: 16px;
      line-height: 20.4px;
      font-weight: 600;
      border-bottom: 1px solid rgba(23, 23, 23, 0.14);
      margin: 0; }
    #couponModal .coupon-list-wrapper .list-inner-coupon {
      overflow: auto;
      max-height: 500px;
      margin: 10px 0; }
    #couponModal .coupon-list-wrapper .loadmore-modal {
      text-align: center;
      margin: 0 0 16px 0; }
      #couponModal .coupon-list-wrapper .loadmore-modal button {
        color: #FFFFFF;
        background-color: #000000;
        text-transform: uppercase;
        min-width: 330px;
        padding: 12px;
        letter-spacing: 1px;
        text-align: center;
        font-weight: 700;
        margin-right: 24px;
        border-radius: 4px;
        cursor: pointer;
        border: none;
        outline: none;
        box-shadow: none;
        display: inline-block; }
    #couponModal .coupon-list-wrapper .coupon-list {
      display: flex;
      flex-direction: column;
      gap: 1rem; }
    #couponModal .coupon-list-wrapper .coupon-card {
      display: flex;
      justify-content: space-between;
      background: rgba(213, 225, 246, 0.56);
      border-left: 6px solid #4f46e5;
      border-radius: 10px;
      padding: 1rem 1.2rem;
      box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
      transition: transform 0.2s;
      cursor: pointer; }
      #couponModal .coupon-list-wrapper .coupon-card.disabled {
        opacity: 0.4;
        cursor: no-drop; }
      #couponModal .coupon-list-wrapper .coupon-card.selected {
        background: rgba(128, 165, 244, 0.3); }
        #couponModal .coupon-list-wrapper .coupon-card.selected .confirm-svg svg:nth-child(1) {
          display: none; }
        #couponModal .coupon-list-wrapper .coupon-card.selected .confirm-svg svg:nth-child(2) {
          display: inherit; }
      #couponModal .coupon-list-wrapper .coupon-card .confirm-svg svg:nth-child(2) {
        display: none; }
      #couponModal .coupon-list-wrapper .coupon-card .left {
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 4px; }
      #couponModal .coupon-list-wrapper .coupon-card .code {
        font-weight: bold;
        font-size: 1.1rem;
        color: #1d4ed8; }
      #couponModal .coupon-list-wrapper .coupon-card .type {
        font-size: 0.9rem;
        color: #6b7280;
        text-transform: capitalize;
        display: none; }
      #couponModal .coupon-list-wrapper .coupon-card .desc {
        font-size: 1rem;
        color: #111827; }
      #couponModal .coupon-list-wrapper .coupon-card .details {
        font-size: 0.85rem;
        color: #6b7280; }
      #couponModal .coupon-list-wrapper .coupon-card .badge-group {
        margin-top: 6px;
        display: flex;
        gap: 6px; }
        #couponModal .coupon-list-wrapper .coupon-card .badge-group .badge {
          background-color: #e0f2fe;
          color: #0369a1;
          padding: 2px 6px;
          font-size: 0.75rem;
          border-radius: 4px; }
        #couponModal .coupon-list-wrapper .coupon-card .badge-group .badge.red {
          background-color: #fee2e2;
          color: #b91c1c; }
      #couponModal .coupon-list-wrapper .coupon-card .right {
        margin-left: 1rem;
        display: flex;
        justify-content: center;
        align-items: center; }
        #couponModal .coupon-list-wrapper .coupon-card .right .discount {
          font-size: 1.2rem;
          font-weight: bold;
          color: #10b981;
          display: none; }
        #couponModal .coupon-list-wrapper .coupon-card .right .expired {
          font-size: 0.8rem;
          color: red; }
    #couponModal .coupon-list-wrapper .item-coupon {
      padding: 10px 20px; }
      #couponModal .coupon-list-wrapper .item-coupon h4 {
        font-size: 16px; }
    #couponModal .coupon-list-wrapper .footer-modal {
      display: flex;
      align-items: center;
      justify-content: space-between;
      box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.08), 0 -1px 2px rgba(0, 0, 0, 0.08);
      padding: 8px 12px; }
      #couponModal .coupon-list-wrapper .footer-modal .action-footer button {
        padding-top: 16px;
        padding-bottom: 16px;
        width: 180px;
        background: #000;
        border-radius: 8px;
        border: none;
        outline: none;
        box-shadow: none;
        color: #fff;
        font-size: 16px;
        cursor: pointer; }
        #couponModal .coupon-list-wrapper .footer-modal .action-footer button.disabled {
          opacity: 0.4;
          cursor: no-drop; }
    #couponModal .coupon-list-wrapper .empt-coupon {
      padding: 40px;
      text-align: center; }
