/* ============================================================
   DMHouse — HEADER STYLES  v3
   ============================================================ */

/* ─── Reset ایزوله ─── */
.dm-main-header *,
.dm-main-header *::before,
.dm-main-header *::after {
    box-sizing: border-box !important;
}

.dm-main-header ul,
.dm-main-header li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.dm-main-header a {
    text-decoration: none !important;
    box-shadow: none !important;
    color: inherit;
}

.dm-main-header img {
    max-width: 100%;
    display: block;
    box-shadow: none !important;
    border: none !important;
}

.dm-main-header button {
    font-family: inherit;
}


/* ════════════════════════════════════════════
   CSS Variables — رنگ‌بندی داینامیک
   (مقادیر از PHP در wp_head override می‌شوند)
   ════════════════════════════════════════════ */
:root {
    --dm-primary:var(--dm-primary);
    --dm-primary-10: rgba(180, 63, 63, 0.08);
    --dm-primary-20: rgba(180, 63, 63, 0.18);
    --dm-primary-tint: #fdf2f2;
    --dm-text: #1a1a1a;
    --dm-text-light: #888;
    --dm-border: #e8e8e8;
    --dm-bg-soft: #f8f9fb;
    --dm-white: #fff;
    --dm-radius: 10px;
    --dm-action-text: #444;
}


/* ════════════════════════════════════════════
   نوار تبلیغاتی بالای صفحه
   ════════════════════════════════════════════ */
.site-top-banner {
    width: 100%;
    display: block;
    line-height: 0;
}

.site-top-banner a {
    display: block;
    width: 100%;
}

.site-top-banner img {
    width: 100%;
    height: auto;
    display: block;
}


/* ════════════════════════════════════════════
   Wrapper اصلی هدر
   ════════════════════════════════════════════ */

.header-desktop {
    background-color: var(--dm-bg-soft) !important;
}

.dm-main-header {
    width: 100% !important;
    max-width: 100% !important;
    direction: rtl !important;
    background: var(--dm-white) !important;
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.07) !important;
    position: relative !important;
    z-index: 200 !important;
    background-color: var(--dm-bg-soft);
}

.dm-header-container {
    width: 100% !important;
    max-width: 1500px !important;
    margin: 0 auto !important;
    /*padding: 0 24px !important;*/
    position: static !important;
    background-color: var(--dm-bg-soft);
}


/* ════════════════════════════════════════════
   ردیف ۱: لوگو + جستجو + اکشن‌ها
   ════════════════════════════════════════════ */
.header-main-row {
    display: flex !important;
    align-items: center !important;
    gap: 24px !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid var(--dm-border) !important;
}

/* لوگو */
.header-logo {
    flex: 0 0 auto !important;
}

.header-logo a {
    display: block !important;
}

.header-logo img {
    max-height: 48px !important;
    width: auto !important;
}

.header-logo .logo-text {
    font-size: 22px;
    font-weight: 900;
    color: var(--dm-text);
}

/* جستجو */
.header-search {
    flex: 1 !important;
    max-width: 600px !important;
}

.header-search form {
    display: flex !important;
    align-items: center !important;
    background: var(--dm-bg-soft) !important;
    border-radius: 12px !important;
    padding: 0 14px !important;
    height: 48px !important;
    border: 1.5px solid transparent !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
    gap: 8px !important;
}

.header-search form:focus-within {
    border-color: var(--dm-primary) !important;
    background: var(--dm-white) !important;
    box-shadow: 0 4px 14px var(--dm-primary-10) !important;
}

.header-search input[type="search"],
.header-search input[type="text"] {
    flex: 1 !important;
    border: none !important;
    background: transparent !important;
    outline: none !important;
    font-size: 13px !important;
    color: var(--dm-text) !important;
    direction: rtl !important;
    padding: 0 !important;
    height: 100% !important;
    box-shadow: none !important;
    font-family: inherit;
}

.header-search button[type="submit"] {
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    color: #999 !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
    transition: color 0.2s !important;
}

.header-search button[type="submit"]:hover {
    color: var(--dm-primary) !important;
}

