.rsp-popup[hidden] { display: none !important; }
.rsp-popup { position: fixed; inset: 0; z-index: 999999; display: flex; align-items: center; justify-content: center; padding: 20px; }
.rsp-popup__backdrop { position: absolute; inset: 0; background: rgba(20, 22, 26, .66); backdrop-filter: blur(2px); }
.rsp-popup__dialog { position: relative; width: min(524px, 100%); max-height: calc(100vh - 40px); overflow: auto; padding: 38px 36px 26px; background: #fff; border: 1px solid rgba(59, 111, 245, .24); border-radius: 20px; box-shadow: 0 24px 64px rgba(26, 28, 35, .28), 0 6px 22px rgba(59, 111, 245, .12); text-align: center; color: #1f2937; animation: rsp-pop .24s ease-out; }
.rsp-popup h2 { margin: 0 24px 12px; color: #1a1c23; font-size: 28px; line-height: 1.35; font-weight: 800; }
.rsp-popup__content { margin: 0 0 20px; color: #6b7280; font-size: 16px; line-height: 1.8; }
.rsp-popup__content p { margin: 0 0 6px; }
.rsp-popup__image { display: block; max-width: 100%; max-height: 190px; object-fit: cover; margin: 0 auto 22px; border: 1px solid #edf1f8; border-radius: 13px; }
.rsp-popup__image-link { display: block; width: fit-content; max-width: 100%; margin: 0 auto; text-decoration: none !important; }
.rsp-popup__image-link .rsp-popup__image { transition: transform .18s ease, box-shadow .18s ease; }
.rsp-popup__image-link:hover .rsp-popup__image { transform: translateY(-2px); box-shadow: 0 7px 18px rgba(59, 111, 245, .18); }
.rsp-popup__items, .rsp-popup__item { display: grid; }
.rsp-popup__items { gap: 10px; }
.rsp-popup__item { gap: 10px; }
.rsp-popup .rsp-popup__button { display: flex; align-items: center; justify-content: center; min-height: 50px; padding: 9px 20px; border: 1px solid #e6edff !important; border-radius: 12px; background: linear-gradient(90deg, #f5f8ff, #edf3ff) !important; box-shadow: none !important; color: #3b6ff5 !important; text-decoration: none !important; font-size: 18px; font-weight: 800; transition: transform .18s ease, color .18s ease, background .18s ease; }
.rsp-popup .rsp-popup__button:hover { transform: translateY(-1px); border-color: #dbe6ff !important; background: linear-gradient(90deg, #f1f5ff, #e9f0ff) !important; box-shadow: none !important; color: #315fd9 !important; }
.rsp-popup .rsp-popup__button.is-disabled { border-color: #e5e7eb !important; background: #f1f5f9 !important; box-shadow: none !important; color: #94a3b8 !important; cursor: not-allowed; }
.rsp-popup__quota { padding: 5px 12px; border: 1px solid #e6edff; border-radius: 999px; background: linear-gradient(90deg, #f5f8ff, #edf3ff); color: #52637f; font-size: 14px; }
.rsp-popup__quota strong { margin: 0 5px; color: #3b6ff5; font-size: 24px; line-height: 1; }
.rsp-popup .rsp-popup__close { appearance: none; -webkit-appearance: none; width: 100%; min-height: 46px; margin-top: 10px; border: 1px solid #e6edff !important; outline: none !important; border-radius: 12px; background: linear-gradient(90deg, #f5f8ff, #edf3ff) !important; box-shadow: none !important; color: #7b8494 !important; font-size: 16px; cursor: pointer; transition: color .18s ease, background .18s ease; }
.rsp-popup .rsp-popup__close:hover, .rsp-popup .rsp-popup__close:focus { border-color: #e6edff !important; background: linear-gradient(90deg, #f1f5ff, #e9f0ff) !important; box-shadow: none !important; color: #52637f !important; }
.rsp-popup-open { overflow: hidden; }
@keyframes rsp-pop { from { opacity: 0; transform: translateY(14px) scale(.97); } to { opacity: 1; transform: none; } }
@media (max-width: 576px) {
    .rsp-popup { padding: 12px; }
    .rsp-popup__dialog { max-height: calc(100vh - 24px); padding: 30px 18px 20px; border-radius: 17px; }
    .rsp-popup h2 { font-size: 23px; }
    .rsp-popup__content { font-size: 15px; }
    .rsp-popup__button { min-height: 48px; font-size: 17px; }
    .rsp-popup__image { max-height: 150px; }
}
