/* فونت فقط داخل کارت‌های افزونه */
.fancy-product-wrap, .fancy-product-wrap *,
.fancy-suggest, .fancy-suggest *{
  font-family: inherit !important;
}

.fancy-product-wrap{
  margin:20px 0; display:flex; flex-direction:column; gap:14px;
}

.fancy-product-box{
  display:flex; gap:16px; align-items:center; padding:16px; border-radius:16px;
  position:relative; overflow:hidden; border:1px solid rgba(255,255,255,.35);
  box-shadow:0 10px 28px rgba(0,0,0,.12); transition:.35s ease;
  animation:fancyEnter .55s ease-out; isolation:isolate;
  text-align:center; justify-content:center;
}

.fancy-product-box:hover{
  transform:translateY(-5px) scale(1.01);
  box-shadow:0 16px 36px rgba(0,0,0,.18);
}

.fancy-product-box::before{
  content:""; position:absolute; inset:-2px; z-index:-1;
  background: var(--bg, #fff);
}

.fancy-product-box::after{
  content:""; position:absolute; inset:-40%;
  background: radial-gradient(circle, rgba(255,255,255,.35), transparent 60%);
  transform:translateX(-60%); animation: shineMove 3.5s linear infinite;
  z-index:0; mix-blend-mode:screen;
}

/* سایزها */
.fhp-size-sm{ padding:10px; gap:10px; border-radius:12px; }
.fhp-size-md{ padding:16px; gap:16px; border-radius:16px; }
.fhp-size-lg{ padding:20px; gap:18px; border-radius:18px; }
.fhp-size-xl{ padding:26px; gap:20px; border-radius:20px; }

.fhp-size-sm .fancy-product-image img{ width:120px; }
.fhp-size-md .fancy-product-image img{ width:180px; }
.fhp-size-lg .fancy-product-image img{ width:230px; }
.fhp-size-xl .fancy-product-image img{ width:280px; }

.fancy-product-image{ display:flex; justify-content:center; }
.fancy-product-image img{
  height:auto; border-radius:14px; object-fit:cover; display:block;
  box-shadow:0 8px 18px rgba(0,0,0,.2);
}

.fancy-product-content{
  flex:1; display:flex; flex-direction:column; gap:8px; z-index:1;
  align-items:center; text-align:center;
}

.fancy-product-title{ font-size:20px; margin:0; line-height:1.6; }
.fancy-product-title a{ text-decoration:none; color:var(--title,#111); }

.fancy-product-price{
  font-size:18px; font-weight:800; color:var(--price,#0a0);
  text-shadow:0 2px 10px rgba(0,0,0,.15);
}

.fancy-product-excerpt{
  font-size:14px; color:var(--text,#222); opacity:.95;
  background: rgba(255,255,255,0.75);
  padding: 8px 10px; border-radius: 10px;
  border: 1px dashed rgba(0,0,0,0.12);
}
.fancy-product-excerpt a{
  text-decoration:none !important; border-bottom:none !important; color:inherit;
}

/* دکمه‌ها */
.fancy-product-actions{
  display:flex; gap:8px; flex-wrap:wrap; justify-content:center;
}
.fancy-product-actions .button{
  border-radius:10px; padding:9px 14px; font-weight:800; border:none;
  background:var(--btn,#111); color:var(--btnText,#fff);
  transition:.25s ease; text-decoration:none !important;
}
.fancy-product-actions .add_to_cart_button{
  animation: fhpPulse 1.6s ease-in-out infinite;
}
.fancy-product-actions .button:hover{
  transform:translateY(-2px); filter:saturate(1.2);
}
.fancy-product-view{
  animation:none !important; background:transparent !important;
  color:var(--btn,#111) !important;
  border:2px dashed var(--btn,#111) !important;
}

/* پیشنهادها */
.fancy-suggest{
  padding:10px; border-radius:14px; overflow:hidden;
  border:1px solid rgba(255,255,255,.35);
  box-shadow:0 8px 22px rgba(0,0,0,.08);
  background: var(--bg, #fff);
  text-align:center;
}
.fancy-suggest-title{
  margin:0 0 8px; font-size:15px; font-weight:900; color:var(--title,#111);
}
.fancy-suggest-grid{
  display:flex; flex-wrap:nowrap; gap:8px; overflow-x:auto;
  padding-bottom:4px; scroll-snap-type:x mandatory;
}
.fancy-suggest-item{
  flex:0 0 auto; display:flex; flex-direction:row; align-items:center;
  gap:8px; padding:6px 8px; border-radius:10px;
  text-decoration:none !important; background:rgba(255,255,255,.7);
  transition:.25s ease; scroll-snap-align:start; justify-content:center;
}
.fancy-suggest-item:hover{ transform:translateY(-3px); }
.fancy-suggest-name{
  font-size:12px; line-height:1.4; font-weight:800; color:#111;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden; text-align:center; width:100%;
}
.fancy-suggest-price{ font-size:12px; font-weight:800; opacity:.9; }

.fhp-suggest-thumb .fancy-suggest-thumb{ width:56px; height:56px; flex:0 0 56px; }
.fhp-suggest-sm    .fancy-suggest-thumb{ width:72px; height:72px; flex:0 0 72px; }
.fhp-suggest-md    .fancy-suggest-thumb{ width:90px; height:90px; flex:0 0 90px; }

.fancy-suggest-thumb{ overflow:hidden; border-radius:8px; }
.fancy-suggest-thumb img{ width:100%; height:100%; object-fit:cover; border-radius:8px; }

.fancy-style-warning{ background:#fff0f0; border:1px solid #ffc6c6; color:#900; }

@keyframes fancyEnter{ from{transform:translateY(10px) scale(.98);opacity:0;} to{transform:translateY(0) scale(1);opacity:1;} }
@keyframes shineMove{ 0%{transform:translateX(-60%) rotate(8deg);} 100%{transform:translateX(60%) rotate(8deg);} }
@keyframes floaty{ 0%,100%{transform:translateY(0);} 50%{transform:translateY(-4px);} }
@keyframes rainbowShift{ 0%{background-position:0% 50%;} 100%{background-position:100% 50%;} }
@keyframes pulseGlow{ 0%,100%{filter:drop-shadow(0 0 0 rgba(0,255,160,0));} 50%{filter:drop-shadow(0 0 12px rgba(0,255,160,.7));} }
@keyframes fhpPulse{ 0%,100%{transform:scale(1);box-shadow:0 0 0 rgba(0,0,0,0);} 50%{transform:scale(1.04);box-shadow:0 8px 20px rgba(0,0,0,.25);} }

/* 20 پوسته scoped */
.fancy-product-box.style1,.fancy-suggest.style1{--bg:linear-gradient(135deg,#00ff9d,#00c2ff);--title:#041b12;--text:#06291c;--price:#003b25;--btn:#053d2a;--btnText:#fff;animation:pulseGlow 2.4s ease-in-out infinite;}
.fancy-product-box.style2,.fancy-suggest.style2{--bg:linear-gradient(135deg,#ff512f,#dd2476);--title:#fff;--text:#fff;--price:#fff;--btn:#111;--btnText:#fff;}
.fancy-product-box.style3,.fancy-suggest.style3{--bg:radial-gradient(circle at top left,#7f00ff,#e100ff,#00c6ff);--title:#fff;--text:#f7f7ff;--price:#fff;--btn:#fff;--btnText:#111;}
.fancy-product-box.style4,.fancy-suggest.style4{--bg:linear-gradient(135deg,#f6d365,#fda085);--title:#3b2400;--text:#3b2400;--price:#111;--btn:#3b2400;--btnText:#fff;}
.fancy-product-box.style5,.fancy-suggest.style5{--bg:linear-gradient(135deg,#c2e9fb,#a1c4fd);--title:#0b1f3a;--text:#0b1f3a;--price:#0b1f3a;--btn:#0b1f3a;--btnText:#fff;}
.fancy-product-box.style6,.fancy-suggest.style6{--bg:linear-gradient(135deg,#a8ff78,#78ffd6);--title:#053b2a;--text:#053b2a;--price:#053b2a;--btn:#053b2a;--btnText:#fff;animation:floaty 3.2s ease-in-out infinite;}
.fancy-product-box.style7,.fancy-suggest.style7{--bg:linear-gradient(135deg,#111,#222);--title:#fff;--text:#ddd;--price:#00f5ff;--btn:#00f5ff;--btnText:#111;}
.fancy-product-box.style8,.fancy-suggest.style8{--bg:linear-gradient(135deg,#654ea3,#eaafc8);--title:#fff;--text:#fff;--price:#fff;--btn:#2b0a3d;--btnText:#fff;}
.fancy-product-box.style9,.fancy-suggest.style9{--bg:linear-gradient(135deg,#36d1dc,#5b86e5);--title:#fff;--text:#eaf6ff;--price:#fff;--btn:#0a2a66;--btnText:#fff;}
.fancy-product-box.style10,.fancy-suggest.style10{--bg:linear-gradient(90deg,#ff00cc,#3333ff,#00ffcc,#ffee00,#ff6600);--title:#111;--text:#111;--price:#111;--btn:#111;--btnText:#fff;background-size:300% 300%;animation:rainbowShift 4s linear infinite;}
.fancy-product-box.style11,.fancy-suggest.style11{--bg:linear-gradient(135deg,#fbd3e9,#bb377d);--title:#fff;--text:#fff;--price:#fff;--btn:#5a0d37;--btnText:#fff;}
.fancy-product-box.style12,.fancy-suggest.style12{--bg:linear-gradient(135deg,#0f2027,#203a43,#2c5364);--title:#9dffcc;--text:#d7ffe9;--price:#9dffcc;--btn:#9dffcc;--btnText:#0f2027;}
.fancy-product-box.style13,.fancy-suggest.style13{--bg:linear-gradient(135deg,#ff9966,#ff5e62);--title:#fff;--text:#fff;--price:#fff;--btn:#4a0c0c;--btnText:#fff;}
.fancy-product-box.style14,.fancy-suggest.style14{--bg:linear-gradient(135deg,#bdc3c7,#2c3e50);--title:#fff;--text:#eee;--price:#fff;--btn:#fff;--btnText:#111;}
.fancy-product-box.style15,.fancy-suggest.style15{--bg:linear-gradient(135deg,#fbc2eb,#a6c1ee);--title:#2a0f3a;--text:#2a0f3a;--price:#111;--btn:#2a0f3a;--btnText:#fff;}
.fancy-product-box.style16,.fancy-suggest.style16{--bg:radial-gradient(circle at top,#ff1e56,#ffac41);--title:#fff;--text:#fff;--price:#fff;--btn:#111;--btnText:#fff;}
.fancy-product-box.style17,.fancy-suggest.style17{--bg:linear-gradient(135deg,#00c853,#000);--title:#fff;--text:#e5ffe9;--price:#fff;--btn:#00c853;--btnText:#000;}
.fancy-product-box.style18,.fancy-suggest.style18{--bg:linear-gradient(135deg,#396afc,#2948ff);--title:#fff;--text:#eaf0ff;--price:#fff;--btn:#fff;--btnText:#111;}
.fancy-product-box.style19,.fancy-suggest.style19{--bg:linear-gradient(135deg,#f7971e,#ffd200);--title:#111;--text:#111;--price:#111;--btn:#111;--btnText:#fff;}
.fancy-product-box.style20,.fancy-suggest.style20{--bg:rgba(255,255,255,.25);--title:#111;--text:#111;--price:#111;--btn:#111;--btnText:#fff;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.8);}

.fhp-align-center{ text-align:center !important; }
.fhp-align-right{ text-align:right !important; direction:rtl; }

#fhp-live-preview-wrap{
  background:#fff; padding:12px; border:1px dashed #ccc; border-radius:12px;
}