/* شورت‌کدِ افزونه‌ی جستجو ([dm_search_input]) یک آیکونِ ثانویه هم به اسمِ leading-icon داخلِ
   فیلد می‌گذارد؛ دیزاینِ قبلیِ هدر فقط یک آیکون (همان دکمه‌ی submit) داشت، پس این یکی مخفی
   می‌شود تا دو آیکون کنارِ هم دیده نشود. بقیه‌ی ظاهر (رنگ/گردی/ارتفاعِ باکس) از قوانینِ بالا
   می‌آید چون آن‌ها روی خودِ تگ‌های form/input[type]/button[type] نشسته‌اند، نه کلاسِ افزونه. */
.header-search .dms-inline-search__leading-icon,
.mobile-search-wrapper .dms-inline-search__leading-icon {
    display: none !important;
}

/* اکشن‌ها */
.header-actions {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-right: auto !important;
}

.action-btn {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: var(--dm-action-text) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    padding: 9px 15px !important;
    border: 1.5px solid var(--dm-border) !important;
    border-radius: var(--dm-radius) !important;
    transition: all 0.2s !important;
    white-space: nowrap !important;
    background: var(--dm-border) !important;
    cursor: pointer !important;
    text-decoration: none !important;
    position: relative !important;
}

.action-btn:hover {
    border-color: var(--dm-primary) !important;
    color: var(--dm-primary) !important;
    background: var(--dm-primary-tint, #fdf2f2) !important;
}

.btn-cart {
    padding: 9px 12px !important;
}

.cart-count {
    position: absolute !important;
    top: -5px !important;
    left: -5px !important;
    min-width: 20px !important;
    height: 20px !important;
    background: var(--dm-primary) !important;
    color: var(--dm-white) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    border-radius: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 4px !important;
    border: 2px solid var(--dm-white) !important;
    line-height: 1 !important;
}


/* ════════════════════════════════════════════
   ردیف ۲: مگامنو + منوی اصلی + پشتیبانی
   ════════════════════════════════════════════ */
.header-nav-row {
    display: flex !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    gap: 16px !important;
    min-height: 52px !important;
}

.nav-right {
    display: flex !important;
    align-items: stretch !important;
    gap: 4px !important;
}

.nav-left {
    display: flex !important;
    align-items: center !important;
}

/* منوی اصلی */
.header-primary-nav {
    display: flex !important;
    align-items: center !important;
}

.primary-menu-list {
    display: flex !important;
    align-items: center !important;
    gap: 2px !important;
}

.primary-menu-list > li {
    position: static !important;
}

.primary-menu-list > li > a {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #555 !important;
    padding: 0 12px !important;
    height: 52px !important;
    border-bottom: 3px solid transparent !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    transition: all 0.2s !important;
    white-space: nowrap !important;
}

.primary-menu-list > li > a:hover {
    color: var(--dm-primary) !important;
    border-bottom-color: var(--dm-primary) !important;
}

.support-link {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--dm-action-text) !important;
    white-space: nowrap !important;
    text-decoration: none !important;
}

.support-link svg {
    color: var(--dm-primary);
    flex-shrink: 0;
}

.support-link:hover {
    color: var(--dm-primary) !important;
}


/* ════════════════════════════════════════════
   دسکتاپ / موبایل visibility
   ════════════════════════════════════════════ */
.header-desktop {
    display: none !important;
}

.header-mobile {
    display: block !important;
}

@media (min-width: 992px) {
    .header-desktop {
        display: block !important;
    }

    .header-mobile {
        display: none !important;
    }

    /* ★ استیکی ناو موبایل روی دسکتاپ مخفی */
    .mobile-sticky-nav,
    .dm-main-header ~ .mobile-sticky-nav {
        display: none !important;
    }

}


/* ════════════════════════════════════════════
   هدر موبایل
   ════════════════════════════════════════════ */
.header-mobile {
    padding: 10px 16px !important;
    border-bottom: 1px solid var(--dm-border) !important;
    background: var(--dm-white) !important;
}

