.zrj-fp-widget{width:100%;perspective:1000px}
.zrj-fp-card{position:relative;display:flex;width:100%;margin:0 auto;overflow:hidden;isolation:isolate;transform-style:preserve-3d;transition:transform .35s ease,box-shadow .35s ease}
.zrj-fp-card:hover{transform:translateY(-7px)}
.zrj-fp-spotlight{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.30),transparent 32%);opacity:0;transition:opacity .25s ease}
.zrj-fp-card.is-spotlight:hover .zrj-fp-spotlight{opacity:1}
.zrj-fp-media{position:relative;flex:0 0 43%;min-height:430px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.zrj-fp-image{position:relative;z-index:2;width:76%;height:76%;display:block;transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .35s ease}
.zrj-fp-card:hover .zrj-fp-image{filter:drop-shadow(0 22px 20px rgba(0,0,0,.14))}
.zrj-fp-card.is-floating .zrj-fp-image{animation:zrj-fp-float 4.5s ease-in-out infinite}
.zrj-fp-card:hover.is-floating .zrj-fp-image{animation-play-state:paused;transform:scale(1.045) translateY(-5px)}
.zrj-fp-badge{position:absolute;z-index:4;top:22px;left:22px;padding:8px 13px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;box-shadow:0 8px 20px rgba(0,0,0,.12)}
.zrj-fp-card.is-glow .zrj-fp-card.is-glow .zrj-fp-card.is-glow .zrj-fp-media:after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;background:rgba(11,79,74,.10);filter:blur(28px);animation:zrj-fp-pulse 3.5s ease-in-out infinite}
.zrj-fp-content{flex:1;padding:55px 55px 48px;display:flex;flex-direction:column;justify-content:center}
.zrj-fp-category{font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;margin-bottom:12px}
.zrj-fp-title{margin:0 0 15px;font-size:38px;line-height:1.12;color:#172321}
.zrj-fp-description{margin:0 0 22px;font-size:15px;line-height:1.75;color:#66706d;max-width:540px}
.zrj-fp-rating{display:flex;align-items:center;gap:9px;margin-bottom:28px}
.zrj-fp-stars{font-size:15px;letter-spacing:2px}
.zrj-fp-rating-count{font-size:12px;color:#888}
.zrj-fp-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px}
.zrj-fp-prices{display:flex;align-items:baseline;gap:9px}
.zrj-fp-price{font-size:25px;font-weight:800}
.zrj-fp-old-price{font-size:13px;color:#999;text-decoration:line-through}
.zrj-fp-button{display:inline-flex;align-items:center;gap:10px;padding:13px 19px;border-radius:12px;text-decoration:none;font-size:14px;font-weight:700;transition:transform .22s ease,background .22s ease,box-shadow .22s ease}
.zrj-fp-button span{transition:transform .22s ease}
.zrj-fp-button:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.13)}
.zrj-fp-button:hover span{transform:translateX(4px)}
.zrj-fp-placeholder{color:#888;font-size:14px}
@keyframes zrj-fp-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes zrj-fp-orbit{to{transform:rotate(360deg)}}
@keyframes zrj-fp-orbit-reverse{to{transform:rotate(-360deg)}}
@keyframes zrj-fp-pulse{0%,100%{transform:scale(.9);opacity:.45}50%{transform:scale(1.12);opacity:.85}}
@media(max-width:767px){
 .zrj-fp-card{flex-direction:column}
 .zrj-fp-media{flex-basis:auto;min-height:330px}
 .zrj-fp-content{padding:32px 25px 28px}
 .zrj-fp-title{font-size:29px}
 .zrj-fp-bottom{align-items:flex-start;flex-direction:column}
 .zrj-fp-button{width:100%;justify-content:center}
}
@media(prefers-reduced-motion:reduce){
 .zrj-fp-card,.zrj-fp-image,.zrj-fp-button{transition:none!important}
 .zrj-fp-card.is-floating .zrj-fp-image,.zrj-fp-card.is-glow .orbit-one,.zrj-fp-card.is-glow .orbit-two,.zrj-fp-card.is-glow .zrj-fp-media:after{animation:none!important}
}

/* V1 Upgrade: Product background + gradient system */
.zrj-fp-media{
 background:var(--zrj-img-bg,#F5F8F6);
}
.zrj-fp-widget[data-image-bg-mode="gradient"] .zrj-fp-media{
 background:
   linear-gradient(var(--zrj-ga,135deg),var(--zrj-g1,#F5F8F6),var(--zrj-g2,#E7F2EF));
}
.zrj-fp-widget[data-image-bg-mode="gradient"][data-gradient-type="radial"] .zrj-fp-media{
 background:
   radial-gradient(circle at var(--zrj-gx,50%) var(--zrj-gy,50%),var(--zrj-g1,#F5F8F6),var(--zrj-g2,#E7F2EF));
}
