.modal {
  width: 700px;
  height: 400px;
  padding: 0;
  border-radius: 12px;
  overflow: hidden;
  background: none;
  display: none;
}

.modal_secondary {
  height: 290px;
  background: var(--secondary-dark);
}

.modal__image {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
}

#modal-callback .modal__image {
    background-image: url(../img/modal-callback.webp);
}

#modal-special .modal__image {
    background-image: url(../img/modal-special.webp);
}

#modal-credit .modal__image {
    background-image: url(../img/modal-credit.webp);
}

#modal-trade-in .modal__image {
    background-image: url(../img/modal-trade-in.webp);
}

.modal__content {
  padding: 22px 30px;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: space-between;
  color: #fff;
}

.modal_secondary .modal__content {
  justify-content: center;
  align-items: center;
  gap: 25px;
}

.modal__heading {
  font-size: 27px;
  line-height: 1.1;
  font-weight: 600;
}

.modal_secondary .modal__heading {
  font-size: 37px;
  text-align: center;
}

.modal__heading span {
  color: var(--primary);
  display: block;
}

.modal__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.modal__list-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 500;
}

.modal__list-item img {
  width: 14px;
}

.modal__list-item span {
  color: var(--primary);
  font-weight: 600;
}

.modal__text {
  font-size: 14px;
  font-weight: 600;
}

.modal__text span {
  color: var(--primary);
}

.modal_secondary .modal__text {
  font-size: 31px;
  text-align: center;
}

.modal__form {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 286px;
}

.modal__form .input,
.modal__btn {
  height: 37px;
  padding: 0 20px;
  font-size: 12px;
  border-width: 1px;
}

.f-button.is-close-btn {
    top: 0 !important;
    mix-blend-mode: difference;
}

@media screen and (min-width: 720px) {
    #modal-callback .modal__content {
        max-width: 330px;
        margin-left: auto;
        padding: 40px 36px 40px 0;
    }

    #modal-callback .modal__text {
        font-size: 16px;
    }

    #modal-special .modal__heading {
        max-width: 315px;
        font-size: 30px;
    }

    #modal-special .modal__list-item {
        font-size: 18px;
    }
    
    #modal-special .modal__list-item img {
        width: 24px;
    }

    #modal-credit .modal__form,
    #modal-trade-in .modal__form {
        max-width: 225px;
    }
}

@media screen and (max-width: 720px) {
    .modal {
        width: 100%;
        max-width: 320px;
        height: auto;
        background: var(--secondary-dark);
    }

    .modal__image {
        position: relative;
        z-index: 0;
    }

    .modal__image::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        height: 40px;
        width: 100%;
        background: linear-gradient(transparent, var(--secondary-dark));
    }

    #modal-callback .modal__image {
        background-image: url(../img/modal-callback-mob.webp);
        height: 168px;
    }
    
    #modal-special .modal__image {
        background-image: url(../img/modal-special-mob.webp);
        height: 128px;
    }
    
    #modal-credit .modal__image {
        background-image: url(../img/modal-credit-mob.webp);
        height: 120px;
    }
    
    #modal-trade-in .modal__image {
        background-image: url(../img/modal-trade-in-mob.webp);
        height: 152px;
    }

    .modal__content {
        padding: 0 20px 20px;
        gap: 12px;
        height: auto;
    }

    .modal__heading {
        font-size: 17px;
    }

    .modal__list {
        gap: 10px;
    }

    .modal__list-item {
        gap: 10px;
        font-size: 12px;
    }

    .modal__list-item img {
        width: 12px;
    }

    .modal__text {
        font-size: 12px;
    }

    .modal__form {
        gap: 8px;
    }

    .modal__form .input,
    .modal__btn {
        height: 30px;
        padding: 0 16px;
    }

    .modal_secondary {
        height: 184px;
    }

    .modal_secondary .modal__content {
        gap: 22px;
    }

    .modal_secondary .modal__heading {
        font-size: 20px;
    }

    .modal_secondary .modal__text {
        font-size: 17px;
    }
}