/* Smart Popup – Public v2 */
.sp-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 999999;
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
}
.sp-overlay.sp-visible { display: flex; }

.sp-popup {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    box-shadow: 0 24px 80px rgba(0,0,0,.18), 0 4px 16px rgba(0,0,0,.10);
    opacity: 0;
    will-change: transform, opacity;
}
.sp-popup.sp-anim-fadeInUp    { animation: sp-fadeInUp    .45s cubic-bezier(.22,1,.36,1) forwards; }
.sp-popup.sp-anim-fadeIn      { animation: sp-fadeIn      .4s ease forwards; }
.sp-popup.sp-anim-zoomIn      { animation: sp-zoomIn      .4s cubic-bezier(.22,1,.36,1) forwards; }
.sp-popup.sp-anim-slideInDown { animation: sp-slideInDown .45s cubic-bezier(.22,1,.36,1) forwards; }

@keyframes sp-fadeInUp    { from{opacity:0;transform:translateY(32px)} to{opacity:1;transform:translateY(0)} }
@keyframes sp-fadeIn      { from{opacity:0} to{opacity:1} }
@keyframes sp-zoomIn      { from{opacity:0;transform:scale(.88)} to{opacity:1;transform:scale(1)} }
@keyframes sp-slideInDown { from{opacity:0;transform:translateY(-40px)} to{opacity:1;transform:translateY(0)} }

.sp-close {
    position: absolute; top: 14px; right: 14px;
    background: none; border: none; cursor: pointer;
    padding: 4px; line-height: 0;
    transition: opacity .2s, transform .2s; z-index: 2;
}
.sp-close:hover { opacity: .7; transform: scale(1.15); }

.sp-img-wrap { width: 100%; margin-bottom: 18px; line-height: 0; }
.sp-img-wrap img { width: 100%; border-radius: 8px; display: block; }

.sp-title { margin: 0 0 12px; font-weight: 700; line-height: 1.25; padding-right: 28px; font-family: inherit; }
.sp-body  { margin: 0 0 22px; line-height: 1.65; font-family: inherit; }
.sp-btn-wrap { text-align: center; }
.sp-btn {
    display: inline-block; padding: 13px 32px;
    font-size: 15px; font-weight: 600; text-decoration: none;
    transition: filter .2s, transform .15s; font-family: inherit;
}
.sp-btn:hover  { filter: brightness(1.1); transform: translateY(-1px); }
.sp-btn:active { transform: translateY(0); }

@media (max-width: 480px) {
    .sp-overlay { padding: 12px; }
    .sp-popup   { padding: 28px 20px !important; }
    .sp-title   { font-size: 20px !important; }
    .sp-body    { font-size: 14px !important; }
}
