.spx-product-carousel{width:100%}
/* ---- Card shell: bigger radius, softer shadow, hover lift — Almasian look ---- */
.spx-product-card{display:flex;height:100%;flex-direction:column;background:#fff;border:1px solid var(--alm-border,#e3ddf5);border-radius:var(--alm-radius,20px);box-shadow:var(--alm-shadow-sm,0 8px 22px rgba(76,42,165,.08));overflow:hidden;transition:transform 280ms cubic-bezier(.2,.8,.2,1),box-shadow 280ms cubic-bezier(.2,.8,.2,1)}
.spx-product-card:hover{transform:translateY(-5px);box-shadow:var(--alm-shadow-md,0 16px 40px rgba(76,42,165,.13));border-color:#d5c8f2}
/* ---- Image: wide 16/10 instead of square 1/1 ---- */
.spx-product-image{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:var(--alm-bg-soft,#f7f3fe);overflow:hidden;position:relative}
.spx-product-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.spx-product-card:hover .spx-product-image img{transform:scale(1.045)}
.spx-image-placeholder{color:var(--spx-muted,#6f6893);font-size:14px}
/* ---- Content: roomier padding, stronger typography ---- */
.spx-product-card .spx-product-content{display:flex;flex:1;flex-direction:column;padding:18px 18px 20px}
.spx-product-card-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:26px;margin-bottom:10px;font-size:12px}
.spx-product-card-category{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.spx-product-card-category a{display:inline-block;color:var(--alm-primary,#6c2bd9);background:var(--alm-primary-soft,#efe7fd);border-radius:999px;padding:4px 12px;font-size:11.5px;font-weight:700;text-decoration:none;transition:background 200ms}
.spx-product-card-category a:hover{background:#e2d4fb;text-decoration:none}
.spx-category-separator{color:var(--spx-muted,#6f6893)}
.spx-product-card-rating{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;color:var(--spx-muted,#6f6893);font-size:12px;font-weight:600;text-decoration:none}
.spx-product-card-rating:hover{color:var(--alm-primary,#6c2bd9)}
.spx-card-star-single{color:#f59e0b;font-size:15px;line-height:1}
.spx-product-card-rating small{font-size:11px;color:#a9a3c2}
.spx-card-no-rating{color:#a9a3c2;font-weight:500}
.spx-product-card .spx-product-title{font-size:16.5px;line-height:1.65;margin:0 0 4px;min-height:0;font-weight:800;color:var(--spx-text,#14101f)}
.spx-product-card .spx-product-title a{color:inherit;text-decoration:none;transition:color 200ms}
.spx-product-card .spx-product-title a:hover{color:var(--alm-primary,#6c2bd9)}
/* Coach line under the title (online courses + in-person classes) */
.spx-product-card-coach{display:flex;align-items:center;justify-content:center;gap:6px;margin:6px 0 12px;color:var(--spx-muted,#6f6893);font-size:12.5px;font-weight:600}
.spx-product-card-coach a{color:var(--alm-ink,#14101f);text-decoration:none;font-weight:700;transition:color 200ms}
.spx-product-card-coach a:hover{color:var(--alm-primary,#6c2bd9)}
/* ---- Price row ---- */
.spx-product-card-price-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px}
.spx-product-card-price-row .spx-price{display:flex;flex-wrap:wrap;align-items:center;gap:7px;min-height:32px;margin:0;font-size:16px}
.spx-product-card-price-row .spx-price del{font-size:12px}
.spx-product-card-price-row .spx-price ins{font-size:16px}
.spx-discount-badge{display:inline-flex;align-items:center;border-radius:999px;background:#fff1eb;color:var(--spx-danger,#c2410c);padding:5px 9px;font-size:11px;font-weight:800;white-space:nowrap}
.spx-product-card .spx-product-actions{display:block;margin-top:auto;padding-top:14px}
.spx-product-card .spx-product-actions .spx-add{width:100%;border-radius:12px;padding:12px 16px;font-size:13.5px}
/* Add-to-cart busy state: inline spinner + dimmed label (works on any .spx-add) */
.spx-add.is-adding{pointer-events:none;opacity:.85;display:inline-flex!important;align-items:center;justify-content:center;gap:8px}
.spx-add .spx-add-spinner{display:inline-block;flex:0 0 15px;width:15px;height:15px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:spx-add-spin .7s linear infinite}
@keyframes spx-add-spin{to{transform:rotate(360deg)}}
@media(max-width:700px){
	.spx-product-card .spx-product-content{padding:15px 15px 17px}
	.spx-product-card .spx-product-title{font-size:15.5px}
	/* قیمت و بج تخفیف در یک خط کنار هم (مثل دسکتاپ) */
	.spx-product-card-price-row{align-items:center;flex-direction:row;flex-wrap:nowrap;justify-content:center;gap:6px;min-height:0}
	/* min-width:0 و flex-shrink اجازه می‌دهند در فضای تنگ فشرده شوند
	   به‌جای اینکه بج تخفیف به خط بعد بیفتد. */
	.spx-product-card-price-row .spx-price{font-size:14.5px;flex-wrap:nowrap;min-height:0;min-width:0;flex-shrink:1;align-items:center;gap:5px}
	.spx-product-card-price-row .spx-price ins{font-size:14.5px;flex-shrink:0}
	.spx-product-card-price-row .spx-price del{font-size:11px}
	.spx-discount-badge{flex:0 0 auto;flex-shrink:0;padding:3px 8px;font-size:9.5px;white-space:nowrap}
}

/* In-person class card: contact label instead of price + view link */
.spx-product-card-contact-label{display:inline-flex;align-items:center;gap:6px;padding:6px 15px;border-radius:999px;background:linear-gradient(135deg,rgba(108,43,217,.12),rgba(127,181,255,.16));color:var(--alm-primary,#6c2bd9);font-size:13px;font-weight:800}
.spx-product-card-contact-label::before{content:'📍';font-size:13px}
.spx-view-class{display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none}
.spx-view-class::after{content:'←';transition:transform .2s}
.spx-view-class:hover::after{transform:translateX(-3px)}
/* Category thumbnails in filter sidebar */
.spx-category-thumb{width:30px;height:30px;border-radius:8px;object-fit:cover;flex:0 0 30px;box-shadow:0 2px 6px rgba(108,43,217,.12)}
.spx-product-card-price-from{display:inline-flex;align-items:center;gap:4px;color:var(--alm-primary,#6c2bd9);font-size:16px;font-weight:800}
/* In-person price centered (no discount side) */
.spx-product-card-price-row .spx-product-card-price-from{margin-inline:auto}
.spx-product-card-price-row .spx-product-card-contact-label{margin-inline:auto}
/* In-person "view class" link: force full-width, truly centered. */
a.spx-button.spx-view-class{
  display:flex !important;
  width:100% !important;
  justify-content:center !important;
  align-items:center !important;
  text-align:center !important;
  padding:12px !important;
  margin:0 !important;
  float:none !important;
  border-radius:12px !important;
  box-sizing:border-box !important;
}
a.spx-button.spx-view-class::after{content:none !important}