.mobile-top-row {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 10px !important;
}

.mobile-logo img {
    max-height: 30px !important;
    width: auto !important;
}

.mobile-actions {
    margin-right: auto !important;
    display: flex !important;
    gap: 8px !important;
    align-items: center !important;
}

.mobile-icon-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    background: transparent !important;
    border: 1.5px solid var(--dm-border) !important;
    border-radius: var(--dm-radius) !important;
    color: #555 !important;
    cursor: pointer !important;
    position: relative !important;
    transition: all 0.2s !important;
    text-decoration: none !important;
    padding: 0px;
}

.mobile-icon-btn:hover {
    border-color: var(--dm-primary) !important;
    color: var(--dm-primary) !important;
}

.mobile-search-wrapper form {
    display: flex !important;
    align-items: center !important;
    background: var(--dm-bg-soft) !important;
    border-radius: var(--dm-radius) !important;
    padding: 0 12px !important;
    height: 44px !important;
    gap: 8px !important;
    border: 1.5px solid transparent !important;
}

.mobile-search-wrapper form:focus-within {
    border-color: var(--dm-primary) !important;
    background: var(--dm-white) !important;
}

.mobile-search-wrapper input {
    flex: 1 !important;
    border: none !important;
    background: transparent !important;
    outline: none !important;
    font-size: 13px !important;
    direction: rtl !important;
    color: #333 !important;
    padding: 0 !important;
}

.mobile-search-wrapper button {
    background: transparent !important;
    border: none !important;
    color: #888 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    padding: 0 !important;
}


/* ─── نوار استیکی پایین موبایل ─── */
.mobile-sticky-nav {
    position: fixed !important;
    bottom: 0 !important;
    right: 0 !important; /* ★ RTL: از راست */
    left: 0 !important;
    background: var(--dm-white) !important;
    box-shadow: 0 -3px 20px rgba(0, 0, 0, 0.07) !important;
    display: flex;
    justify-content: space-around !important;
    align-items: center !important;
    direction: rtl !important; /* ★ RTL صریح */
    padding: 8px 0 !important;
    padding-bottom: max(8px, env(safe-area-inset-bottom)) !important;
    z-index: 9998 !important;
    border-top: 1px solid var(--dm-border) !important;
    border-radius: 16px 16px 0 0 !important;
}

.sticky-nav-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 4px !important;
    color: #888 !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    padding: 4px 10px !important;
    position: relative !important;
    text-decoration: none !important;
    transition: color 0.2s !important;
}

.sticky-nav-item.active,
.sticky-nav-item:hover {
    color: var(--dm-primary) !important;
}

.sticky-cart-badge {
    position: absolute !important;
    top: 0 !important;
    left: 8px !important; /* ★ RTL: badge سمت چپ آیکون */
    min-width: 18px !important;
    height: 18px !important;
    background: var(--dm-primary) !important;
    color: var(--dm-white) !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    border-radius: 9px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 3px !important;
    border: 2px solid var(--dm-white) !important;
}


/* ─── آفکنواس موبایل ─── */
.mobile-offcanvas {
    position: fixed !important;
    top: 0 !important;
    right: -100% !important; /* ★ RTL: از راست */
    left: auto !important;
    width: 100% !important;
    height: 100dvh !important;
    z-index: 99999 !important;
    display: flex !important;
    flex-direction: row-reverse !important; /* ★ RTL: پنل از راست بیاد */
    transition: right 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
    direction: rtl !important;
}

.mobile-offcanvas.is-open {
    right: 0 !important;
}

.offcanvas-bg {
    flex: 1 !important;
    background: rgba(0, 0, 0, 0.55) !important;
    opacity: 0 !important;
    transition: opacity 0.3s !important;
}

.mobile-offcanvas.is-open .offcanvas-bg {
    opacity: 1 !important;
}

.offcanvas-inner {
    width: 320px !important;
    max-width: 88vw !important;
    background: var(--dm-white) !important;
    height: 100% !important;
    overflow-y: auto !important;
    box-shadow: -4px 0 24px rgba(0, 0, 0, 0.12) !important;
    display: flex !important;
    flex-direction: column !important;
}

