.sra-popup {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 999999;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.sra-popup.is-open {
    display: flex;
}

.sra-popup__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.65);
    backdrop-filter: blur(2px);
}

.sra-popup__dialog {
    position: relative;
    z-index: 2;
    width: min(var(--sra-popup-width, 560px), 100%);
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(0,0,0,.25);
    padding: 34px;
    box-sizing: border-box;
    animation: sraPopupIn .18s ease-out;
}

.sra-popup__close {
    position: absolute;
    top: 10px;
    right: 14px;
    border: 0;
    background: transparent;
    font-size: 32px;
    line-height: 1;
    cursor: pointer;
    color: #333;
    z-index: 3;
}

.sra-popup__content h2 {
    margin: 0 35px 20px 0;
}

body.sra-popup-open {
    overflow: hidden;
}

.sra-popup-trigger {
    cursor: pointer;
}

@keyframes sraPopupIn {
    from { opacity: 0; transform: translateY(12px) scale(.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 600px) {
    .sra-popup {
        padding: 10px;
    }

    .sra-popup__dialog {
        max-height: calc(100vh - 20px);
        padding: 25px 18px 20px;
        border-radius: 10px;
    }
}
