/* UISB Popup - front-end */
html.uisb-popup-lock, html.uisb-popup-lock body { overflow: hidden !important; }
.uisb-popup[hidden] { display: none !important; }
.uisb-popup { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 20px; }
.uisb-popup__overlay { position: absolute; inset: 0; }
.uisb-popup__dialog { position: relative; width: 100%; max-height: 90vh; overflow: auto; box-shadow: 0 24px 70px -20px rgba(0,0,0,.6); color: #1d2433; box-sizing: border-box; }
.uisb-popup__x { position: absolute; top: 10px; right: 12px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(0,0,0,.55); color: #fff; font-size: 26px; line-height: 1; cursor: pointer; z-index: 3; }
.uisb-popup__x:hover { background: #000; }
.uisb-popup__content { display: flex; flex-direction: column; gap: 14px; }
.uisb-popup__block--image img { display: block; max-width: 100%; height: auto; }
.uisb-popup__block--image img.is-full { width: 100%; }
.uisb-popup__block--text { line-height: 1.7; }
.uisb-popup__block--text h1,.uisb-popup__block--text h2,.uisb-popup__block--text h3 { margin: .2em 0; }
.uisb-popup__ratio { position: relative; width: 100%; aspect-ratio: 16/9; }
.uisb-popup__ratio iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.uisb-popup__video { width: 100%; height: auto; display: block; border-radius: 10px; }
.uisb-popup__btn { display: inline-block; padding: 12px 24px; border-radius: 999px; font-weight: 600; text-decoration: none; transition: transform .18s ease, filter .18s ease; }
.uisb-popup__btn:hover { transform: translateY(-1px); filter: brightness(1.05); }
.uisb-popup__trigger { cursor: pointer; }

/* Position */
.uisb-popup.is-pos-center { align-items: center; justify-content: center; }
.uisb-popup.is-pos-bottom-right { align-items: flex-end; justify-content: flex-end; }
.uisb-popup.is-pos-bottom-left { align-items: flex-end; justify-content: flex-start; }
.uisb-popup.is-pos-top { align-items: flex-start; justify-content: center; }

/* Animations */
@keyframes uisb-popup-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes uisb-popup-slide { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
@keyframes uisb-popup-zoom { from { opacity: 0; transform: scale(.94); } to { opacity: 1; transform: none; } }
.uisb-popup.is-anim-fade .uisb-popup__dialog { animation: uisb-popup-fade .25s ease both; }
.uisb-popup.is-anim-slide .uisb-popup__dialog { animation: uisb-popup-slide .3s ease both; }
.uisb-popup.is-anim-zoom .uisb-popup__dialog { animation: uisb-popup-zoom .25s ease both; }
@media (prefers-reduced-motion: reduce) { .uisb-popup__dialog { animation: none !important; } }

@media (max-width: 767px) {
	.uisb-popup { padding: 8px; }
	.uisb-popup__dialog { max-height: 90vh; width: 92vw; }
}

/* Enter/exit animations (dialog) */
@keyframes uisb-popup-slideup { from { opacity:0; transform:translateY(30px);} to {opacity:1;transform:none;} }
@keyframes uisb-popup-slidedown { from { opacity:0; transform:translateY(-30px);} to {opacity:1;transform:none;} }
@keyframes uisb-popup-zoomin { from { opacity:0; transform:scale(.9);} to {opacity:1;transform:none;} }
@keyframes uisb-popup-zoomout { from { opacity:0; transform:scale(1.06);} to {opacity:1;transform:none;} }
@keyframes uisb-popup-fadeout { from {opacity:1;} to {opacity:0;} }
@keyframes uisb-popup-slidedownout { from {opacity:1;transform:none;} to {opacity:0;transform:translateY(20px);} }
@keyframes uisb-popup-zoomoutout { from {opacity:1;transform:none;} to {opacity:0;transform:scale(.94);} }
.po-anim-in-fade{animation:uisb-popup-fade .25s ease both}
.po-anim-in-slide{animation:uisb-popup-slide .3s ease both}
.po-anim-in-slide-up{animation:uisb-popup-slideup .3s ease both}
.po-anim-in-slide-down{animation:uisb-popup-slidedown .3s ease both}
.po-anim-in-zoom{animation:uisb-popup-zoom .25s ease both}
.po-anim-in-zoom-in{animation:uisb-popup-zoomin .25s ease both}
.po-anim-in-zoom-out{animation:uisb-popup-zoomout .25s ease both}
.po-anim-out-fade{animation:uisb-popup-fadeout .22s ease both}
.po-anim-out-slide-down{animation:uisb-popup-slidedownout .22s ease both}
.po-anim-out-zoom-out{animation:uisb-popup-zoomoutout .22s ease both}
.uisb-popup__x.is-outside { top:-16px; right:-16px; background:#111; }
@media (prefers-reduced-motion: reduce){ .uisb-popup__dialog { animation:none !important; } }