.offcanvas-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 16px 20px !important;
    border-bottom: 1px solid var(--dm-border) !important;
    flex-shrink: 0 !important;
}

.offcanvas-logo img {
    max-height: 32px !important;
}

.offcanvas-close {
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    color: #888 !important;
    display: flex !important;
    padding: 4px !important;
    border-radius: 6px !important;
    transition: all 0.2s !important;
}

.offcanvas-close:hover {
    background: #f5f5f5 !important;
    color: #333 !important;
}

/* آفکنواس: سطح ۰ */
.mobile-menu-level-0 {
    flex: 1 !important;
}

.mobile-menu-level-0 > li {
    border-bottom: 1px solid #f5f5f5 !important;
    position: static !important;
}

.mobile-menu-level-0 > li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 14px 20px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    color: #333 !important;
    gap: 10px !important;
    text-decoration: none !important;
}

.mobile-menu-level-0 > li.is-open > a {
    color: var(--dm-primary) !important;
    background: var(--dm-primary-tint, #fdf2f2) !important;
}

.mobile-menu-level-0 .mm-chevron {
    color: #bbb !important;
    transition: transform 0.3s !important;
}

.mobile-menu-level-0 > li.is-open > a .mm-chevron {
    transform: rotate(-90deg) !important;
    color: var(--dm-primary) !important;
}

.mobile-menu-level-0 .mega-content-pane {
    position: static !important;
    display: none !important;
    flex-direction: column !important;
    padding: 12px 20px !important;
    background: #fafafa !important;
    border-top: 1px solid var(--dm-border) !important;
}

.mobile-menu-level-0 > li.is-open > .mega-content-pane {
    display: flex !important;
}

.mobile-menu-level-0 .mega-nav-level-1 {
    width: 100% !important;
    height: auto !important;
    border: none !important;
    padding: 0 !important;
    overflow: visible !important;
    flex: none !important;
    position: static !important;
    columns: 2 !important;
    column-gap: 10px !important;
}

.mobile-menu-level-0 .mega-nav-level-1 > li {
    margin-bottom: 0 !important;
    position: static !important;
    break-inside: avoid !important;
}

.mobile-menu-level-0 .mega-nav-level-1 > li > a {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: #444 !important;
    border: none !important;
    padding: 8px 4px !important;
    margin: 0 !important;
    min-height: auto !important;
    background: transparent !important;
    text-decoration: none !important;
}

.mobile-menu-level-0 .mega-nav-level-1 .mm-dot {
    width: 5px !important;
    height: 5px !important;
    border-radius: 50% !important;
    background: var(--dm-primary) !important;
    flex-shrink: 0 !important;
    opacity: .55 !important;
}

.mobile-menu-level-0 .mega-nav-level-1 .mm-chevron {
    display: none !important;
}

/* دکمه مشاهده همه در موبایل */
.mobile-menu-level-0 .mega-view-all {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-top: 12px !important;
    padding: 8px 20px !important;
    border: 1.5px solid var(--dm-primary) !important;
    border-radius: 20px !important;
    color: var(--dm-primary) !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    align-self: flex-start !important;
}


/* ════════════════════════════════════════════
   ★ MINI CART
   ════════════════════════════════════════════ */
.dm-mini-cart-overlay {
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, 0.45) !important;
    z-index: 99990 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.3s !important;
}

.dm-mini-cart-overlay.is-open {
    opacity: 1 !important;
    pointer-events: auto !important;
}

.dm-mini-cart-panel {
    position: fixed !important;
    top: 0 !important;
    left: -420px !important; /* ★ از چپ می‌آد (RTL) */
    width: 380px !important;
    max-width: 95vw !important;
    height: 100dvh !important;
    background: var(--dm-white) !important;
    z-index: 99991 !important;
    display: flex !important;
    flex-direction: column !important;
    box-shadow: 4px 0 32px rgba(0, 0, 0, 0.12) !important;
    transition: left 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
    direction: rtl !important;
}

