.kp-registration-form {
    position: relative;
}

.kp-registration-form--locked {
    min-height: 180px;
}

.kp-registration-form__overlay {
    align-items: center;
    background: rgba(255, 255, 255, 0.78);
    border-radius: 12px;
    color: #111827;
    display: none;
    font-size: 16px;
    font-weight: 600;
    gap: 12px;
    inset: 0;
    justify-content: center;
    position: absolute;
    text-align: center;
    z-index: 20;
}

.kp-registration-form--locked .kp-registration-form__overlay {
    display: flex;
}

.kp-registration-form__spinner {
    animation: kp-registration-spin 0.8s linear infinite;
    border: 3px solid rgba(0, 102, 255, 0.18);
    border-top-color: #0066ff;
    border-radius: 999px;
    display: inline-block;
    height: 26px;
    width: 26px;
}

.kp-registration-url-field {
    clear: both;
    display: block;
    margin: 4px 0;
    width: 100%;
}

.kp-registration-url-field > p,
.kp-registration-url-row > p {
    margin: 0;
}

.kp-registration-url-label {
    color: #5f5f68;
    display: block;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.35;
    margin: 0 0 6px;
}

.kp-registration-url-row {
    align-items: center;
    display: flex;
    gap: 22px;
    width: 100%;
}

.kp-registration-url-row > p {
    align-items: center;
    display: flex;
    gap: 22px;
    width: 100%;
}

.kp-registration-url-input-wrap,
.kp-registration-url-row .wpcf7-form-control-wrap[data-name="your-app-url"] {
    display: block;
    flex: 1 1 auto;
    line-height: 0;
    min-width: 0;
    position: relative;
}

.kp-registration-url-input-wrap input[name="your-app-url"],
.kp-registration-url-row input[name="your-app-url"] {
    line-height: 1.4;
    margin-bottom: 0;
    padding-right: 56px;
    width: 100%;
}

.kp-registration-url--available input[name="your-app-url"],
.kp-registration-url--unavailable input[name="your-app-url"],
.kp-registration-url-row input[name="your-app-url"]:invalid {
    border-color: #cfd0e1 !important;
}

.kp-registration-url-suffix {
    color: #5f5f68;
    flex: 0 0 auto;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    white-space: nowrap;
}

.kp-registration-url-status {
    color: #5f5f68;
    display: block;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.35;
    margin: 8px 0 0;
    min-height: 19px;
}

.kp-registration-url--available .kp-registration-url-status {
    color: #09b85d;
}

.kp-registration-url--unavailable .kp-registration-url-status {
    color: #ff2020;
}

.kp-registration-url--available .kp-registration-url-input-wrap::after,
.kp-registration-url--unavailable .kp-registration-url-input-wrap::after {
    align-items: center;
    background-position: center;
    background-repeat: no-repeat;
    border: 2px solid currentColor;
    border-radius: 999px;
    display: flex;
    font-size: 18px;
    font-weight: 400;
    height: 28px;
    justify-content: center;
    line-height: 1;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
}

.kp-registration-url--available .kp-registration-url-input-wrap::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='12' viewBox='0 0 17 12' fill='none'%3E%3Cpath d='M1.5 6.5L5 10.5L15.5 1' stroke='%2309b85d' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
    background-size: 15px 11px;
    color: #09b85d;
    content: "";
}

.kp-registration-url--unavailable .kp-registration-url-input-wrap::after {
    background-image: none;
    color: #ff2020;
    content: "!";
}

@keyframes kp-registration-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 767px) {
    .kp-registration-url-field {
        margin-bottom: 12px;
    }

    .kp-registration-url-row,
    .kp-registration-url-row > p {
        align-items: flex-start;
        flex-direction: column;
        gap: 0;
    }

    .kp-registration-url-row input[name="your-app-url"] {
        margin-bottom: 0;
    }

    .kp-registration-url-suffix {
        margin-top: 8px;
    }
}
