/* ================================================================
   FEF IMAGE MARQUEE v3.2 — All fixes applied
   ================================================================ */
.fef-mq-wrap{position:relative;width:100%;overflow:hidden}
.fef-mq-viewport{overflow:hidden;width:100%}
.fef-mq-track{display:flex;gap:var(--mq-gap,12px);will-change:transform}
.fef-mq-item{flex:0 0 var(--mq-w,250px);height:var(--mq-h,200px);position:relative;overflow:hidden;border-radius:8px;cursor:pointer;text-decoration:none;color:#fff;display:block;transition:border-radius .3s,box-shadow .3s,border .3s}
.fef-mq-media{position:relative;width:100%;height:100%;overflow:hidden}
.fef-mq-img{width:100%;height:100%;object-fit:cover;display:block;transition:all .4s ease}
div.fef-mq-img{background-size:cover;background-position:center}
/* Overlay - ALWAYS transparent by default, ONLY shows on hover for specific effects */
.fef-mq-overlay{position:absolute;inset:0;background:transparent !important;transition:all .4s ease;pointer-events:none;z-index:2}

/* Caption — FIXED: always full width, proper z-index */
.fef-mq-caption{position:absolute;z-index:3;color:#fff;width:100%;box-sizing:border-box;transition:all .4s ease}
.fef-mq-cap-bottom{bottom:0;left:0}
.fef-mq-cap-top{top:0;left:0}
.fef-mq-cap-center{top:50%;left:0;transform:translateY(-50%);text-align:center}
.fef-mq-cap-full{inset:0;display:flex;flex-direction:column;justify-content:flex-end;width:100%}
.fef-mq-cap-left{top:0;bottom:0;left:0;width:50%;display:flex;flex-direction:column;justify-content:center}
.fef-mq-cap-right{top:0;bottom:0;right:0;left:auto;width:50%;display:flex;flex-direction:column;justify-content:center}
.fef-mq-cap-title{font-weight:700;font-size:15px;margin-bottom:2px}
.fef-mq-cap-text{font-size:13px;opacity:.85;line-height:1.3}
.fef-mq-cap-icon{margin-right:4px;font-size:14px;opacity:.7}
/* Caption gradient class */
.fef-mq-cap-grad{background-color:transparent !important}

/* Caption below image mode */
.fef-mq-cap-below-mode .fef-mq-item{height:auto;flex:0 0 var(--mq-w,250px)}
.fef-mq-cap-below-mode .fef-mq-media{height:var(--mq-h,200px)}
.fef-mq-cap-below-box{position:relative;width:100%;z-index:3}

/* Caption on hover only — show caption, but do NOT force overlay (let hover effect decide) */
.fef-mq-cap-on-hover .fef-mq-caption{opacity:0;transform:translateY(8px);transition:all .35s ease}
.fef-mq-cap-on-hover .fef-mq-cap-center{transform:translateY(-50%) translateY(8px)}
.fef-mq-cap-on-hover:hover .fef-mq-caption{opacity:1;transform:translateY(0)}
.fef-mq-cap-on-hover:hover .fef-mq-cap-center{transform:translateY(-50%)}

/* YouTube */
.fef-mq-yt-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:4}
.fef-mq-yt-play i{width:50px;height:36px;background:rgba(255,0,0,.85);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;color:#fff;transition:background .2s}
.fef-mq-item:hover .fef-mq-yt-play i{background:rgba(255,0,0,1)}

/* Price badge positions — FIXED: z-index above overlay(2), caption(3), badges(6) */
.fef-mq-price-badge{position:absolute;z-index:7;font-weight:700;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font-size:14px;padding:4px 10px;border-radius:4px;background:rgba(255,255,255,.9);color:#2e7d32;pointer-events:none}
.fef-mq-price-badge del{font-weight:400;opacity:.7}
.fef-mq-price-badge ins{text-decoration:none}
.fef-mq-price-inline{position:relative;margin-top:4px;background:none;padding:0;z-index:auto;pointer-events:auto}
.fef-mq-pos-top-left{top:8px;left:8px}
.fef-mq-pos-top-right{top:8px;right:8px}
.fef-mq-pos-top-center{top:8px;left:50%;transform:translateX(-50%)}
.fef-mq-pos-bottom-left{bottom:8px;left:8px}
.fef-mq-pos-bottom-right{bottom:8px;right:8px}
.fef-mq-pos-bottom-center{bottom:8px;left:50%;transform:translateX(-50%)}
.fef-mq-pos-center-left{top:50%;left:8px;transform:translateY(-50%)}
.fef-mq-pos-center-right{top:50%;right:8px;transform:translateY(-50%)}
.fef-mq-pos-center{top:50%;left:50%;transform:translate(-50%,-50%)}

/* Badges */
.fef-mq-badges{position:absolute;z-index:6;display:flex;flex-wrap:wrap;gap:4px;pointer-events:none}
.fef-mq-badges-top-left{top:8px;left:8px}.fef-mq-badges-top-right{top:8px;right:8px}.fef-mq-badges-bottom-left{bottom:8px;left:8px}.fef-mq-badges-bottom-right{bottom:8px;right:8px}
.fef-mq-badge{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;color:#fff;background:#e91e63;line-height:1.2;white-space:nowrap}
.fef-mq-badge i{font-size:10px}

/* E-Commerce */
.fef-mq-ecom{position:absolute;bottom:0;left:0;right:0;z-index:7;display:flex;align-items:center;gap:4px;padding:6px 8px;background:rgba(255,255,255,.95);opacity:0;transform:translateY(100%);transition:all .3s ease}
.fef-mq-item:hover .fef-mq-ecom{opacity:1;transform:translateY(0)}
.fef-mq-cart-btn,.fef-mq-buy-btn{border:none;cursor:pointer;padding:6px 12px;border-radius:4px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:4px;transition:opacity .2s}
.fef-mq-cart-btn{background:#2e7d32;color:#fff}.fef-mq-buy-btn{background:#c62828;color:#fff}
.fef-mq-cart-btn:hover,.fef-mq-buy-btn:hover{opacity:.85}
.fef-mq-qty{width:48px;padding:4px 6px;border:1px solid #ddd;border-radius:4px;font-size:12px;text-align:center}

/* Arrows */
.fef-mq-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}
.fef-mq-arrow-left{left:8px}.fef-mq-arrow-right{right:8px}

/* Hover image swap — ONLY when item has data-hover-img attribute */
.fef-mq-img-hover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s ease;z-index:1}
.fef-mq-item[data-hover-img]:hover .fef-mq-img-hover{opacity:1}
.fef-mq-item[data-hover-img]:hover .fef-mq-img-main{opacity:0}

/* Template items */
.fef-mq-item-tpl{overflow:visible;height:auto}

/* Fish-eye — FIXED: overflow visible on viewport, items get smooth transform */
.fef-mq-fisheye .fef-mq-viewport{overflow:visible;padding:30px 0}
.fef-mq-fisheye .fef-mq-item{transition:transform .3s ease,border-radius .3s,box-shadow .3s;overflow:visible;z-index:1}

/* Popup trigger */
.fef-mq-popup-trigger{cursor:pointer}

/* No-loop */
.fef-mq-no-loop .fef-mq-track{justify-content:center}

/* ═══ HOVER EFFECTS ═══ */
.fef-mq-fx-zoom-in:hover .fef-mq-img{transform:scale(1.12)}
.fef-mq-fx-zoom-out .fef-mq-img{transform:scale(1.1)}.fef-mq-fx-zoom-out:hover .fef-mq-img{transform:scale(1)}
/* FIXED: overlay-fade uses semi-transparent not full gray */
.fef-mq-fx-overlay-fade:hover .fef-mq-overlay{background:var(--mq-overlay,rgba(0,0,0,.3)) !important}
.fef-mq-fx-slide-up-caption .fef-mq-caption{transform:translateY(100%)}.fef-mq-fx-slide-up-caption:hover .fef-mq-caption{transform:translateY(0)}
.fef-mq-fx-slide-down-caption .fef-mq-caption{transform:translateY(-100%)}.fef-mq-fx-slide-down-caption:hover .fef-mq-caption{transform:translateY(0)}
.fef-mq-fx-slide-left-overlay .fef-mq-overlay{transform:translateX(-100%)}.fef-mq-fx-slide-left-overlay:hover .fef-mq-overlay{transform:translateX(0);background:var(--mq-overlay) !important}
.fef-mq-fx-slide-right-overlay .fef-mq-overlay{transform:translateX(100%)}.fef-mq-fx-slide-right-overlay:hover .fef-mq-overlay{transform:translateX(0);background:var(--mq-overlay) !important}
.fef-mq-fx-grayscale-color .fef-mq-img{filter:grayscale(100%)}.fef-mq-fx-grayscale-color:hover .fef-mq-img{filter:grayscale(0%)}
.fef-mq-fx-color-grayscale:hover .fef-mq-img{filter:grayscale(100%)}
.fef-mq-fx-blur-hover:hover .fef-mq-img{filter:blur(4px)}.fef-mq-fx-blur-hover:hover .fef-mq-overlay{background:var(--mq-overlay,rgba(0,0,0,.3)) !important}
.fef-mq-fx-shine-sweep::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.3) 50%,transparent 70%);transform:translateX(-100%);transition:transform .6s ease;z-index:5;pointer-events:none}.fef-mq-fx-shine-sweep:hover::after{transform:translateX(100%)}
.fef-mq-fx-tilt-3d{perspective:800px}.fef-mq-fx-tilt-3d .fef-mq-img{transition:transform .3s ease}
.fef-mq-fx-rotate:hover .fef-mq-img{transform:rotate(5deg) scale(1.1)}
.fef-mq-fx-flip-h{perspective:800px}.fef-mq-fx-flip-h:hover .fef-mq-img{transform:rotateY(180deg)}
.fef-mq-fx-flip-v{perspective:800px}.fef-mq-fx-flip-v:hover .fef-mq-img{transform:rotateX(180deg)}
.fef-mq-fx-border-reveal::after{content:"";position:absolute;inset:6px;border:2px solid #fff;opacity:0;transition:all .3s;z-index:5;pointer-events:none;border-radius:inherit}.fef-mq-fx-border-reveal:hover::after{opacity:1}
/* FIXED: icon-reveal shows search icon centered without gray background */
.fef-mq-fx-icon-reveal::after{content:"\f002";font-family:"Font Awesome 5 Free";font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);font-size:28px;color:#fff;z-index:5;transition:transform .3s ease;pointer-events:none}.fef-mq-fx-icon-reveal:hover::after{transform:translate(-50%,-50%) scale(1)}.fef-mq-fx-icon-reveal:hover .fef-mq-overlay{background:var(--mq-overlay,rgba(0,0,0,.3)) !important}
/* FIXED: button centered, uses user's overlay color */
.fef-mq-fx-button-reveal::after{content:"View";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.8);opacity:0;padding:8px 24px;background:#fff;color:#333;font-size:13px;font-weight:600;border-radius:20px;z-index:8;transition:all .3s;pointer-events:none}.fef-mq-fx-button-reveal:hover::after{opacity:1;transform:translate(-50%,-50%) scale(1)}.fef-mq-fx-button-reveal:hover .fef-mq-overlay{background:var(--mq-overlay,rgba(0,0,0,.3)) !important}
.fef-mq-fx-text-fade .fef-mq-caption{opacity:0}.fef-mq-fx-text-fade:hover .fef-mq-caption{opacity:1}
.fef-mq-fx-text-slide .fef-mq-caption{transform:translateY(20px);opacity:0}.fef-mq-fx-text-slide:hover .fef-mq-caption{transform:translateY(0);opacity:1}
.fef-mq-fx-dark-overlay:hover .fef-mq-overlay{background:rgba(0,0,0,.6) !important}
.fef-mq-fx-gradient-overlay:hover .fef-mq-overlay{background:var(--mq-gradient) !important}
.fef-mq-fx-glow:hover{box-shadow:0 0 20px 4px rgba(255,255,255,.3)}
.fef-mq-fx-shadow-lift{transition:all .3s}.fef-mq-fx-shadow-lift:hover{transform:translateY(-6px);box-shadow:0 12px 30px rgba(0,0,0,.15)}
.fef-mq-fx-card-lift{transition:all .3s}.fef-mq-fx-card-lift:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 16px 40px rgba(0,0,0,.12)}
.fef-mq-fx-skew:hover .fef-mq-img{transform:skewX(-3deg) scale(1.05)}
.fef-mq-fx-scale-rotate:hover .fef-mq-img{transform:scale(1.1) rotate(3deg)}
.fef-mq-fx-zoom-overlay:hover .fef-mq-img{transform:scale(1.1)}.fef-mq-fx-zoom-overlay:hover .fef-mq-overlay{background:var(--mq-overlay,rgba(0,0,0,.3)) !important}
.fef-mq-fx-zoom-text:hover .fef-mq-img{transform:scale(1.1)}.fef-mq-fx-zoom-text .fef-mq-caption{opacity:0}.fef-mq-fx-zoom-text:hover .fef-mq-caption{opacity:1}
.fef-mq-fx-glassmorphism:hover .fef-mq-overlay{background:rgba(255,255,255,.15) !important;backdrop-filter:blur(8px)}
.fef-mq-fx-curtain-open::before,.fef-mq-fx-curtain-open::after{content:"";position:absolute;top:0;bottom:0;width:50%;z-index:4;transition:transform .4s ease;pointer-events:none;background:var(--mq-overlay,rgba(0,0,0,.4))}.fef-mq-fx-curtain-open::before{left:0}.fef-mq-fx-curtain-open::after{right:0}.fef-mq-fx-curtain-open:hover::before{transform:translateX(-100%)}.fef-mq-fx-curtain-open:hover::after{transform:translateX(100%)}
.fef-mq-fx-circle-reveal .fef-mq-overlay{clip-path:circle(0% at 50% 50%)}.fef-mq-fx-circle-reveal:hover .fef-mq-overlay{background:var(--mq-overlay) !important;clip-path:circle(75% at 50% 50%)}
.fef-mq-fx-diagonal-overlay .fef-mq-overlay{clip-path:polygon(0 0,0 0,0 100%,0 100%)}.fef-mq-fx-diagonal-overlay:hover .fef-mq-overlay{background:var(--mq-overlay) !important;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
.fef-mq-fx-image-pan .fef-mq-img{transform:scale(1.3)}.fef-mq-fx-image-pan:hover .fef-mq-img{transform:scale(1.3) translateX(-8%)}

/* ═══ FEF ACTION ICONS ═══ */
.fef-ai-wrap{display:flex;align-items:center;flex-wrap:wrap}
.fef-ai-vertical{flex-direction:column}
.fef-ai-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;padding:6px 8px;border-radius:4px;transition:all .25s ease;font-size:16px;line-height:1;position:relative}
.fef-ai-count{font-size:12px;line-height:1}.fef-ai-label{font-size:11px;line-height:1}.fef-ai-views{cursor:default}
.fef-ai-tpl-inline .fef-ai-btn{background:none}
.fef-ai-tpl-pill .fef-ai-btn{background:#f3f4f6;border-radius:20px;padding:6px 14px}.fef-ai-tpl-pill .fef-ai-btn:hover{background:#e5e7eb}.fef-ai-tpl-pill .fef-ai-btn.active{background:#fce4ec}
.fef-ai-tpl-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:8px 12px;box-shadow:0 1px 4px rgba(0,0,0,.06)}.fef-ai-tpl-card .fef-ai-btn{flex-direction:column;gap:2px;padding:8px 12px;border-radius:8px}.fef-ai-tpl-card .fef-ai-btn:hover{background:#f9fafb}
.fef-ai-tpl-floating{background:#1e293b;border-radius:30px;padding:6px 16px;box-shadow:0 4px 12px rgba(0,0,0,.15)}.fef-ai-tpl-floating .fef-ai-btn{color:#94a3b8}.fef-ai-tpl-floating .fef-ai-btn:hover{color:#fff}.fef-ai-tpl-floating .fef-ai-count,.fef-ai-tpl-floating .fef-ai-label{color:#94a3b8}
.fef-ai-fx-scale:hover{transform:scale(1.2)}.fef-ai-fx-bounce:hover{animation:fef-ai-bounce .4s ease}.fef-ai-fx-pulse:hover{animation:fef-ai-pulse .6s ease}.fef-ai-fx-shake:hover{animation:fef-ai-shake .4s ease}.fef-ai-fx-pop:hover{animation:fef-ai-pop .3s ease}.fef-ai-fx-rotate:hover{transform:rotate(15deg) scale(1.1)}
@keyframes fef-ai-bounce{0%,100%{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}
@keyframes fef-ai-pulse{0%{transform:scale(1)}50%{transform:scale(1.25)}100%{transform:scale(1)}}
@keyframes fef-ai-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
@keyframes fef-ai-pop{0%{transform:scale(1)}50%{transform:scale(1.35)}100%{transform:scale(1)}}