/* DM Gold — پل: قلاب‌های جدید قالب نو که در CSS منتقل‌شدهٔ طراحان وجود ندارند.
   (custom propertyها، کلاس‌های جایگزینِ استایل‌های این‌لاینِ حذف‌شده، و پنل مستقل مینی‌کارت) */

/* وضعیت مخفی عمومی (جایگزین display:none این‌لاین) */
.dm-hidden { display: none !important; }

/* فاصلهٔ پویای سکشن‌های صفحهٔ اصلی (جایگزین margin-bottom این‌لاین) */
.dm-hp-section,
.dm-hp-hero-full { margin-bottom: var(--dm-section-mb, 48px); }

/* نوار پیشرفت ارسال رایگان (جایگزین width این‌لاین) */
.dm-freeship-bar span { width: var(--dm-progress, 0%); }

/* ستاره‌های امتیاز صفحهٔ محصول (جایگزین fill این‌لاین) */
.dm-star { vertical-align: middle; }
.dm-star.is-filled { color: #2f8f8a; }
.dm-star.is-empty  { color: #E5E7EB; }

/* رنگ آیکن‌های نوار خدمات صفحهٔ محصول (جایگزین پالت این‌لاین) */
.dm-sp-svc-c0 .dm-sp-svc-icon { color: #6c63ff; }
.dm-sp-svc-c1 .dm-sp-svc-icon { color: #f59e0b; }
.dm-sp-svc-c2 .dm-sp-svc-icon { color: #10b981; }
.dm-sp-svc-c3 .dm-sp-svc-icon { color: #3b82f6; }
.dm-sp-svc-c4 .dm-sp-svc-icon { color: #ef4444; }
.dm-sp-svc-c5 .dm-sp-svc-icon { color: #8b5cf6; }

/* بنر دوتایی تک‌خانه‌ای (جایگزین grid-template-columns این‌لاین) */
.dm-promo-boxes--single { grid-template-columns: 1fr !important; }

/* صفحهٔ ۴۰۴ (در قالب قدیم این‌لاین بود) */
.dm-404-inner { text-align: center; padding: 100px 15px; }
.dm-404-code { font-size: 120px; line-height: 1; color: var(--dm-primary, #B43F3F); margin: 0 0 20px; font-weight: 900; }
.dm-404-title { font-size: 24px; color: var(--dm-text, #333); margin: 0 0 16px; }
.dm-404-text { color: #666; margin: 0 0 32px; }
.dm-404-btn { display: inline-block; padding: 12px 30px; border-radius: var(--dm-radius, 10px); background: var(--dm-primary, #B43F3F); color: #fff; }
.dm-no-content { padding: 60px 0; text-align: center; color: #666; }
.dm-page-links { margin-top: 16px; display: flex; gap: 6px; }

/* آیکن سبد فالبک هدر (وقتی افزونهٔ مینی‌کارت نیست) */
.dm-header-cart-fallback { position: relative; display: inline-flex; }
.dm-header-cart-fallback .cart-count {
    position: absolute; top: -8px; left: -8px; min-width: 18px; height: 18px;
    line-height: 18px; text-align: center; font-size: 11px; border-radius: 9px;
    background: var(--dm-primary, #B43F3F); color: #fff; padding: 0 4px;
}

/* ── پنل مستقل مینی‌کارت قالب (off-canvas) ── */
.dm-mini-cart-overlay {
    position: fixed; inset: 0; background: rgba(0,0,0,.45);
    opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s; z-index: 99998;
}
.dm-mini-cart-overlay.is-open { opacity: 1; visibility: visible; }
.dm-mini-cart-panel {
    position: fixed; top: 0; bottom: 0; left: 0; width: 360px; max-width: 90vw;
    background: #fff; z-index: 99999; display: flex; flex-direction: column;
    transform: translateX(-100%); transition: transform .28s ease; box-shadow: 0 0 30px rgba(0,0,0,.18);
}
.dm-mini-cart-panel.is-open { transform: translateX(0); }
.dm-mini-cart-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 16px 18px; border-bottom: 1px solid var(--dm-border, #eee);
}
.dm-mini-cart-header h3 { margin: 0; font-size: 16px; }
.dm-mini-cart-close { background: none; border: 0; cursor: pointer; color: #666; padding: 4px; }
.dm-mini-cart-body { flex: 1; overflow-y: auto; padding: 14px 18px; }
.dm-mini-cart-footer { border-top: 1px solid var(--dm-border, #eee); padding: 14px 18px; }
.mini-cart-loading { display: flex; justify-content: center; padding: 40px 0; }
.mini-cart-spinner {
    width: 28px; height: 28px; border: 3px solid var(--dm-border, #eee);
    border-top-color: var(--dm-primary, #B43F3F); border-radius: 50%; animation: dm-spin .8s linear infinite;
}
@keyframes dm-spin { to { transform: rotate(360deg); } }
.dm-mini-cart-item { display: flex; gap: 10px; align-items: flex-start; padding: 10px 0; border-bottom: 1px solid var(--dm-border, #f0f0f0); }
.dm-mini-cart-item img { border-radius: 8px; }
.mini-cart-item-details { flex: 1; font-size: 13px; }
.mini-cart-item-details a { font-weight: 600; display: block; margin-bottom: 4px; }
.mini-cart-remove-btn { background: none; border: 0; cursor: pointer; color: #c00; }
.mini-cart-total-row { display: flex; justify-content: space-between; font-weight: 700; margin-bottom: 12px; }
.mini-cart-actions { display: flex; gap: 8px; }
.mini-cart-btn { flex: 1; text-align: center; padding: 10px; border-radius: var(--dm-radius, 10px); }
.mini-cart-btn-cart { background: var(--dm-bg-soft, #f5f5f5); }
.mini-cart-btn-checkout { background: var(--dm-primary, #B43F3F); color: #fff; }

/* آیکن واحد پول (تومان) — جایگزین fill:currentColor این‌لاینِ حذف‌شده */
.dm-currency-icon { width: 1em; height: 1em; fill: currentColor; vertical-align: -.12em; }
.dm-price-suffix-img { height: 1em; width: auto; vertical-align: -.12em; }

/* نوار ارسال رایگان — متن */
.dm-cart-totals__freeship { margin: 12px 0; }
.dm-freeship-text { font-size: 13px; margin: 0 0 6px; }
.dm-freeship-text span { font-weight: 700; color: var(--dm-primary, #B43F3F); }
.dm-freeship-done { color: #10b981; }
.dm-freeship-bar { height: 6px; background: var(--dm-bg-soft, #eee); border-radius: 6px; overflow: hidden; }
.dm-freeship-bar span { display: block; height: 100%; background: var(--dm-primary, #B43F3F); transition: width .4s; }

/* نظرات (قالب جدید comments.php دارد؛ در قالب قدیم نبود) */
.dm-comments { margin-top: 28px; }
.dm-comments-title { font-size: 17px; margin: 0 0 16px; }
.dm-comment-list { list-style: none; margin: 0 0 20px; padding: 0; }
.dm-comment-list .comment { padding: 14px 0; border-bottom: 1px solid var(--dm-border, #eee); }
.dm-comment-list .comment-author .fn { font-weight: 700; }
.dm-comment-list .comment-meta { font-size: 12px; color: #888; }
.dm-comments-closed { color: #888; font-size: 13px; }
.dm-comment-form input[type="text"],
.dm-comment-form input[type="email"],
.dm-comment-form input[type="url"],
.dm-comment-form textarea { width: 100%; max-width: 100%; border: 1px solid var(--dm-border, #ddd); border-radius: var(--dm-radius, 8px); padding: 10px; margin-bottom: 12px; }
