.wl-wpp-modal{
    position:fixed;
    inset:0;
    z-index:10050;
    display:none;
    align-items:center;
    justify-content:center;
    padding:20px;
}

.wl-wpp-modal.aberto{
    display:flex;
}

.wl-wpp-backdrop{
    position:absolute;
    inset:0;
    background:rgba(8,24,43,.65);
    backdrop-filter:blur(5px);
}

.wl-wpp-card{
    position:relative;
    z-index:1;
    width:min(100%,520px);
    max-height:calc(100vh - 32px);
    overflow:auto;
    padding:28px;
    border-radius:22px;
    background:#fff;
    box-shadow:0 28px 80px rgba(8,24,43,.28);
}

.wl-wpp-modal-open{
    overflow:hidden;
}

.wl-wpp-close{
    position:absolute;
    top:16px;
    right:16px;
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border:0;
    border-radius:50%;
    background:#f3f6f8;
    color:#64748b;
    cursor:pointer;
}

.wl-wpp-icon{
    width:55px;
    height:55px;
    display:grid;
    place-items:center;
    margin-bottom:15px;
    border-radius:17px;
    background:#e8faef;
    color:#168154;
    font-size:25px;
}

.wl-wpp-heading>span{
    color:#168154;
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.wl-wpp-heading h3{
    margin:5px 0 7px;
    color:#15253b;
    font-size:1.35rem;
    font-weight:850;
}

.wl-wpp-heading p{
    margin:0;
    color:#738197;
    font-size:.84rem;
    line-height:1.55;
}

.wl-wpp-property{
    display:grid;
    grid-template-columns:35px minmax(0,1fr);
    gap:10px;
    align-items:center;
    margin:18px 0;
    padding:11px;
    border-radius:12px;
    background:#f6f8fb;
}

.wl-wpp-property>i{
    width:35px;
    height:35px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:#fff;
    color:#ff7a24;
}

.wl-wpp-property span,
.wl-wpp-property strong{
    display:block;
}

.wl-wpp-property span{
    color:#8a96a8;
    font-size:.66rem;
}

.wl-wpp-property strong{
    margin-top:3px;
    overflow:hidden;
    color:#15253b;
    font-size:.82rem;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.wl-wpp-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.wl-wpp-grid label{
    display:block;
}

.wl-wpp-grid label>span{
    display:block;
    margin-bottom:6px;
    color:#34435a;
    font-size:.72rem;
    font-weight:750;
}

.wl-wpp-grid label>span small{
    color:#9aa5b4;
    font-weight:500;
}

.wl-wpp-full{
    grid-column:1/-1;
}

.wl-wpp-grid input,
.wl-wpp-grid textarea{
    width:100%;
    padding:11px 12px;
    border:1px solid #dfe6ef;
    border-radius:10px;
    outline:none;
    background:#fff;
    color:#15253b;
    font:inherit;
    font-size:.83rem;
    transition:.15s ease;
}

.wl-wpp-grid input:focus,
.wl-wpp-grid textarea:focus{
    border-color:#25d366;
    box-shadow:0 0 0 3px rgba(37,211,102,.11);
}

.wl-wpp-grid textarea{
    resize:vertical;
    min-height:82px;
}

.wl-wpp-consent{
    display:flex;
    align-items:flex-start;
    gap:9px;
    margin:14px 0;
    color:#6e7b8f;
    font-size:.72rem;
    line-height:1.45;
}

.wl-wpp-consent input{
    margin-top:3px;
    accent-color:#25d366;
}

.wl-wpp-submit{
    width:100%;
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    border:0;
    border-radius:12px;
    background:#25d366;
    color:#fff;
    font:800 .86rem/1 inherit;
    cursor:pointer;
    box-shadow:0 10px 24px rgba(37,211,102,.23);
}

.wl-wpp-submit:hover{
    background:#1fbd59;
}

.wl-wpp-submit:disabled{
    opacity:.7;
    cursor:wait;
}

.wl-wpp-feedback{
    min-height:18px;
    margin-top:10px;
    text-align:center;
    font-size:.75rem;
}

.wl-wpp-feedback.sucesso{
    color:#168154;
}

.wl-wpp-feedback.erro{
    color:#c13c51;
}

.wl-wpp-privacy{
    display:block;
    margin-top:7px;
    color:#98a3b2;
    font-size:.65rem;
    text-align:center;
}

@media(max-width:600px){
    .wl-wpp-modal{
        align-items:flex-end;
        padding:0;
    }

    .wl-wpp-card{
        width:100%;
        max-height:92vh;
        padding:23px 18px 20px;
        border-radius:22px 22px 0 0;
    }

    .wl-wpp-grid{
        grid-template-columns:1fr;
    }

    .wl-wpp-full{
        grid-column:auto;
    }
}
