.kmv-offer-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.55);
    z-index:999999;
    display:none;
    align-items:center;
    justify-content:center;
    padding:18px;
}

.kmv-offer-modal{
    width:100%;
    max-width:460px;
    background:#fff;
    border-radius:18px;
    padding:22px;
    box-shadow:0 20px 60px rgba(0,0,0,.25);
    text-align:center;
    font-family:inherit;
    animation:kmvOfferPop .18s ease-out;
}

.kmv-offer-title{
    margin:0 0 10px;
    font-size:24px;
    line-height:1.25;
    font-weight:800;
    color:#111;
}

.kmv-offer-text{
    margin:0 0 18px;
    font-size:16px;
    line-height:1.5;
    color:#444;
}

.kmv-offer-actions{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.kmv-offer-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:52px;
    padding:12px 16px;
    border-radius:12px;
    border:none;
    text-decoration:none !important;
    font-size:17px;
    font-weight:800;
    transition:.2s ease;
    box-sizing:border-box;
    cursor:pointer;
}

.kmv-offer-btn:disabled{
    opacity:.88;
    cursor:wait;
}

.kmv-offer-btn-accept{
    background:#16a34a !important;
    color:#fff !important;
    animation:kmvOfferPulse 1.3s infinite;
    box-shadow:0 8px 20px rgba(22,163,74,.28);
}

.kmv-offer-btn-accept:hover,
.kmv-offer-btn-accept:focus{
    background:#f97316 !important;
    color:#fff !important;
    transform:translateY(-1px) scale(1.01);
    outline:none;
}

.kmv-offer-btn-dismiss{
    background:#dc2626 !important;
    color:#fff !important;
}

.kmv-offer-btn-dismiss:hover,
.kmv-offer-btn-dismiss:focus{
    background:#fb923c !important;
    color:#fff !important;
    transform:translateY(-1px);
    outline:none;
}

@keyframes kmvOfferPulse{
    0%{transform:scale(1); box-shadow:0 8px 20px rgba(22,163,74,.28);}
    50%{transform:scale(1.03); box-shadow:0 12px 28px rgba(22,163,74,.38);}
    100%{transform:scale(1); box-shadow:0 8px 20px rgba(22,163,74,.28);}
}

@keyframes kmvOfferPop{
    from{opacity:0; transform:scale(.96);}
    to{opacity:1; transform:scale(1);}
}

@media (max-width: 480px){
    .kmv-offer-overlay{
        padding:14px;
    }

    .kmv-offer-modal{
        max-width:100%;
        border-radius:16px;
        padding:20px 16px;
    }

    .kmv-offer-title{
        font-size:22px;
    }

    .kmv-offer-text{
        font-size:15px;
    }

    .kmv-offer-btn{
        min-height:50px;
        font-size:16px;
    }
}
