.floatpromo{--floatpromo-width:180px;--floatpromo-height:120px;--floatpromo-x:20px;--floatpromo-y:100px;--floatpromo-popup-width:900px;--floatpromo-popup-height:560px;--floatpromo-z:9990;font:14px/1.5 system-ui,sans-serif;color:#172033}
.floatpromo [hidden],.floatpromo[hidden]{display:none!important}
.floatpromo *, .floatpromo *::before,.floatpromo *::after{box-sizing:border-box}
.floatpromo button{font:inherit;cursor:pointer;color:inherit;border:0;margin:0;letter-spacing:normal;text-transform:none;min-height:44px;min-width:44px;line-height:1.3}
.floatpromo button:focus-visible,.floatpromo a:focus-visible,.floatpromo-stage:focus-visible{outline:3px solid #2563eb;outline-offset:3px}
.floatpromo-card{position:fixed;left:max(8px,env(safe-area-inset-left),min(var(--floatpromo-x),calc(100vw - var(--floatpromo-width) - 8px)));bottom:max(env(safe-area-inset-bottom),min(var(--floatpromo-y),calc(100dvh - var(--floatpromo-height) - 80px)));width:var(--floatpromo-width);max-width:calc(100vw - 16px);z-index:var(--floatpromo-z);filter:var(--floatpromo-shadow,drop-shadow(0 8px 18px #17203326))}
.floatpromo[data-side=right] .floatpromo-card{left:auto;right:max(8px,env(safe-area-inset-right),min(var(--floatpromo-x),calc(100vw - var(--floatpromo-width) - 8px)))}
.floatpromo .floatpromo-open{position:relative;display:block;width:100%;height:var(--floatpromo-height);padding:0!important;background:#f1f5f9;border-radius:var(--floatpromo-radius,16px);border:var(--floatpromo-border-width,0px) solid var(--floatpromo-border-color,#e2e8f0);overflow:hidden;text-align:center}
.floatpromo-thumb{display:block;width:100%;height:100%}
.floatpromo-thumb img{display:block;width:100%;height:100%;object-fit:contain}
.floatpromo-card-caption{position:absolute;bottom:0;left:0;right:0;background:var(--floatpromo-caption-background,#172033);color:var(--floatpromo-caption-color,#fff);padding:5px 8px;font-size:var(--floatpromo-caption-font,12px)}
.floatpromo-dismiss{position:absolute;top:-14px;right:-14px;z-index:2;background:transparent!important;border:0!important;border-radius:50%;padding:0!important;display:grid;place-items:center}
.floatpromo-dialog{padding:0!important;border:0!important;border-radius:20px;background:#fff;color:#172033;width:min(var(--floatpromo-popup-width),calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);margin:auto!important;box-shadow:0 24px 80px #0004;z-index:var(--floatpromo-z);overflow:auto;overscroll-behavior:contain}
.floatpromo-dialog:not([open]){display:none}
.floatpromo-dialog::backdrop{background:#0f172abf}
.floatpromo-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #e2e8f0}
.floatpromo-header h2{font:600 18px/1.5 system-ui,sans-serif;margin:0;color:#172033}
.floatpromo-close{background:transparent!important;border-radius:50%;padding:0!important;display:grid;place-items:center}
.floatpromo-stage{height:min(var(--floatpromo-popup-height),calc(100dvh - 220px));min-height:100px;touch-action:pan-y;position:relative;background:#f8fafc}
.floatpromo-slide{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px;gap:8px}
.floatpromo-slide>a{display:flex;min-height:0;flex:1;align-items:center;justify-content:center;width:100%}
.floatpromo-slide img{display:block;object-fit:contain;width:100%;height:100%;min-height:0;max-height:100%}
.floatpromo-slide>img{flex:1}
.floatpromo-title{margin:0;font-size:14px;color:#172033;flex:none;max-width:100%;overflow-wrap:anywhere}
.floatpromo-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;padding:12px}
.floatpromo-controls>button{background:transparent;border-radius:50%;padding:6px;color:#475569}.floatpromo-controls>button:hover{background:#f1f5f9}
.floatpromo-prev,.floatpromo-next{font-size:28px!important}
[dir=rtl] .floatpromo-prev,[dir=rtl] .floatpromo-next{transform:rotate(180deg)}
.floatpromo-pagination{display:flex;justify-content:center;flex-wrap:wrap;max-width:65%}
.floatpromo-pagination button{background:transparent;position:relative;padding:0}
.floatpromo-pagination button::after{content:"";position:absolute;inset:17px;border-radius:50%;background:#64748b}
.floatpromo-pagination button[aria-current=true]::after{background:#1d4ed8}
.floatpromo-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.floatpromo-motion .floatpromo-card{animation:floatpromo-enter .3s ease-out}
.floatpromo-motion .floatpromo-slide:not([hidden]),.floatpromo-motion .floatpromo-thumb:not([hidden]){animation:floatpromo-fade var(--floatpromo-effect-duration,420ms) cubic-bezier(.22,1,.36,1) both}
.floatpromo-motion .floatpromo-dialog[open]{animation:floatpromo-enter .2s ease-out}
.floatpromo-shine .floatpromo-open::after{content:"";position:absolute;inset:-50%;background:linear-gradient(110deg,transparent 40%,rgb(255 255 255 / var(--floatpromo-shine-strength,.25)) 50%,transparent 60%);transform:translateX(-100%);animation:floatpromo-shine var(--floatpromo-shine-interval,8s) ease-in-out infinite;pointer-events:none}
.floatpromo-card:focus-within .floatpromo-open::after,.floatpromo-card:hover .floatpromo-open::after{animation-play-state:paused}
@keyframes floatpromo-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes floatpromo-shine{0%,80%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
@media(prefers-reduced-motion:reduce){.floatpromo *, .floatpromo *::after{animation:none!important;transition:none!important}}
@media(max-width:767px){.floatpromo-dialog{border-radius:14px}.floatpromo-header{padding:8px 12px}.floatpromo-header h2{font-size:16px}.floatpromo-controls{padding:8px}}


.floatpromo-close-icon{position:relative;display:block;width:24px;height:24px;border-radius:50%;pointer-events:none}
.floatpromo-dismiss .floatpromo-close-icon{background:#fff;box-shadow:0 1px 5px #1720331a;border:1px solid #e2e8f0}
.floatpromo-close-icon::before,.floatpromo-close-icon::after{content:"";position:absolute;top:50%;left:50%;width:11px;height:1.5px;background:#475569;border-radius:1px;transform:translate(-50%,-50%) rotate(45deg)}
.floatpromo-close-icon::after{transform:translate(-50%,-50%) rotate(-45deg)}
.floatpromo-close:hover .floatpromo-close-icon,.floatpromo-dismiss:hover .floatpromo-close-icon{background:#f1f5f9}
@keyframes floatpromo-slide-in{from{opacity:0;transform:translateX(var(--floatpromo-slide-shift,14px)) scale(.985)}to{opacity:1;transform:translateX(0) scale(1)}}

.floatpromo-motion[data-effect=horizontal] .floatpromo-slide:not([hidden]),.floatpromo-motion[data-effect=horizontal] .floatpromo-thumb:not([hidden]){animation-name:floatpromo-slide-in}
.floatpromo-motion[data-effect=vertical] .floatpromo-slide:not([hidden]),.floatpromo-motion[data-effect=vertical] .floatpromo-thumb:not([hidden]){animation-name:floatpromo-vertical}
.floatpromo-motion[data-effect=zoom] .floatpromo-slide:not([hidden]),.floatpromo-motion[data-effect=zoom] .floatpromo-thumb:not([hidden]){animation-name:floatpromo-zoom}
.floatpromo[data-effect=none] .floatpromo-slide,.floatpromo[data-effect=none] .floatpromo-thumb{animation:none}
@keyframes floatpromo-fade{from{opacity:0}to{opacity:1}}
@keyframes floatpromo-vertical{from{opacity:0;transform:translateY(var(--floatpromo-slide-shift,14px))}to{opacity:1;transform:translateY(0)}}
@keyframes floatpromo-zoom{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