.dm-mini-cart-panel.is-open {
    left: 0 !important;
}

.mini-cart-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 20px !important;
    border-bottom: 1px solid var(--dm-border) !important;
    flex-shrink: 0 !important;
}

.mini-cart-header h3 {
    font-size: 16px !important;
    font-weight: 800 !important;
    color: var(--dm-text) !important;
    margin: 0 !important;
}

.mini-cart-header-count {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--dm-primary) !important;
    color: var(--dm-white) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    border-radius: 20px !important;
    padding: 2px 8px !important;
    margin-right: 8px !important;
}

.mini-cart-close-btn {
    width: 36px !important;
    height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--dm-bg-soft) !important;
    border: none !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    color: #555 !important;
    transition: all 0.2s !important;
    padding: 0px;
}

.mini-cart-close-btn:hover {
    background: var(--dm-border) !important;
    color: var(--dm-text) !important;
}

.mini-cart-body {
    flex: 1 !important;
    overflow-y: auto !important;
    padding: 16px !important;
}

/* آیتم‌های WooCommerce cart */
.mini-cart-body .woocommerce-mini-cart {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.mini-cart-body .woocommerce-mini-cart__empty-message {
    text-align: center !important;
    color: var(--dm-text-light) !important;
    padding: 40px 20px !important;
    font-size: 14px !important;
}

.mini-cart-body .woocommerce-mini-cart-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 16px 0 !important;
    border-bottom: 1px solid var(--dm-border) !important;
}

.mini-cart-body .woocommerce-mini-cart-item img {
    width: 70px !important;
    height: 70px !important;
    object-fit: contain !important;
    border-radius: 10px !important;
    border: 1px solid var(--dm-border) !important;
    flex-shrink: 0 !important;
}

.mini-cart-item-details {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 3px 10px;
}

.mini-cart-item-details a {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--dm-text) !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    line-height: 1.4 !important;
    margin-bottom: 8px !important;
    text-decoration: none !important;
    width: 100%;
}

.mini-cart-item-details a:hover {
    color: var(--dm-primary) !important;
}

.mini-cart-body .woocommerce-Price-amount {
    font-size: 13px !important;
    font-weight: 800 !important;
    color: #11111190 !important;
    direction: rtl !important;
}

.mini-cart-body .woocommerce-Price-amount .woocommerce-Price-currencySymbol {
    opacity: 0.5;
}

.mini-cart-body .quantity {
    font-size: 12px !important;
    color: var(--dm-text-light) !important;
}

.mini-cart-remove-btn {
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    color: #ccc !important;
    padding: 4px !important;
    display: flex !important;
    align-items: flex-start !important;
    flex-shrink: 0 !important;
    transition: color 0.2s !important;
    margin-top: 2px !important;
}

.mini-cart-remove-btn:hover {
    color: #e53e3e !important;
}

/* hide default WC remove link (ما custom button داریم) */
.mini-cart-body .woocommerce-mini-cart-item > a.remove_from_cart_button {
    display: none !important;
}

.mini-cart-footer {
    padding: 16px 20px !important;
    border-top: 1px solid var(--dm-border) !important;
    flex-shrink: 0 !important;
    background: var(--dm-bg-soft) !important;
}

.mini-cart-total-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 14px !important;
}

.mini-cart-total-row .label {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--dm-text-light) !important;
}

.mini-cart-total-row .amount {
    font-size: 16px !important;
    font-weight: 900 !important;
    color: var(--dm-primary) !important;
    direction: rtl !important;
}

.mini-cart-actions {
    display: flex !important;
    gap: 10px !important;
}

.mini-cart-btn {
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 16px !important;
    border-radius: var(--dm-radius) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    border: none !important;
    transition: all 0.2s !important;
    text-decoration: none !important;
}

.mini-cart-btn-cart {
    background: var(--dm-bg-soft) !important;
    color: var(--dm-text) !important;
    border: 1.5px solid var(--dm-border) !important;
}

.mini-cart-btn-cart:hover {
    border-color: var(--dm-primary) !important;
    color: var(--dm-primary) !important;
}

