#emf-popup, .emf-shortcode-wrapper {
    position: fixed;
    z-index: 9999;
    top: 0; left: 0; width: 100vw; height: 100vh;
    display: flex; align-items: center; justify-content: center;
    background: rgba(0,0,0,0.40);
}

.emf-popup-inner {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 8px 40px rgba(0,0,0,0.20);
    padding: 32px 28px 20px 28px;
    position: relative;
    min-width: 240px;
    max-width: 96vw;
    animation: popin 0.35s;
}

@keyframes popin {
    0% { transform: scale(0.9); opacity:0; }
    100% { transform: scale(1); opacity:1; }
}

.emf-form-content input[type="text"],
.emf-form-content input[type="email"] {
    width: 100%;
    padding: 11px 13px;
    margin: 12px 0;
    border-radius: 8px;
    border: 1px solid #ddd;
    font-size: 17px;
}
.emf-form-content button {
    width: 100%;
    background: #2b79c0;
    color: #fff;
    font-weight: bold;
    padding: 13px;
    border: none;
    border-radius: 8px;
    font-size: 18px;
    margin-top: 7px;
    transition: background .2s;
    cursor: pointer;
}
.emf-form-content button:hover {
    background: #20598e;
}
.emf-popup-text {
    font-size: 19px;
    margin-bottom: 14px;
    text-align: center;
}
.emf-close {
    position: absolute; right: 10px; top: 8px;
    font-size: 32px;
    background: none; border: none; color: #aaa; cursor: pointer;
    transition: color 0.15s;
}
.emf-close:hover { color: #e33; }
.emf-success {
    margin-top: 17px;
    color: #25803b;
    font-weight: bold;
    font-size: 17px;
    text-align: center;
}
.emf-popup-hidden { display:none !important; }
.emf-bottom-right { justify-content: flex-end; align-items: flex-end; padding: 28px; }
.emf-bottom-left  { justify-content: flex-start; align-items: flex-end; padding: 28px; }
@media (max-width: 500px) {
    .emf-popup-inner { padding: 12px 4vw 10px 4vw; }
}
