.thb-cart-form {
  padding: 40px 1rem;
  margin-inline: auto;
  max-width: 1448px;

  @media screen and (min-width: 768px) {
    padding: 0 0 0 2.25rem;
  }

  @media screen and (min-width: 1440px) {
    padding: 0 2.25rem;
  }

  .cart-items {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 20px;

    @media screen and (min-width: 768px) {
      flex-direction: row;
      justify-content: center;
      align-items: flex-start;
    }

    @media screen and (min-width: 1068px) {
      gap: 3.5rem;
    }

    @media screen and (min-width: 1440px) {
      gap: 88px;
    }

    .thb-cart-form--cart-items {
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      width: 100%;
      gap: 20px;

      @media screen and (min-width: 768px) {
        padding-block: 40px;
      }

      @media screen and (min-width: 1440px) {
        padding-block: 88px;
        gap: 40px;
      }

      .cart-items--title {
        display: flex;
        align-items: flex-end;
        gap: 1rem;

        h1 {
          font-family: var(--font-heading);
          font-size: 28px;
          font-weight: 400;
          line-height: 1;
          text-transform: none;
          letter-spacing: normal;
          color: #1E1E1E;
          margin: 0;
        }

        span {
          font-family: var(--font-heading);
          font-size: 12px;
          font-weight: 400;
          line-height: 1;
          color: #1E1E1E;
        }

        @media screen and (min-width: 1440px) {
          h1 {
            font-size: 50px;
          }

          span {
            font-size: 14px;
            padding-bottom: 4px;
          }
        }
      }

      .cart-items--items {
        display: flex;
        flex-direction: column;
        width: 100%;
        gap: 20px;

        @media screen and (min-width: 1440px) {
          gap: 40px;
        }

        .product-cart-item {
          display: flex;
          flex-direction: row;
          align-items: flex-start;
          gap: 1rem;
          margin: 0;
          border: none;
          border-bottom: 1px solid #A7A8A9;
          padding-bottom: 16px;

          @media screen and (min-width: 1440px) {
            padding-bottom: 40px;
          }

          .product-cart-item-image {
            width: 90px;
            aspect-ratio: 1 / 1;
            flex-shrink: 0;
            padding: 0;

            @media screen and (min-width: 1440px) {
              width: 132px;
            }
          }

          .product-cart-item-info {
            padding: 0;

            .product-cart-item-info--inner {
              display: flex;
              flex-direction: column;
              width: 100%;
              gap: 12px;

              @media screen and (min-width: 1440px) {
                gap: 20px;
              }

              .product-cart-item-info--inner-first {
                display: flex;
                flex-direction: column;
                width: 100%;
                
                @media screen and (min-width: 1440px) {
                  gap: 8px;
                }

                .product-cart-item-title {
                  display: flex;
                  flex-direction: row;
                  justify-content: space-between;
                  align-items: flex-start;
                  width: 100%;
                  gap: 0.5rem;

                  @media screen and (min-width: 1440px) {
                    gap: 1rem;
                  }
                  
                  .cart-product-link {
                    margin: 0;

                    a {
                      font-family: var(--font-heading);
                      font-size: 16px;
                      font-weight: 500;
                      line-height: 1.5;
                      text-transform: none;
                      letter-spacing: normal;
                      color: #1E1E1E;

                      @media screen and (min-width: 1440px) {
                        font-size: 20px;
                        line-height: normal;
                      }
                    }
                  }

                  .remove {
                    width: 24px;
                    height: 24px;
                  }
                }

                .cart-item-stock-notice {
                  font-family: var(--font-heading);
                  font-size: 12px;
                  font-weight: 400;
                  line-height: normal;
                  color: #6E2405;
                  margin: 4px 0 2px;

                  @media screen and (min-width: 1440px) {
                    font-size: 14px;
                    line-height: 1.43;
                    margin: 0 0 -4px;
                  }
                }

                .product-cart-item-options {
                  display: flex;
                  flex-direction: column;
                  font-family: var(--font-heading);
                  font-size: 14px;
                  font-style: normal;
                  font-weight: 400;
                  line-height: 1.43;
                  color: #6D6D6D;
                  margin: 0;

                  @media screen and (min-width: 1440px) {
                    font-size: 16px;
                    line-height: 1.5;
                  }
                }

                .discounts {
                  display: flex;
                  margin: 4px 0 0;

                  @media screen and (min-width: 1440px) {
                    margin:0;
                  }

                  .discounts__discount {
                    font-family: var(--font-heading);
                    font-size: 12px;
                    font-weight: 500;
                    line-height: normal;
                    color: #925B43;
                    margin: 0;

                    svg {
                      flex-shrink: 0;
                      width: 16px;
                      height: 16px;
                      margin: 0;
                    }

                    @media screen and (min-width: 1440px) {
                      font-size: 14px;

                      svg {
                        width: 20px;
                        height: 20px;
                      }
                    }
                  }
                }

                .prosuro-cart-action-wrapper {
                  @media screen and (min-width: 1440px) {
                    margin-top: -8px;
                  }
                }
              }

              .product-cart-item-info--inner-second {
                display: flex;
                flex-direction: row;
                justify-content: var(--justify-content, space-between);
                align-items: flex-end;
                width: 100%;

                .cart-item-sale-price {
                  display: flex;
                  flex-direction: column;
                  justify-content: flex-end;
                  align-items: flex-end;

                  @media screen and (min-width: 1440px) {
                    gap: 4px;
                  }

                  del {
                    text-decoration-line: line-through;
                    text-decoration-thickness: auto;
                    text-decoration-color: #6D6D6D;

                    .amount {
                      font-family: var(--font-heading);
                      font-size: 14px;
                      font-weight: 400;
                      line-height: 1.43;
                      color: #6D6D6D;

                      @media screen and (min-width: 1440px) {
                        font-size: 16px;
                        line-height: 1.5;
                      }
                    }
                  }

                  ins {
                    text-decoration: none;

                    .amount {
                      font-family: var(--font-heading);
                      font-size: 16px;
                      font-weight: 500;
                      line-height: 1.5;
                      color: #1E1E1E;

                      @media screen and (min-width: 1440px) {
                        font-size: 18px;
                        line-height: 1.44;
                      }
                    }
                  }

                  .cart-sale-badge {
                    padding: 4.5px;
                    font-size: 10px;
                    white-space: nowrap;

                    @media screen and (min-width: 1440px) {
                      padding: 6px;
                      font-size: 12px;
                    }
                  }
                }
              }

              .form-notification {
                flex-direction: row;
                justify-content: flex-start;
                align-items: center;
                width: 100%;
                margin: 0;
                gap: 5px;

                svg {
                  flex-shrink: 0;
                  margin: 0;
                }

                .cart-item__error-text {
                  font-family: var(--font-heading);
                  font-size: 12px;
                  font-weight: 400;
                  line-height: normal;
                  color: #c0392b;
                  margin: 0;

                  @media screen and (min-width: 1440px) {
                    font-size: 14px;
                    line-height: 1.43;
                  }
                }
              }
            }
          }
        }

        .thb-cart-form--continue {
          display: none;

          @media screen and (min-width: 768px) {
            display: flex;
            justify-content: center;
            align-items: center;
          }

          a {
            display: inline-flex;
            justify-content: center;
            align-items: center;
            margin-top: 20px;
            padding: 0 5px;
            gap: 16px;

            .back_arrow {
              display: block;
              width: 10px;
              height: 10px;
              transform: rotate(45deg);
              border-left: 2px solid #1E1E1E;
              border-bottom: 2px solid #1E1E1E;
            }

            .back_to_shop {
              font-family: var(--font-heading);
              font-size: 16px;
              font-weight: 500;
              line-height: 1.5;
              color: #1E1E1E;

              @media screen and (min-width: 1440px) {
                font-size: 18px;
                line-height: 1.44;
              }
            }

            @media screen and (min-width: 1440px) {
              margin-top: 40px;
            }
          }
        }
      }
    }

    .thb-cart-form--cart-collaterals {
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      align-items: center;
      align-self: stretch;
      width: 100%;

      @media screen and (min-width: 768px) {
        max-width: 516px;
      }

      .cart-collaterals {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        padding: 40px 16px 20px;
        width: 100%;
        gap: 24px;
        background: #EFECE8;

        @media screen and (min-width: 1068px) {
          padding: 40px 40px 20px;
        }

        @media screen and (min-width: 1440px) {
          padding: 88px 40px 40px;
          gap: 28px;
        }

        .collaterals {
          display: flex;
          flex-direction: row;
          justify-content: space-between;
          align-items: flex-end;
          width: 100%;
          gap: 8px;
          border-bottom: 1px solid #A7A8A9;
          padding-bottom: 4px;

          @media screen and (min-width: 1440px) {
            padding-bottom: 8px;
          }

          h3 {
            font-family: var(--font-heading);
            font-size: 16px;
            font-weight: 500;
            line-height: normal;
            letter-spacing: 1.6px;
            text-transform: uppercase;
            color: #1E1E1E;
            margin: 0;

            @media screen and (min-width: 1440px) {
              font-size: 20px;
              line-height: 1.4;
            }
          }

          .cart-total {
            display: flex;
            flex-direction: row;
            justify-content: flex-end;
            align-items: center;
            gap: 8px;

            .cart-subtotal {
              font-family: var(--font-heading);
              font-size: 20px;
              font-weight: 500;
              line-height: normal;
              color: #1E1E1E;

              @media screen and (min-width: 1440px) {
                font-size: 24px;
                line-height: 1.27;
              }
            }

            .cart-original-price {
              font-family: var(--font-heading);
              font-size: 14px;
              font-weight: 400;
              line-height: 1.43;
              text-decoration-line: line-through;
              text-decoration-thickness: auto;
              text-decoration-color: #1E1E1E;
              color: #1E1E1E;

              @media screen and (min-width: 1440px) {
                font-size: 16px;
                line-height: 1.5;
              }
            }
          }
        }

        .cart-discount {
          display: flex;
          flex-direction: row;
          justify-content: space-between;
          align-items: center;
          width: 100%;
          gap: 10px;

          h3 {
            flex: 1;
            font-family: var(--font-heading);
            font-size: 16px;
            font-weight: 500;
            line-height: 1.5;
            text-transform: none;
            letter-spacing: normal;
            color: #1E1E1E;
            margin: 0;

            @media screen and (min-width: 1440px) {
              font-size: 18px;
              line-height: normal;
            }
          }

          .cart-discount-amount {
            font-family: var(--font-heading);
            font-size: 16px;
            font-weight: 700;
            line-height: 1.5;
            color: #007198;

            @media screen and (min-width: 1440px) {
              font-size: 18px;
              font-weight: 500;
              line-height: normal;
            }
          }
        }

        .cart-shipping-info {
          display: flex;
          flex-direction: column;
          width: 100%;

          @media screen and (min-width: 1440px) {
            gap: 2px;
          }

          .cart-free-shipping {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            align-items: center;
            width: 100%;
            gap: 10px;

            h3 {
              flex: 1;
              font-family: var(--font-heading);
              font-size: 16px;
              font-weight: 500;
              line-height: 1.5;
              text-transform: none;
              letter-spacing: normal;
              color: #1E1E1E;
              margin: 0;

              @media screen and (min-width: 1440px) {
                font-size: 18px;
                line-height: normal;
              }
            }

            .cart-free-shipping-text {
              font-family: var(--font-heading);
              font-size: 14px;
              font-weight: 500;
              line-height: 1.43;
              letter-spacing: 1.233px;
              text-transform: uppercase;
              color: #1E1E1E;

              @media screen and (min-width: 1440px) {
                font-size: 16px;
                line-height: normal;
                letter-spacing: 1.6px;
              }
            }
          }

          .cart-delivery-estimate {
            p {
              font-family: var(--font-heading);
              font-size: 14px;
              font-weight: 400;
              line-height: 1.43;
              color: #676767;
              margin: 0;

              @media screen and (min-width: 1440px) {
                font-size: 16px;
                line-height: 1.5;
              }

              span {
                font-weight: 500;
              }
            }
          }
        }

        .cart-policy-text {
          display: flex;
          flex-direction: row;
          justify-content: space-between;
          align-items: center;
          width: 100%;
          gap: 10px;

          h3 {
            flex: 1;
            font-family: var(--font-heading);
            font-size: 16px;
            font-weight: 500;
            line-height: 1.5;
            text-transform: none;
            letter-spacing: normal;
            color: #1E1E1E;
            margin: 0;

            @media screen and (min-width: 1440px) {
              font-size: 18px;
              line-height: normal;
            }
          }

          span {
            font-family: var(--font-heading);
            font-size: 14px;
            font-weight: 400;
            line-height: 1.43;
            color: #1E1E1E;

            @media screen and (min-width: 1440px) {
              font-size: 16px;
              line-height: 1.5;
            }
          }
        }

        .cart-form-installment {
          font-size: 12px;
          font-weight: 400;
          color: #676767;

          @media screen and (min-width: 1440px) {
            font-size: 14px;
          }
        }

        .proceed-to-checkout {
          font-family: var(--font-heading);
          color: #1E1E1E;
          margin-top: -10px;
        }

        .additional-checkout-buttons {
          margin-top: 12px;
        }

        .truemed-instructions {
          .truemed-entry-box {
            justify-content: center !important;
          }
        }
      }

      .cart-benefits {
        display: flex;
        flex-direction: column;
        align-items: center;
        flex: 1;
        padding: 40px 16px;
        margin: 0;
        width: 100%;
        gap: 24px;
        background: var(--cart-benefits-bg-color);
        text-align: center;

        @media screen and (min-width: 1068px) {
          padding: 40px;
        }

        @media screen and (min-width: 1440px) {
          gap: 28px;
        }

        .cart-benefits-heading {
          font-family: var(--font-heading);
          font-size: 26px;
          font-weight: 500;
          line-height: normal;
          text-transform: none;
          letter-spacing: normal;
          color: #1E1E1E;
          margin: 0;
        }

        .cart-benefits-grid {
          display: flex;
          flex-wrap: wrap;
          justify-content: center;
          column-gap: 8px;
          row-gap: 20px;
          padding: 0 16px;
          width: 100%;

          @media screen and (min-width: 1068px) {
            padding: 0;
          }

          .cart-benefit {
            display: flex;
            flex-direction: column;
            align-items: center;
            flex: 0 0 calc(50% - 4px);

            @media screen and (min-width: 1068px) {
              flex: 0 0 calc(25% - 6px);
            }

            .cart-benefit-icon {
              margin-bottom: 10px;

              svg {
                width: 60px;
                height: 60px;
              }
            }

            .cart-benefit-text {
              font-family: var(--font-heading);
              font-size: 12px;
              font-weight: 500;
              line-height: normal;
              color: #1E1E1E;
              max-width: 125px;
              margin: 0;

              @media screen and (min-width: 1440px) {
                font-size: 14px;
              }
            }
          }
        }

        .cart-benefits-disclaimer {
          display: flex;
          flex-direction: column;
          align-items: center;
          gap: 4px;

          @media screen and (min-width: 1440px) {
           flex-direction: row; 
          }

          p {
            font-family: var(--font-heading);
            font-size: 11px;
            font-weight: 400;
            line-height: 1.27;
            color: #1E1E1E;
            margin: 0;
          }
        }

        .cart-contact-section {
          display: flex;
          flex-direction: column;
          align-items: center;
          padding: 28px 20px;
          width: 100%;
          gap: 14px;
          background: #FFFFFF;

          @media screen and (min-width: 1068px) {
            padding: 28px 40px;
            max-width: 340px;
          }

          @media screen and (min-width: 1440px) {
            padding: 32px 40px;
            gap: 20px;
          }

          h3 {
            font-family: var(--font-heading);
            font-size: 26px;
            font-weight: 500;
            line-height: normal;
            text-transform: none;
            letter-spacing: normal;
            color: #1E1E1E;
            margin: 0;
          }

          h4 {
            font-family: var(--font-heading);
            font-size: 16px;
            font-weight: 500;
            line-height: 1.5;
            text-transform: none;
            letter-spacing: normal;
            color: #1E1E1E;
            margin: 0;
          }

          p {
            font-family: var(--font-heading);
            font-size: 14px;
            font-weight: 400;
            line-height: 1.43;
            color: #1E1E1E;
            margin: 0;

            @media screen and (min-width: 1440px) {
              font-size: 16px;
              line-height: 1.5;
            }

            a {
              text-decoration: underline;
              color: #1E1E1E;
            }
          }
        }

        .cart-legal-links {
          display: flex;
          flex-direction: row;
          justify-content: center;
          gap: 8px;

          a {
            font-family: var(--font-heading);
            font-size: 12px;
            font-weight: 400;
            line-height: normal;
            text-decoration-line: underline;
            color: #1E1E1E;

            @media screen and (min-width: 1440px) {
              font-size: 14px;
              line-height: 1.43;
            }
          }
        }
      }
    }
  }

  .cart-empty {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    text-align: center;
    padding: 0;
    width: 100%;
    gap: 20px;

    @media screen and (min-width: 768px) {
      padding: 56px 2.25rem 56px 0;
    }

    @media screen and (min-width: 1440px) {
      min-height: 700px;
      padding: 88px 0;
    }

    h1 {
      font-family: var(--font-heading);
      font-size: 28px;
      font-weight: 400;
      line-height: 1.57;
      text-transform: none;
      letter-spacing: normal;
      color: #1E1E1E;
      margin: 0;

      @media screen and (min-width: 1440px) {
        font-size: 50px;
        line-height: normal;
      }
    }

    h2 {
      font-family: var(--font-heading);
      font-size: 16px;
      font-weight: 500;
      line-height: 1.5;
      text-transform: none;
      letter-spacing: normal;
      max-width: 334px;
      color: #6D6D6D;
      margin: 0;

      @media screen and (min-width: 768px) {
        font-size: 18px;
        line-height: 1.44;
      }

      @media screen and (min-width: 1440px) {
        font-size: 22px;
        line-height: normal;
        max-width: 382px;
      }
    }

    svg {
      flex-shrink: 0;
      width: 48px;
      height: 48px;
      margin-block: 20px;
    }
  }
}
