.elvtd-additional-products {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 24px;
  margin-bottom: 24px;

  & + .elvtd-additional-products {
    margin-top: 16px;
  }

  .additional-product-item {
    display: flex;
    flex-direction: column;
    padding: 12px 24px;
    border: 1px solid #D3D3D3;
    border-radius: 20px;
    color: #000;
    gap: 8px;

    @media(max-width: 767px) {
      padding: 12px;
    }

    h3 {
      font-size: 1em;
      font-weight: 500;
      margin: 0;
      text-align: left;

      @media(max-width: 1024px) {
        font-size: .8em;
        width: 100%;
      }
    }

    .additional-products-modal-btn {
      font-size: 18px;
      color: #808080;
      cursor: pointer;
      text-decoration: underline;
      flex-shrink: 0;

      @media(max-width: 1024px) {
        /* width: 100%; */
        font-size: 14px;
      }
    }

    .additional-product-info {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: start;
      gap: 12px;
      cursor: pointer;

      @media(max-width: 767px) {
        gap: 8px;
      }

      input[type=checkbox] {
        display: none;
      }

      label {
        display: flex;
        flex-direction: row;
        justify-content: start;
        align-items: center;
        gap: 12px;

        .additional-product-checkbox {
          width: 26px;
          height: 26px;
          flex-shrink: 0;
          background: var(--base-heading-bg-color);
          border-radius: 50px;
          position: relative;
          cursor: pointer;
        }

        input[type=checkbox] + .additional-product-checkbox {
          &:after {
            content: "";
            position: absolute;
            top: 3px;
            left: 3px;
            width: 20px;
            height: 20px;
            background: #fff;
            border-radius: 30px;
            transition: .2s;
          }
        }

        &:hover {
          input[type=checkbox] + .additional-product-checkbox:after {
            background: #f1ccd0;
          }
        }
        input[type=checkbox]:checked + .additional-product-checkbox {
          &:after {
            border: 3px solid #FFF;
            background: var(--base-heading-bg-color);
          }
        }

        .additional-product-title {
          margin: 0;
          font-size: 18px;
          font-weight: 400;
          line-height: 1.3;
          cursor: pointer;

          @media(max-width: 1024px) {
            font-size: 16px;
          }

          @media(max-width: 1024px) {
            font-size: 16px;
          }

          .additional-product-price {
            font-weight: 700;
          }
        }
      }

      .additional-products-modal-btn {
        font-size: 18px;
        color: #808080;
        cursor: pointer;
        text-decoration: underline;
        flex-shrink: 0;

        @media(max-width: 1200px) {
          width: 100%;
          font-size: 14px;
        }
      }
    }
  }

  .additional-products-modal {
    display: flex;
    width: 0;
    height: 0;
    left: 50%;
    top: 50%;
    position: fixed;
    align-items: start;
    justify-content: center;
    overflow: hidden;
    background: #0009;
    z-index: 5;
    transition: .3s;

    &.active {
      padding: 30px 0;
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      overflow-y: auto;
    }

    .modal-content {
      display: flex;
      flex-direction: column;
      gap: 24px;
      width: 1370px;
      max-width: calc(100vw - 70px);
      position: relative;
      z-index: 2;
      background: #fff;
      padding: 40px;
      border-radius: 40px;

      @media(max-width: 767px) {
        max-width: calc(100vw - 30px);
        padding: 20px;
        border-radius: 20px;
        gap: 40px;
      }

      .close-modal {
        width: 100%;
        display: flex;
        flex-direction: row;
        gap: 10px;
        align-items: center;
        justify-content: end;
        font-size: 18px;
        font-size: 500;
        cursor: pointer;
      }

      .product-card {
        display: flex;
        flex-direction: row;
        gap: 80px;
        padding: 64px 32px;
        border: 1px solid #DFDFDF;
        border-radius: 40px;

        @media(max-width: 1360px) {
          padding: 40px 20px;
          border-radius: 30px;
        }

        @media(max-width: 767px) {
          flex-direction: column;
          padding: 20px;
          border-radius: 20px;
          gap: 40px;
        }

        .product-image {
          max-width: 33%;
          display: flex;
          align-items: center;
          justify-content: center;
          margin-bottom: 0;

          @media(max-width: 767px) {
            width: 100%;
            max-width: 100%;
          }

          img {
            width: initial;
            max-width: 100%;
            max-height: 400px;

            @media(max-width: 767px) {
              max-height: 200px;
            }
          }
        }

        .product-info {
          display: flex;
          flex-direction: column;
          gap: 20px;
          color: #000;

          .product-title {
            margin: 0;
            font-size: 35px;
            font-weight: bold;

            @media(max-width: 767px) {
              font-size: 25px;
            }
          }

          .product-description {

            p {
              font-size: 18px;
              font-weight: 400;

              @media(max-width: 767px) {
                font-size: 16px;
              }

              &:not(:fist-child) {
                margin-top: 16px;
              }
            }
          }
        }
      }
    }
  }

  .additional-product-buy-area {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 16px;

    @media(max-width: 767px) {
      flex-direction: column;
    }

    .quantity-selector {
      width: 25%;
      display: flex;
      flex-direction: row;

      @media(max-width: 767px) {
        width: 100%;
      }

      .product-increase,
      .product-decrease {
        width: 30%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        background: #fff;
        border: 2px solid #D3D3D3;
        font-size: 26px;
        font-weight: 500;
        color: #000;
        line-height: 1;
        cursor: pointer;
        align-items: center;

        @media(max-width: 767px) {
          width: 20%;
        }

        &[disabled] {
          color: #aaa;
          cursor: not-allowed;
        }
      }

      .product-decrease {
        border-right: none;
        border-radius: 50px 0 0 50px;
        padding: 10px 10px 10px 20px;
      }

      .product-increase {
        border-left: none;
        border-radius: 0 50px 50px 0;
        padding: 10px 20px 10px 10px;
      }

      #productQuantity,
      .product-quantity {
        width: 40%;
        height: 50px;
        background: #fff;
        border: 2px solid #D3D3D3;
        border-left: none;
        border-right: none;
        font-size: 18px;
        font-weight: 500;
        line-height: 26px;
        color: #000;
        padding: 10px 5px;
        text-align: center;
        -moz-appearance: textfield;

        @media(max-width: 767px) {
          width: 60%;
        }

        &::-webkit-inner-spin-button,
        &::-webkit-outer-spin-button {
          -webkit-appearance: none;
          margin: 0;
        }
      }
    }

    .buy-button-area {
      display: flex;
      flex: 1;

      .elvtd-buy-button {
        display: flex;
        flex: 1;
        gap: 12px;
        justify-content: center;
        align-items: center;
        background: #F4001C;
        border: none;
        border-radius: 50px;
        color: #fff;
        font-family: 'Helvetica Neue', sans-serif;
        font-size: 20px;
        font-weight: bold;
        cursor: pointer;
        transition: .2s;

        @media(max-width: 767px) {
          height: 50px;
          font-size: 18px;
        }

        &:hover {
          background: #BF1425;
        }

        &:after {
          content: "";
          width: 12px;
          height: 10px;
          background: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMTAiIHZpZXdCb3g9IjAgMCAxMyAxMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyLjQ5OTkgNS4wMDAxQzEyLjQ5NTkgNS40Mzg1MiAxMi4zMTkyIDUuODU3NjkgMTIuMDA4MyA2LjE2Njc3TDguNDMzMjUgOS43NTAxQzguMjc3MTIgOS45MDUzMSA4LjA2NTkxIDkuOTkyNDMgNy44NDU3NSA5Ljk5MjQzQzcuNjI1NiA5Ljk5MjQzIDcuNDE0MzkgOS45MDUzMSA3LjI1ODI1IDkuNzUwMUM3LjE4MDE1IDkuNjcyNjMgNy4xMTgxNSA5LjU4MDQ3IDcuMDc1ODQgOS40Nzg5MkM3LjAzMzU0IDkuMzc3MzcgNy4wMTE3NSA5LjI2ODQ1IDcuMDExNzUgOS4xNTg0NEM3LjAxMTc1IDkuMDQ4NDMgNy4wMzM1NCA4LjkzOTUxIDcuMDc1ODQgOC44Mzc5NkM3LjExODE1IDguNzM2NDEgNy4xODAxNSA4LjY0NDI0IDcuMjU4MjUgOC41NjY3N0w5Ljk5OTkyIDUuODMzNDRIMS42NjY1OUMxLjQ0NTU3IDUuODMzNDQgMS4yMzM2MSA1Ljc0NTY0IDEuMDc3MzMgNS41ODkzNkMwLjkyMTA0OSA1LjQzMzA4IDAuODMzMjUyIDUuMjIxMTIgMC44MzMyNTIgNS4wMDAxQzAuODMzMjUyIDQuNzc5MDkgMC45MjEwNDkgNC41NjcxMyAxLjA3NzMzIDQuNDEwODVDMS4yMzM2MSA0LjI1NDU3IDEuNDQ1NTcgNC4xNjY3NyAxLjY2NjU5IDQuMTY2NzdIOS45OTk5Mkw3LjI1ODI1IDEuNDI1MUM3LjEwMTMzIDEuMjY5MjkgNy4wMTI3NCAxLjA1NzUyIDcuMDExOTYgMC44MzYzODNDNy4wMTExNyAwLjYxNTI0NiA3LjA5ODI3IDAuNDAyODU2IDcuMjU0MDkgMC4yNDU5MzZDNy40MDk5IDAuMDg5MDE2NCA3LjYyMTY3IDAuMDAwNDIwMDM5IDcuODQyODEgLTAuMDAwMzYxMzYyQzguMDYzOTQgLTAuMDAxMTQyNzYgOC4yNzYzMyAwLjA4NTk1NTUgOC40MzMyNSAwLjI0MTc3TDEyLjAwODMgMy44MjUxQzEyLjMyMTIgNC4xMzYyMyAxMi40OTgxIDQuNTU4NzkgMTIuNDk5OSA1LjAwMDFaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K') no-repeat center center;
          background-size: contain;
        }
      }
    }

    .text-line {
      width: 100%;
      font-size: 1.2em;
      font-weight: 500;
      color: #969696;
      margin-top: -10px;

      @media (max-width: 767px) {
        text-align: center;
      }
    }
  }
}
