/* PS UX Builder Addons — Interactive Banner */

.ps-uxb-ibanner { --ps-ib-height: 360px; --ps-ib-radius: 8px; --ps-ib-padding: 30px; --ps-ib-overlay: #0f1b2b; --ps-ib-overlay-alpha: .35; --ps-ib-overlay-hover: .6; --ps-ib-color: #fff; --ps-ib-accent: #fff; position: relative; display: block; height: var(--ps-ib-height); border-radius: var(--ps-ib-radius); overflow: hidden; color: var(--ps-ib-color); text-decoration: none; }
.ps-uxb-ibanner__media { position: absolute; inset: 0; }
.ps-uxb-ibanner__image { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.16, 1, .3, 1), filter .5s ease; }
.ps-uxb-ibanner--img-zoom:hover .ps-uxb-ibanner__image { transform: scale(1.09); }
.ps-uxb-ibanner--img-zoom-out .ps-uxb-ibanner__image { transform: scale(1.09); }
.ps-uxb-ibanner--img-zoom-out:hover .ps-uxb-ibanner__image { transform: scale(1); }
.ps-uxb-ibanner--img-rotate:hover .ps-uxb-ibanner__image { transform: scale(1.12) rotate(2.5deg); }
.ps-uxb-ibanner--img-blur:hover .ps-uxb-ibanner__image { filter: blur(4px); }
.ps-uxb-ibanner--img-grayscale:hover .ps-uxb-ibanner__image { filter: grayscale(1); }
.ps-uxb-ibanner--img-colorize .ps-uxb-ibanner__image { filter: grayscale(1); }
.ps-uxb-ibanner--img-colorize:hover .ps-uxb-ibanner__image { filter: grayscale(0); }
.ps-uxb-ibanner__overlay { position: absolute; inset: 0; background: var(--ps-ib-overlay); opacity: var(--ps-ib-overlay-alpha); transition: opacity .4s ease; }
.ps-uxb-ibanner:hover .ps-uxb-ibanner__overlay { opacity: var(--ps-ib-overlay-hover); }
.ps-uxb-ibanner--border::after { content: ""; position: absolute; inset: 14px; border: 1px solid rgba(255, 255, 255, .7); border-radius: calc(var(--ps-ib-radius) / 1.5); opacity: 0; transform: scale(1.04); transition: opacity .4s ease, transform .4s ease; pointer-events: none; }
.ps-uxb-ibanner--border:hover::after { opacity: 1; transform: scale(1); }
.ps-uxb-ibanner__content { position: relative; z-index: 2; display: flex; flex-direction: column; height: 100%; padding: var(--ps-ib-padding); }
.ps-uxb-ibanner--pos-top-left .ps-uxb-ibanner__content { justify-content: flex-start; align-items: flex-start; text-align: left; }
.ps-uxb-ibanner--pos-top-center .ps-uxb-ibanner__content { justify-content: flex-start; align-items: center; text-align: center; }
.ps-uxb-ibanner--pos-top-right .ps-uxb-ibanner__content { justify-content: flex-start; align-items: flex-end; text-align: right; }
.ps-uxb-ibanner--pos-center-left .ps-uxb-ibanner__content { justify-content: center; align-items: flex-start; text-align: left; }
.ps-uxb-ibanner--pos-center-center .ps-uxb-ibanner__content { justify-content: center; align-items: center; text-align: center; }
.ps-uxb-ibanner--pos-center-right .ps-uxb-ibanner__content { justify-content: center; align-items: flex-end; text-align: right; }
.ps-uxb-ibanner--pos-bottom-left .ps-uxb-ibanner__content { justify-content: flex-end; align-items: flex-start; text-align: left; }
.ps-uxb-ibanner--pos-bottom-center .ps-uxb-ibanner__content { justify-content: flex-end; align-items: center; text-align: center; }
.ps-uxb-ibanner--pos-bottom-right .ps-uxb-ibanner__content { justify-content: flex-end; align-items: flex-end; text-align: right; }
.ps-uxb-ibanner__layer { transition: transform .45s cubic-bezier(.16, 1, .3, 1), opacity .45s ease, max-height .45s ease; }
.ps-uxb-ibanner__icon { font-size: 2.4em; line-height: 1; margin-bottom: .3em; color: var(--ps-ib-accent); }
.ps-uxb-ibanner__subtitle { font-size: .82em; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; opacity: .85; }
.ps-uxb-ibanner__title { margin: .15em 0; font-size: 1.7em; line-height: 1.2; color: inherit; }
.ps-uxb-ibanner__text { font-size: .95em; }
.ps-uxb-ibanner__text p:last-child { margin-bottom: 0; }
.ps-uxb-ibanner__button { display: inline-block; margin-top: .8em; padding: .55em 1.5em; border: 2px solid var(--ps-ib-accent); border-radius: 999px; font-weight: 700; }

.ps-uxb-ibanner__layer--up { transform: translateY(0); }
.ps-uxb-ibanner:hover .ps-uxb-ibanner__layer--up { transform: translateY(-10px); }
.ps-uxb-ibanner:hover .ps-uxb-ibanner__layer--down { transform: translateY(10px); }
.ps-uxb-ibanner:hover .ps-uxb-ibanner__layer--left { transform: translateX(-12px); }
.ps-uxb-ibanner:hover .ps-uxb-ibanner__layer--right { transform: translateX(12px); }
.ps-uxb-ibanner:hover .ps-uxb-ibanner__layer--zoom { transform: scale(1.08); }
.ps-uxb-ibanner__layer--fade-in { opacity: 0; }
.ps-uxb-ibanner:hover .ps-uxb-ibanner__layer--fade-in { opacity: 1; }
.ps-uxb-ibanner:hover .ps-uxb-ibanner__layer--fade-out { opacity: 0; }
.ps-uxb-ibanner__layer--reveal-up { opacity: 0; transform: translateY(16px); }
.ps-uxb-ibanner:hover .ps-uxb-ibanner__layer--reveal-up { opacity: 1; transform: translateY(0); }

@media (prefers-reduced-motion: reduce) {
	.ps-uxb-ibanner__layer, .ps-uxb-ibanner__image, .ps-uxb-ibanner__overlay { transition: none; }
}