.mini-cart-btn-checkout {
    background: var(--dm-primary) !important;
    color: var(--dm-white) !important;
}

.mini-cart-btn-checkout:hover {
    opacity: 0.9 !important;
}

/* Loading spinner */
.mini-cart-loading {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 40px !important;
}

.mini-cart-spinner {
    width: 32px !important;
    height: 32px !important;
    border: 3px solid var(--dm-border) !important;
    border-top-color: var(--dm-primary) !important;
    border-radius: 50% !important;
    animation: dm-spin 0.7s linear infinite !important;
}

@keyframes dm-spin {
    to {
        transform: rotate(360deg);
    }
}

/*استایل مینی کارت*/
.mini-cart-body .dm-mini-cart-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.dm-mini-cart-panel.is-open .dm-mini-cart-item {
    padding-bottom: 15px;
    margin-bottom: 15px;
    border-bottom: 1px solid #e5e7eb;
}

.dm-mini-cart-panel.is-open .dm-mini-cart-item:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: none;
}


/* ============================================================
   MINI CART (OFF-CANVAS) & DARK MODE
   ============================================================ */
body.theme-dark .dm-mini-cart-panel {
    background: var(--dm-card-bg) !important;
    border-left: 1px solid var(--dm-border) !important;
}

body.theme-dark .mini-cart-header,
body.theme-dark .mini-cart-footer {
    background: var(--dm-card-bg) !important;
    border-color: var(--dm-border) !important;
}

body.theme-dark .mini-cart-header h3,
body.theme-dark .mini-cart-item-details a {
    color: var(--dm-text) !important;
}

body.theme-dark .mini-cart-close-btn {
    background: var(--dm-border) !important;
    color: var(--dm-text-muted) !important;
}

body.theme-dark .mini-cart-close-btn:hover {
    background: var(--dm-hover-bg) !important;
    color: var(--dm-action-text) !important;
}

body.theme-dark .mini-cart-body .woocommerce-mini-cart-item {
    border-color: var(--dm-border) !important;
}

body.theme-dark .mini-cart-body .woocommerce-Price-amount {
    color: var(--dm-text) !important;
}

body.theme-dark .mini-cart-total-row .label {
    color: var(--dm-text-muted) !important;
}

body.theme-dark .mini-cart-btn-cart {
    background: var(--dm-card-bg) !important;
    border-color: var(--dm-border) !important;
    color: var(--dm-text) !important;
}

body.theme-dark .mini-cart-btn-cart:hover {
    border-color: var(--dm-primary) !important;
    color: var(--dm-primary) !important;
}


/* ============================================================
   SUCCESS MODAL (POPUP) & LIGHT MODE
   ============================================================ */
.dm-success-overlay {
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, 0.65) !important;
    z-index: 99990 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.3s ease !important;
    backdrop-filter: blur(4px) !important;
}

.dm-success-overlay.is-open {
    opacity: 1 !important;
    visibility: visible !important;
}

.dm-success-modal {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -45%) scale(0.95) !important;
    width: 440px !important;
    max-width: 92vw !important;
    background: var(--dm-white, #fff) !important;
    z-index: 99991 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 20px !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2) !important;
    direction: rtl !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.35s cubic-bezier(0.2, 0, 0, 1) !important;
    padding: 35px 28px 28px !important;
    text-align: center !important;
}

.dm-success-modal.is-open {
    transform: translate(-50%, -50%) scale(1) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.dm-success-close {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    background: transparent !important;
    border: none !important;
    color: #999 !important;
    cursor: pointer !important;
    padding: 6px !important;
    border-radius: 50% !important;
    transition: background 0.2s, color 0.2s !important;
}

.dm-success-close:hover {
    background: #f5f5f5 !important;
    color: #333 !important;
}

.dm-success-icon {
    display: flex !important;
    justify-content: center !important;
    margin-bottom: 20px !important;
}

.dm-success-title {
    font-size: 20px !important;
    font-weight: 900 !important;
    color: #111 !important;
    margin: 0 0 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
}

.dm-success-title svg {
    color: var(--dm-primary,var(--dm-primary)) !important;
}

.dm-success-desc {
    font-size: 13px !important;
    color: #666 !important;
    margin: 0 0 24px !important;
    line-height: 1.6 !important;
}

/* باکس ارسال رایگان (لایت) */
.dm-success-shipping-box {
    background: #f0fdf4 !important;
    border: 1px solid #dcfce7 !important;
    border-radius: 16px !important;
    padding: 16px 20px !important;
    margin-bottom: 24px !important;
    position: relative !important;
}

.dm-success-shipping-icon {
    position: absolute !important;
    top: -16px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    background: #f0fdf4 !important;
    border: 1px solid #dcfce7 !important;
    border-radius: 50% !important;
    width: 32px !important;
    height: 32px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #10b981 !important;
}

.dm-success-shipping-text {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #333 !important;
    margin-bottom: 16px !important;
    margin-top: 8px !important;
    line-height: 1.7 !important;
}

.dm-success-shipping-text strong {
    font-weight: 900 !important;
    color: #10b981 !important;
    font-size: 14px !important;
}

.dm-success-progress-wrap {
    width: 100% !important;
}

.dm-success-progress-bar {
    background: #e2e8f0 !important;
    border-radius: 6px !important;
    height: 8px !important;
    overflow: hidden !important;
    margin-bottom: 8px !important;
}

.dm-success-progress-fill {
    background: #10b981 !important;
    height: 100% !important;
    border-radius: 6px !important;
    transition: width 0.4s ease !important;
}

.dm-success-progress-labels {
    display: flex !important;
    justify-content: space-between !important;
    font-size: 11px !important;
    color: #888 !important;
    font-weight: 700 !important;
}

.dm-success-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.dm-success-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 14px !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: all 0.2s !important;
    gap: 8px !important;
    border: none !important;
}

.dm-success-btn-primary {
    background: var(--dm-primary) !important;
    color: #fff !important;
}

.dm-success-btn-primary:hover {
    opacity: 0.9 !important;
}

.dm-success-btn-outline {
    background: #fff !important;
    color: #555 !important;
    border: 1.5px solid #e0e0e0 !important;
}

.dm-success-btn-outline:hover {
    background: #f9f9f9 !important;
    border-color: #ccc !important;
}


/* ============================================================
   SUCCESS MODAL (POPUP) & DARK MODE
   (تماما بر اساس متغیرهای گلوبال)
   ============================================================ */
body.theme-dark .dm-success-modal {
    background: var(--dm-card-bg) !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4) !important;
}

body.theme-dark .dm-success-title {
    color: var(--dm-text) !important;
}

body.theme-dark .dm-success-desc {
    color: var(--dm-text-muted) !important;
}

body.theme-dark .dm-success-close {
    color: var(--dm-text-muted) !important;
}

body.theme-dark .dm-success-close:hover {
    background: var(--dm-hover-bg) !important;
    color: var(--dm-text) !important;
}

/* باکس ارسال رایگان */
body.theme-dark .dm-success-shipping-box {
    background: var(--dm-success-bg) !important;
    border-color: var(--dm-success-border) !important;
}

body.theme-dark .dm-success-shipping-icon {
    background: var(--dm-card-bg) !important;
    border-color: var(--dm-success-border) !important;
    color: var(--dm-success-color) !important;
}

body.theme-dark .dm-success-shipping-text {
    color: var(--dm-text) !important;
}

body.theme-dark .dm-success-shipping-text strong {
    color: var(--dm-success-color) !important;
}

body.theme-dark .dm-success-progress-bar {
    background: var(--dm-progress-bg) !important;
}

body.theme-dark .dm-success-progress-fill {
    background: var(--dm-success-color) !important;
}

/* دکمه‌ها */
body.theme-dark .dm-success-btn-outline {
    background: transparent !important;
    color: var(--dm-text-muted) !important;
    border-color: var(--dm-border) !important;
}

body.theme-dark .dm-success-btn-outline:hover {
    background: var(--dm-hover-bg) !important;
    border-color: var(--dm-text-muted) !important;
    color: var(--dm-text) !important;
}

/* ══════════════════════════════════════════════════════
   HEADER ADDITIONS — این فایل را به انتهای header.css اضافه کنید
   ══════════════════════════════════════════════════════ */

/* ── دکمه برگشت موبایل (صفحه محصول) ── */
.mobile-back-btn {
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    padding: 4px 6px !important;
    color: #555 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    transition: background 0.2s !important;
    flex-shrink: 0 !important;
}

.mobile-back-btn:hover {
    background: #f5f5f5 !important;
}

.mobile-back-btn svg {
    transform: scaleX(-1) !important; /* RTL: فلش به سمت راست = بازگشت */
}

/* ── تب‌بار آفکنواس ── */
.offcanvas-tab-bar {
    display: flex !important;
    border-bottom: 2px solid var(--dm-border) !important;
    flex-shrink: 0 !important;
    background: #fff !important;
}

.oc-tab-btn {
    flex: 1 !important;
    border: none !important;
    background: transparent !important;
    padding: 13px 10px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #888 !important;
    cursor: pointer !important;
    font-family: inherit !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    border-bottom: 2px solid transparent !important;
    margin-bottom: -2px !important;
    transition: color 0.2s, border-color 0.2s !important;
}

.oc-tab-btn.is-active {
    color: var(--dm-primary) !important;
    border-bottom-color: var(--dm-primary) !important;
}

.oc-tab-btn svg {
    color: inherit !important;
}

/* ── پانل‌های آفکنواس ── */
.oc-panel {
    display: none !important;
    flex-direction: column !important;
    flex: 1 !important;
    overflow-y: auto !important;
}

.oc-panel.is-active {
    display: flex !important;
}

/* ── منوی دسترسی سریع (تب ۲) ── */
.oc-quick-menu {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 1 !important;
}

.oc-quick-menu > li {
    border-bottom: 1px solid #f5f5f5 !important;
}

.oc-quick-menu > li > a {
    display: flex !important;
    align-items: center !important;
    padding: 14px 20px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #333 !important;
    text-decoration: none !important;
    gap: 10px !important;
    transition: color 0.2s, background 0.2s !important;
}

.oc-quick-menu > li > a:hover {
    color: var(--dm-primary) !important;
    background: var(--dm-primary-10) !important;
}

.oc-quick-menu > li > a::before {
    content: '' !important;
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    background: var(--dm-primary) !important;
    flex-shrink: 0 !important;
    opacity: 0.5 !important;
}

.oc-quick-menu > li > a:hover::before {
    opacity: 1 !important;
}

/* sub-menu */
.oc-quick-menu .sub-menu {
    list-style: none !important;
    padding: 0 0 8px 0 !important;
    margin: 0 !important;
    background: #fafafa !important;
}

.oc-quick-menu .sub-menu a {
    padding: 10px 34px !important;
    font-size: 13px !important;
    color: #666 !important;
    display: block !important;
    text-decoration: none !important;
    transition: color 0.2s !important;
}

.oc-quick-menu .sub-menu a:hover {
    color: var(--dm-primary) !important;
}

/* ── بخش تماس تب ۲ ── */
.oc-quick-contact {
    border-top: 1px solid var(--dm-border) !important;
    padding: 16px 20px !important;
    margin-top: auto !important;
}

.oc-quick-contact-link {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    color: #555 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    direction: ltr !important;
    justify-content: flex-end !important;
}

.oc-quick-contact-link svg {
    color: var(--dm-primary) !important;
    flex-shrink: 0 !important;
}

.oc-quick-contact-link:hover {
    color: var(--dm-primary) !important;
}

/* ── اطمینان از overflow آفکنواس ── */
.offcanvas-inner {
    overflow-y: hidden !important; /* مدیریت overflow توسط پانل‌ها */
}

body.theme-dark .header-mobile {
    background-color: var(--dm-bg-soft) !important;
}

body.theme-dark .mobile-logo {
    color: var(--dm-text);
}