/*
Theme Name: InoKharid
Theme URI: https://inokharid.ir
Author: InoKharid Team
Author URI: https://inokharid.ir
Description: قالب فروشگاهی اینوخرید - ایده‌ای نو
Version: 1.4.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
WooCommerce: true
WC requires at least: 7.0
WC tested up to: 9.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: inokharid
Tags: rtl-language, woocommerce, e-commerce, right-to-left
*/

/* =====================================================
   INOKHARID THEME - متغیرهای اصلی
   ===================================================== */
:root {
    /* رنگ‌های اصلی - مینیمال، سفید غالب */
    --ik-primary: #360404;
    --ik-primary-light: #5a0a0a;
    --ik-primary-dark: #1e0202;
    --ik-primary-hover: #4a0606;
    --ik-accent: #F5A623;
    --ik-accent-light: #FFD080;
    --ik-accent-dark: #D4881A;

    /* رنگ‌های خنثی - سفید به‌عنوان رنگ غالب */
    --ik-bg: #FFFFFF;
    --ik-bg-card: #FFFFFF;
    --ik-bg-section: #FAFAFA;
    --ik-border: #ECECEC;
    --ik-border-light: #F3F3F3;

    /* متن */
    --ik-text: #201414;
    --ik-text-muted: #80706E;
    --ik-text-light: #B3A6A4;
    --ik-text-on-primary: #FFFFFF;
    --ik-text-on-accent: #1A0808;

    /* وضعیت */
    --ik-success: #2E7D32;
    --ik-error: #C62828;
    --ik-warning: #F5A623;
    --ik-info: #1565C0;

    /* شیشه مایع (Liquid Glass) */
    --ik-glass-bg: rgba(255, 255, 255, 0.55);
    --ik-glass-bg-strong: rgba(255, 255, 255, 0.72);
    --ik-glass-bg-soft: rgba(255, 255, 255, 0.35);
    --ik-glass-border: rgba(255, 255, 255, 0.6);
    --ik-glass-blur: blur(20px) saturate(160%);
    --ik-glass-blur-light: blur(12px) saturate(140%);
    --ik-glass-shadow: 0 8px 32px rgba(54, 4, 4, 0.07);

    /* شیشه‌ی تیره (برای استفاده روی عکس/پس‌زمینه‌ی تیره مثل بنر هدر) */
    --ik-glass-dark-bg: rgba(20, 4, 4, 0.38);
    --ik-glass-dark-bg-strong: rgba(20, 4, 4, 0.5);
    --ik-glass-dark-border: rgba(255, 255, 255, 0.16);
    --ik-glass-dark-shadow: 0 16px 48px rgba(0, 0, 0, 0.35);

    /* شیشه‌ی فوق‌شفاف (تقریباً فقط بلور، بدون رنگ‌آمیزی محسوس - مثل شیشه‌ی واقعی) */
    --ik-glass-ultra-bg: rgba(255, 255, 255, 0.88);
    --ik-glass-ultra-border: rgba(255, 255, 255, 0.55);
    --ik-glass-ultra-blur: blur(28px) saturate(180%);
    --ik-glass-ultra-shadow: 0 20px 60px rgba(54, 4, 4, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.4);

    /* سایه */
    --ik-shadow-sm: 0 2px 8px rgba(54, 4, 4, 0.05);
    --ik-shadow-md: 0 4px 24px rgba(54, 4, 4, 0.08);
    --ik-shadow-lg: 0 8px 40px rgba(54, 4, 4, 0.12);
    --ik-shadow-card: 0 2px 16px rgba(54, 4, 4, 0.06);

    /* ابعاد */
    --ik-radius-sm: 8px;
    --ik-radius-md: 14px;
    --ik-radius-lg: 22px;
    --ik-radius-xl: 32px;
    --ik-radius-full: 9999px;

    /* انتقال */
    --ik-transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    --ik-transition-slow: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* =====================================================
   کلاس‌های کمکی شیشه مایع
   ===================================================== */
.ik-glass {
    background: var(--ik-glass-bg);
    -webkit-backdrop-filter: var(--ik-glass-blur);
    backdrop-filter: var(--ik-glass-blur);
    border: 1px solid var(--ik-glass-border);
    box-shadow: var(--ik-glass-shadow);
}

.ik-glass-strong {
    background: var(--ik-glass-bg-strong);
    -webkit-backdrop-filter: var(--ik-glass-blur);
    backdrop-filter: var(--ik-glass-blur);
    border: 1px solid var(--ik-glass-border);
    box-shadow: var(--ik-glass-shadow);
}

.ik-glass-soft {
    background: var(--ik-glass-bg-soft);
    -webkit-backdrop-filter: var(--ik-glass-blur-light);
    backdrop-filter: var(--ik-glass-blur-light);
    border: 1px solid rgba(255, 255, 255, 0.45);
}

.ik-glass-dark {
    background: var(--ik-glass-dark-bg);
    -webkit-backdrop-filter: var(--ik-glass-blur);
    backdrop-filter: var(--ik-glass-blur);
    border: 1px solid var(--ik-glass-dark-border);
    box-shadow: var(--ik-glass-dark-shadow);
}

.ik-glass-ultra {
    background: var(--ik-glass-ultra-bg);
    -webkit-backdrop-filter: var(--ik-glass-ultra-blur);
    backdrop-filter: var(--ik-glass-ultra-blur);
    border: 1px solid var(--ik-glass-ultra-border);
    box-shadow: var(--ik-glass-ultra-shadow);
}

/* درخشش متحرک روی شیشه: یک نوار نور مایل که از روی سطح شیشه عبور می‌کند */
.ik-glass-sheen {
    position: relative;
    overflow: hidden;
}

.ik-glass-sheen::before {
    content: '';
    position: absolute;
    top: 0;
    right: -60%;
    width: 45%;
    height: 100%;
    background: linear-gradient(115deg, transparent 0%, rgba(255, 255, 255, 0.22) 45%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.22) 55%, transparent 100%);
    transform: skewX(-18deg);
    animation: ikGlassSheen 6s ease-in-out infinite;
    pointer-events: none;
}

@keyframes ikGlassSheen {
    0%   { right: -60%; }
    35%  { right: 130%; }
    100% { right: 130%; }
}

@media (prefers-reduced-motion: reduce) {
    .ik-glass-sheen::before { animation: none; display: none; }
}

/* =====================================================
   ریست و پایه
   ===================================================== */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    direction: rtl;
    font-size: 16px;
    /* رفع ریشه‌ای لرزش هدر هنگام اسکرول:
       با اسکرول به پایین/بالا، نوار «خانه/دسته‌بندی‌ها/تماس با ما» (.ik-nav)
       جمع و باز می‌شود و همین باعث تغییر ارتفاع کل هدر (که sticky است)
       می‌شود. وقتی ارتفاع هدر تغییر می‌کند، محتوای زیر آن (که در سند
       هیچ ربطی به خود هدر ندارد و فرزند آن نیست) جابه‌جا می‌شود؛ مرورگر
       برای این‌که محتوای زیر چشم کاربر ثابت بماند، خودش موقعیت اسکرول
       را کمی جبران می‌کند (ویژگی «scroll anchoring»). همین جبرانِ
       خودکار، دوباره اسکریپت main.js را با یک diff بزرگ صدا می‌زند و
       منطق نمایش/مخفی‌سازی نوار را دوباره برعکس می‌کند؛ نتیجه یک حلقه‌ی
       معیوب و لرزش/پرش پیوسته‌ی هدر است.
       قبلاً overflow-anchor: none فقط روی خود .ik-header گذاشته شده بود؛
       اما چون عنصری که واقعاً جابه‌جا می‌شود (محتوای صفحه) فرزند
       .ik-header نیست، آن تنظیم برای این مورد کافی نبود. غیرفعال کردن
       کامل scroll anchoring روی html (ریشه‌ی اسکرول صفحه) این حلقه‌ی
       معیوب را برای همیشه قطع می‌کند. */
    overflow-anchor: none;
    /* توجه: عمداً scroll-behavior: smooth اینجا گذاشته نشده.
       وقتی این خاصیت به‌صورت سراسری روی html فعال باشد، هر «تیک»
       اسکرول ماوس/تاچ‌پد یک انیمیشن اسکرول جدید ایجاد می‌کند که با
       انیمیشن تیک قبلی تداخل پیدا می‌کند و باعث لرزش/ویبره‌ی محسوس
       صفحه هنگام اسکرول می‌شود (مشکل شناخته‌شده در کروم/اج).
       اسکرول نرم برای مواردی که واقعاً لازم بوده (مثل جابه‌جایی به
       فیلد نامعتبر فرم یا لینک‌های داخلی) از قبل با جاوااسکریپت
       (window.scrollTo با behavior: 'smooth') در فایل‌های register.js،
       checkout.js و lost-password.js پیاده‌سازی شده و به این خط
       سراسری نیازی ندارد. */
}

body {
    font-family: 'Shabnam', 'Tahoma', 'Arial', sans-serif;
    font-size: 0.9375rem;
    line-height: 1.7;
    color: var(--ik-text);
    background-color: var(--ik-bg);
    direction: rtl;
    text-align: right;
    -webkit-font-smoothing: antialiased;
    /* جلوگیری از اسکرول افقی کل صفحه؛ هر جدول/عنصر عریض (مثل جدول مقایسه)
       باید داخل کادر اسکرول‌شونده‌ی خودش بماند، نه اینکه کل صفحه را کج کند. */
    overflow-x: hidden;
}

a {
    color: var(--ik-primary);
    text-decoration: none;
    transition: var(--ik-transition);
}
a:hover { color: var(--ik-primary-light); }

img {
    max-width: 100%;
    height: auto;
    display: block;
}

ul, ol { list-style: none; }

button, input, select, textarea {
    font-family: inherit;
    font-size: inherit;
    direction: rtl;
}

/* =====================================================
   لایه‌بندی اصلی
   ===================================================== */
.ik-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px;
}

.ik-wrapper {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

#ik-main { flex: 1; }

/* =====================================================
   هدر
   ===================================================== */
.ik-header {
    background: var(--ik-glass-bg-strong);
    -webkit-backdrop-filter: var(--ik-glass-blur);
    backdrop-filter: var(--ik-glass-blur);
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: var(--ik-glass-shadow);
    border-bottom: 1px solid var(--ik-glass-border);
    /* هدر sticky است و ارتفاعش با جمع‌شدن/بازشدن .ik-nav تغییر می‌کند.
       بدون این خط، مرورگر برای جبران این تغییر ارتفاع، خودش موقعیت
       اسکرول را کمی جابه‌جا می‌کند (scroll anchoring) و همین جابه‌جایی
       دوباره منطق نمایش/مخفی‌سازی زیر را فعال می‌کند؛ در نتیجه نوار
       مدام می‌لرزد و بالا-پایین می‌پرد. غیرفعال کردن anchoring این
       حلقه‌ی معیوب را قطع می‌کند. */
    overflow-anchor: none;
}

.ik-header-top {
    background: rgba(54, 4, 4, 0.03);
    padding: 6px 0;
    font-size: 0.8125rem;
    color: var(--ik-text-muted);
    border-bottom: 1px solid var(--ik-border-light);
}

.ik-header-top .ik-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}

.ik-header-top a {
    color: var(--ik-text-muted);
    transition: var(--ik-transition);
}
.ik-header-top a:hover { color: var(--ik-accent-dark); }

.ik-header-top-right {
    flex-shrink: 0;
}

.ik-top-shortcut {
    display: flex;
    align-items: center;
    gap: 5px;
    color: var(--ik-text-muted);
    transition: var(--ik-transition);
    white-space: nowrap;
    /* یکی از این دو میانبر (پسندیده‌ها) از تگ <button> ساخته شده و بدون
       این ریست، مرورگر (به‌خصوص سامسونگ اینترنت) یک پس‌زمینه/کادر
       پیش‌فرض روی آن می‌کشد که آن را به‌شکل یک دکمه‌ی جعبه‌ای درمی‌آورد.
       با این ریست، هر دو میانبر دقیقاً مثل آیکون ساده (بدون کادر/پس‌زمینه) دیده می‌شوند. */
    background: none;
    border: none;
    box-shadow: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0;
}

.ik-top-shortcut:hover { color: var(--ik-accent-dark); }

.ik-top-shortcut svg { width: 21px; height: 21px; }

.ik-top-shortcut-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 999px;
    background: var(--ik-primary);
    color: #fff;
    font-size: 0.625rem;
    font-weight: 700;
}

.ik-header-main {
    padding: 14px 0;
}

.ik-header-inner {
    display: flex;
    align-items: center;
    gap: 24px;
}

/* لوگو */
.ik-logo {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.ik-logo img,
.ik-logo-img {
    height: 44px;
    width: auto;
}

.ik-logo-text {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.ik-logo-brand {
    font-size: 1.375rem;
    font-weight: 800;
    color: var(--ik-text);
    letter-spacing: -0.5px;
}

.ik-logo-brand span { color: var(--ik-accent); }

.ik-logo-tagline {
    font-size: 0.6875rem;
    color: var(--ik-text-muted);
}

/* میانبرهای پسندیده‌ها/مقایسه - کنار لوگو، بالاتر از نوار جستجو */
.ik-header-quick-shortcuts {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-shrink: 0;
    padding: 0 4px;
}

/* صفحه محصول: اسم فروشگاه کنار لوگو لازم نیست */
body.single-product .ik-logo-text { display: none; }

.ik-header-close-btn svg { width: 20px; height: 20px; }

/* دکمه‌ی بستن محصول کمی از نوار جستجو فاصله بگیرد تا به‌هم نچسبند */
.ik-header-close-btn { margin: 0 4px; flex-shrink: 0; }

/* جستجو */
.ik-search-wrap {
    flex: 1;
    max-width: 560px;
}

.ik-search-form {
    display: flex;
    background: var(--ik-glass-bg-soft);
    -webkit-backdrop-filter: var(--ik-glass-blur-light);
    backdrop-filter: var(--ik-glass-blur-light);
    border: 1.5px solid var(--ik-border);
    border-radius: var(--ik-radius-full);
    overflow: hidden;
    transition: var(--ik-transition);
}

.ik-search-form:focus-within {
    background: rgba(255,255,255,0.85);
    border-color: var(--ik-accent);
    box-shadow: 0 0 0 3px rgba(245,166,35,0.15);
}

.ik-search-input {
    flex: 1;
    background: transparent;
    border: none;
    padding: 10px 18px;
    color: var(--ik-text);
    font-size: 0.9rem;
    direction: rtl;
    outline: none;
}

.ik-search-input::placeholder { color: var(--ik-text-light); }

/* حذف ضربدرِ پاک‌کردنِ پیش‌فرض خود مرورگر (کروم/اج/سافاری) روی input[type=search]؛
   قالب یک دکمه‌ی ضربدر سفارشی خودش (.ik-search-clear) دارد و بدون این ریست،
   هر دو ضربدر (ضربدر پیش‌فرض مرورگر + ضربدر سفارشی قالب) با هم نمایش داده می‌شدند. */
.ik-search-input::-webkit-search-cancel-button,
.ik-search-input::-webkit-search-decoration {
    -webkit-appearance: none;
    appearance: none;
}
.ik-search-input::-ms-clear,
.ik-search-input::-ms-reveal {
    display: none;
    width: 0;
    height: 0;
}

.ik-search-btn {
    background: var(--ik-accent);
    border: none;
    padding: 10px 20px;
    color: var(--ik-text-on-accent);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.875rem;
    font-weight: 600;
    transition: var(--ik-transition);
}

.ik-search-btn:hover { background: var(--ik-accent-dark); }

.ik-search-clear {
    background: transparent;
    border: none;
    cursor: pointer;
    color: var(--ik-text-light);
    display: flex;
    align-items: center;
    padding: 0 4px;
    transition: var(--ik-transition);
}
.ik-search-clear:hover { color: var(--ik-text); }
.ik-search-clear svg { width: 16px; height: 16px; }

/* دکمه ضربدر بستن حالت تمام‌عرض جستجو در موبایل - فقط زمانی که آن حالت فعال است دیده می‌شود */
.ik-search-mobile-close {
    display: none;
    align-items: center;
    justify-content: center;
    background: var(--ik-glass-bg-soft);
    border: 1.5px solid var(--ik-border);
    border-radius: var(--ik-radius-full, 9999px);
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    color: var(--ik-text);
    cursor: pointer;
    transition: var(--ik-transition);
}
.ik-search-mobile-close:hover { background: var(--ik-primary); color: #fff; border-color: var(--ik-primary); }
.ik-search-mobile-close svg { width: 18px; height: 18px; }

/* پنل پیش‌نمایش زنده جستجو */
.ik-search-wrap { position: relative; }

.ik-search-results {
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    left: 0;
    background: #fff;
    border: 1px solid var(--ik-border);
    border-radius: var(--ik-radius-lg);
    box-shadow: var(--ik-shadow-lg);
    overflow: hidden;
    z-index: 200;
    direction: rtl;
}

.ik-search-results.open { display: block; animation: ikSearchFadeIn 0.18s ease; }

@keyframes ikSearchFadeIn {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: translateY(0); }
}

.ik-search-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 28px 20px;
    color: var(--ik-text-muted);
    font-size: 0.875rem;
    text-align: center;
}

.ik-search-loading { flex-direction: row; padding: 18px 20px; }

.ik-search-spinner {
    width: 18px;
    height: 18px;
    border: 2.5px solid var(--ik-border);
    border-top-color: var(--ik-accent);
    border-radius: 50%;
    animation: ikSpin 0.7s linear infinite;
    flex-shrink: 0;
}

@keyframes ikSpin { to { transform: rotate(360deg); } }

.ik-search-empty svg { color: var(--ik-text-light); }
.ik-search-empty strong { color: var(--ik-text); font-size: 0.95rem; }

.ik-search-results-list {
    max-height: 420px;
    overflow-y: auto;
    padding: 8px;
}

.ik-search-result-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px;
    border-radius: var(--ik-radius-md);
    transition: var(--ik-transition);
}

.ik-search-result-item:hover,
.ik-search-result-item.active {
    background: var(--ik-bg-section);
}

.ik-search-result-link {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    min-width: 0;
    color: var(--ik-text);
}

.ik-search-result-img {
    width: 56px;
    height: 56px;
    flex-shrink: 0;
    border-radius: var(--ik-radius-sm);
    overflow: hidden;
    background: var(--ik-bg-section);
    border: 1px solid var(--ik-border-light);
}

.ik-search-result-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ik-search-result-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    flex: 1;
}

.ik-search-result-cat {
    font-size: 0.6875rem;
    color: var(--ik-text-light);
}

.ik-search-result-title {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--ik-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ik-search-result-title mark {
    background: rgba(245,166,35,0.28);
    color: inherit;
    border-radius: 3px;
    padding: 0 1px;
}

.ik-search-result-price {
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--ik-primary);
}
.ik-search-result-price del { color: var(--ik-text-light); font-weight: 400; margin-left: 6px; }
.ik-search-result-price ins { text-decoration: none; }

.ik-search-add-btn {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: var(--ik-radius-full);
    background: var(--ik-primary);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--ik-transition);
}
.ik-search-add-btn svg { width: 16px; height: 16px; }
.ik-search-add-btn:hover { background: var(--ik-accent); color: var(--ik-text-on-accent); }
.ik-search-add-btn.loading { opacity: 0.6; pointer-events: none; }
.ik-search-add-btn.added { background: var(--ik-success); }

.ik-search-result-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.ik-search-compare-btn {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: var(--ik-radius-full);
    background: transparent;
    border: 1px solid var(--ik-border);
    color: var(--ik-text-muted);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--ik-transition);
}
.ik-search-compare-btn svg { width: 16px; height: 16px; }
.ik-search-compare-btn:hover { border-color: var(--ik-primary); color: var(--ik-primary); }

.ik-search-view-all {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 18px;
    background: var(--ik-bg-section);
    border-top: 1px solid var(--ik-border-light);
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--ik-primary);
    transition: var(--ik-transition);
}
.ik-search-view-all:hover { background: var(--ik-accent); color: var(--ik-text-on-accent); }
.ik-search-view-all-count {
    background: rgba(54,4,4,0.08);
    border-radius: var(--ik-radius-full);
    padding: 2px 9px;
    font-size: 0.75rem;
}
.ik-search-view-all:hover .ik-search-view-all-count { background: rgba(255,255,255,0.25); }

@media (max-width: 768px) {
    .ik-search-results { position: fixed; top: auto; right: 12px; left: 12px; max-height: 70vh; }
    .ik-search-results-list { max-height: 56vh; }
}


/* اکشن‌های هدر */
.ik-header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-right: auto;
    margin-left: 0;
}

.ik-action-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    padding: 8px 12px;
    color: var(--ik-text-muted);
    border-radius: var(--ik-radius-md);
    transition: var(--ik-transition);
    position: relative;
    cursor: pointer;
    background: transparent;
    border: none;
    font-size: 0.75rem;
}

.ik-action-btn:hover {
    background: rgba(54,4,4,0.05);
    color: var(--ik-accent-dark);
}

.ik-action-btn svg {
    width: 22px;
    height: 22px;
}

.ik-cart-count {
    position: absolute;
    top: 4px;
    left: 6px;
    background: var(--ik-accent);
    color: var(--ik-text-on-accent);
    font-size: 0.625rem;
    font-weight: 700;
    min-width: 18px;
    height: 18px;
    border-radius: var(--ik-radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
}

/* =====================================================
   منوی کشویی «حساب من» در هدر - شیشه‌ی فوق‌شفاف
   ===================================================== */
.ik-account-dd-wrap {
    position: relative;
}

.ik-account-dd-trigger.is-open {
    background: rgba(54, 4, 4, 0.06);
    color: var(--ik-accent-dark);
}

.ik-account-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 14px);
    left: 0;
    z-index: 260;
    width: 340px;
}

.ik-account-dropdown.is-open {
    display: block;
    animation: ikAccountDdIn 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes ikAccountDdIn {
    from { opacity: 0; transform: translateY(-8px) scale(0.98); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

.ik-account-dropdown-panel {
    border-radius: var(--ik-radius-xl);
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.ik-account-dd-head {
    display: flex;
    align-items: center;
    gap: 12px;
}

.ik-account-dd-avatar img {
    display: block;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.65);
}

.ik-account-dd-who {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    flex: 1;
}

.ik-account-dd-name {
    font-weight: 800;
    font-size: 0.9375rem;
    color: var(--ik-primary-dark);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ik-account-dd-email {
    font-size: 0.75rem;
    color: var(--ik-text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    direction: ltr;
    text-align: right;
}

.ik-account-dd-edit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.35);
    border: 1px solid rgba(255, 255, 255, 0.5);
    color: var(--ik-primary);
    flex-shrink: 0;
    transition: var(--ik-transition);
}

.ik-account-dd-edit:hover {
    background: rgba(255, 255, 255, 0.55);
}

.ik-account-dd-club {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 14px;
    border-radius: var(--ik-radius-lg);
    background: rgba(255, 255, 255, 0.22);
    border: 1px solid rgba(255, 255, 255, 0.4);
    transition: var(--ik-transition);
}

.ik-account-dd-club:hover {
    background: rgba(255, 255, 255, 0.34);
}

.ik-account-dd-club-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.ik-account-dd-tier {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--tier-color, var(--ik-primary));
}

.ik-account-dd-tier svg { color: var(--tier-color, var(--ik-accent-dark)); width: 15px; height: 15px; }

.ik-account-dd-points {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--ik-primary-dark);
}

.ik-account-dd-points svg { width: 14px; height: 14px; color: var(--ik-accent-dark); }

.ik-account-dd-progress {
    height: 6px;
    border-radius: var(--ik-radius-full);
    background: rgba(255, 255, 255, 0.35);
    overflow: hidden;
}

.ik-account-dd-progress-bar {
    height: 100%;
    border-radius: var(--ik-radius-full);
    background: var(--tier-color, var(--ik-accent));
    transition: width 0.6s ease;
}

.ik-account-dd-next {
    font-size: 0.75rem;
    color: var(--ik-text-muted);
}

.ik-account-dd-wallet {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    border-radius: var(--ik-radius-lg);
    background: rgba(255, 255, 255, 0.22);
    border: 1px solid rgba(255, 255, 255, 0.4);
    transition: var(--ik-transition);
}

.ik-account-dd-wallet:hover {
    background: rgba(255, 255, 255, 0.34);
}

.ik-account-dd-wallet-label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--ik-primary-dark);
}

.ik-account-dd-wallet-label svg { width: 16px; height: 16px; color: var(--ik-accent-dark); }

.ik-account-dd-wallet-amount {
    font-weight: 800;
    font-size: 0.875rem;
    color: var(--ik-primary);
}

.ik-account-dd-nav {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding-top: 8px;
    border-top: 1px solid rgba(255, 255, 255, 0.35);
}

.ik-account-dd-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 8px;
    border-radius: var(--ik-radius-md);
    font-size: 0.8438rem;
    font-weight: 600;
    color: var(--ik-text);
    transition: var(--ik-transition);
}

.ik-account-dd-link svg { width: 17px; height: 17px; color: var(--ik-text-muted); }

.ik-account-dd-link:hover {
    background: rgba(255, 255, 255, 0.3);
    color: var(--ik-primary-dark);
}

.ik-account-dd-link-logout {
    color: var(--ik-error);
    margin-top: 4px;
}

.ik-account-dd-link-logout svg { color: var(--ik-error); }

.ik-account-dd-link-logout:hover {
    background: rgba(198, 40, 40, 0.12);
    color: var(--ik-error);
}

@media (max-width: 640px) {
    .ik-account-dropdown {
        position: fixed;
        top: auto;
        bottom: 12px;
        left: 12px;
        right: 12px;
        width: auto;
    }

    .ik-account-dropdown.is-open { animation: ikAccountDdInMobile 0.24s cubic-bezier(0.4, 0, 0.2, 1); }

    @keyframes ikAccountDdInMobile {
        from { opacity: 0; transform: translateY(16px); }
        to   { opacity: 1; transform: translateY(0); }
    }
}

/* ناوبری اصلی */
.ik-nav {
    background: var(--ik-glass-bg-soft);
    -webkit-backdrop-filter: var(--ik-glass-blur-light);
    backdrop-filter: var(--ik-glass-blur-light);
    border-top: 1px solid var(--ik-border-light);
    max-height: 60px;
    /* توجه: عمداً overflow:hidden اینجا گذاشته نشده تا مگامنو/پنل دسته‌بندی‌ها
       که از این نوار ارتفاع بیشتری دارند، بریده نشوند؛ برش فقط در حالت
       جمع‌شده‌ی هنگام اسکرول (پایین‌تر) لازم است. */
    opacity: 1;
    transition: max-height 0.28s ease, opacity 0.2s ease, border-color 0.28s ease;
}

/* با اسکرول به سمت پایین، نوار خانه/دسته‌بندی‌ها/تماس با ما جمع می‌شود
   تا فضای بیشتری برای محتوا آزاد شود؛ با اسکرول به بالا دوباره ظاهر می‌شود. */
.ik-header.ik-header-nav-hidden .ik-nav {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    border-top-color: transparent;
    pointer-events: none;
}

.ik-nav-inner {
    display: flex;
    align-items: center;
    gap: 0;
    overflow-x: auto;
}

.ik-nav-inner::-webkit-scrollbar { display: none; }

.ik-nav-item {
    position: relative;
}

.ik-nav-link {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 12px 18px;
    color: var(--ik-text-muted);
    font-size: 0.875rem;
    font-weight: 500;
    white-space: nowrap;
    transition: var(--ik-transition);
    border-bottom: 3px solid transparent;
}

.ik-nav-link:hover,
.ik-nav-link.active {
    color: var(--ik-accent-dark);
    background: rgba(54,4,4,0.04);
    border-bottom-color: var(--ik-accent);
}

/* مگامنو */
.ik-mega-menu {
    position: absolute;
    top: 100%;
    right: 0;
    min-width: 260px;
    background: var(--ik-glass-bg-strong);
    -webkit-backdrop-filter: var(--ik-glass-blur);
    backdrop-filter: var(--ik-glass-blur);
    border-radius: 0 0 var(--ik-radius-md) var(--ik-radius-md);
    box-shadow: var(--ik-shadow-lg);
    border-top: 3px solid var(--ik-accent);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: var(--ik-transition);
    z-index: 500;
    padding: 8px 0;
}

.ik-nav-item:hover .ik-mega-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.ik-mega-menu a {
    display: block;
    padding: 10px 20px;
    color: var(--ik-text);
    font-size: 0.875rem;
    border-right: 3px solid transparent;
    transition: var(--ik-transition);
}

.ik-mega-menu a:hover {
    background: var(--ik-bg-section);
    color: var(--ik-primary);
    border-right-color: var(--ik-accent);
    padding-right: 24px;
}

/* ردیف نوار ناوبری: دکمه‌ی دسته‌بندی کالاها + بقیه سربرگ‌های منو کنار هم */
.ik-nav-row {
    display: flex;
    align-items: stretch;
    gap: 4px;
}

.ik-nav-row .ik-nav-inner {
    flex: 1;
}

/* دکمه‌ی «دسته‌بندی کالاها» گوشه‌ی نوار منو + پنل کامل دسته‌بندی‌ها */
.ik-cat-flyout {
    position: relative;
    flex-shrink: 0;
}

.ik-cat-flyout-trigger {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 100%;
    padding: 12px 18px;
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    color: var(--ik-primary);
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
    transition: var(--ik-transition);
}

.ik-cat-flyout-trigger:hover,
.ik-cat-flyout.is-open .ik-cat-flyout-trigger {
    color: var(--ik-accent-dark);
    background: rgba(54, 4, 4, 0.04);
    border-bottom-color: var(--ik-accent);
}

.ik-cat-flyout.is-open .ik-cat-flyout-trigger svg:last-child {
    transform: rotate(180deg);
}

.ik-cat-flyout-trigger svg:last-child {
    transition: transform 0.2s ease;
}

.ik-cat-flyout-panel {
    position: absolute;
    top: 100%;
    right: 0;
    display: flex;
    width: min(760px, 86vw);
    max-height: 70vh;
    background: #FFFFFF;
    border-radius: 0 0 var(--ik-radius-md) var(--ik-radius-md);
    box-shadow: var(--ik-shadow-lg);
    border-top: 3px solid var(--ik-accent);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: var(--ik-transition);
    z-index: 600;
    overflow: hidden;
}

.ik-cat-flyout.is-open .ik-cat-flyout-panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.ik-cat-flyout-list {
    width: 220px;
    flex-shrink: 0;
    overflow-y: auto;
    padding: 8px 0;
    background: var(--ik-bg-section);
    border-left: 1px solid var(--ik-border-light);
}

.ik-cat-flyout-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 11px 18px;
    background: transparent;
    border: none;
    border-right: 3px solid transparent;
    color: var(--ik-text);
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 600;
    text-align: right;
    cursor: pointer;
    transition: var(--ik-transition);
}

.ik-cat-flyout-item svg { width: 13px; height: 13px; flex-shrink: 0; color: var(--ik-text-light); }

.ik-cat-flyout-item:hover,
.ik-cat-flyout-item.is-active {
    background: #fff;
    color: var(--ik-primary);
    border-right-color: var(--ik-accent);
}

.ik-cat-flyout-content {
    flex: 1;
    overflow-y: auto;
    padding: 20px 24px;
}

.ik-cat-flyout-panel-content {
    display: none;
}

.ik-cat-flyout-panel-content.is-active {
    display: block;
    animation: ikCatPanelIn 0.18s ease;
}

@keyframes ikCatPanelIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.ik-cat-flyout-viewall {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--ik-border-light);
    color: var(--ik-primary);
    font-size: 0.8125rem;
    font-weight: 700;
}

.ik-cat-flyout-viewall svg { width: 13px; height: 13px; }
.ik-cat-flyout-viewall:hover { color: var(--ik-accent-dark); }

.ik-cat-flyout-subgrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4px 18px;
}

.ik-cat-flyout-subgrid a {
    padding: 7px 0;
    color: var(--ik-text-muted);
    font-size: 0.8125rem;
}

.ik-cat-flyout-subgrid a:hover {
    color: var(--ik-primary);
    text-decoration: underline;
}

@media (max-width: 1024px) {
    .ik-cat-flyout-panel { width: min(600px, 92vw); }
    .ik-cat-flyout-subgrid { grid-template-columns: repeat(2, 1fr); }
}

/* =====================================================
   بنر اصلی
   ===================================================== */
.ik-hero {
    background: linear-gradient(135deg, #FFFFFF 0%, #FBF7F0 50%, #FFF6E8 100%);
    padding: 64px 0;
    position: relative;
    overflow: hidden;
}

.ik-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23360404' fill-opacity='0.02'%3E%3Ccircle cx='30' cy='30' r='20'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.ik-hero-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
    position: relative;
}

.ik-hero-content { }

.ik-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--ik-glass-bg);
    -webkit-backdrop-filter: var(--ik-glass-blur-light);
    backdrop-filter: var(--ik-glass-blur-light);
    border: 1px solid rgba(245,166,35,0.35);
    color: var(--ik-accent-dark);
    padding: 6px 16px;
    border-radius: var(--ik-radius-full);
    font-size: 0.8125rem;
    font-weight: 600;
    margin-bottom: 20px;
}

.ik-hero-title {
    font-size: 2.5rem;
    font-weight: 900;
    color: var(--ik-text);
    line-height: 1.3;
    margin-bottom: 16px;
}

.ik-hero-title span { color: var(--ik-accent-dark); }

.ik-hero-desc {
    color: var(--ik-text-muted);
    font-size: 1rem;
    line-height: 1.8;
    margin-bottom: 32px;
}

.ik-hero-btns {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

/* =====================================================
   اسلایدر خودکار بنر پرفروش‌ترین‌ها (لیکوئید گلس + موشن‌گرافیک)
   ===================================================== */

/* حباب‌های گرادیانت متحرک پس‌زمینه - موشن‌گرافیک اصلی هدر */
.ik-hero-blobs {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 0;
}

.ik-hero-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(60px);
    opacity: 0.35;
    will-change: transform;
}

.ik-hero-blob-1 {
    width: 340px;
    height: 340px;
    top: -120px;
    right: -80px;
    background: radial-gradient(circle at 30% 30%, var(--ik-accent-light), transparent 70%);
    animation: ikBlobFloat1 16s ease-in-out infinite;
}

.ik-hero-blob-2 {
    width: 260px;
    height: 260px;
    bottom: -100px;
    left: 5%;
    background: radial-gradient(circle at 60% 40%, var(--ik-primary-light), transparent 70%);
    opacity: 0.18;
    animation: ikBlobFloat2 20s ease-in-out infinite;
}

.ik-hero-blob-3 {
    width: 200px;
    height: 200px;
    top: 30%;
    left: 30%;
    background: radial-gradient(circle at 50% 50%, var(--ik-accent), transparent 70%);
    opacity: 0.14;
    animation: ikBlobFloat1 24s ease-in-out infinite reverse;
}

@keyframes ikBlobFloat1 {
    0%, 100% { transform: translate(0, 0) scale(1); }
    33%      { transform: translate(-30px, 30px) scale(1.1); }
    66%      { transform: translate(20px, -20px) scale(0.95); }
}

@keyframes ikBlobFloat2 {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50%      { transform: translate(40px, -25px) scale(1.15); }
}

.ik-hero-slider {
    position: relative;
    padding: 0;
    overflow: visible;
}

.ik-hero-slider.ik-hero-banner-style::before { display: none; }

.ik-hero-slides {
    position: relative;
    min-height: 460px;
    z-index: 1;
    border-radius: var(--ik-radius-xl);
    overflow: hidden;
}

.ik-hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.7s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
    min-height: 460px;
    display: flex;
    align-items: center;
}

.ik-hero-slide.is-active {
    position: relative;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* زمینه‌ی اسلایدر: ساده و روشن، هماهنگ با بقیه‌ی سایت (بدون گرادیان پررنگ) */
.ik-hero-slide-bg {
    position: absolute;
    inset: 0;
    overflow: hidden;
    background: linear-gradient(135deg, #FFFFFF 0%, #FBF7F0 50%, #FFF6E8 100%);
    border-radius: var(--ik-radius-xl);
    border: 1px solid var(--ik-border);
}

.ik-hero-slide-bg .ik-hero-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(40px);
}

.ik-hero-slide-bg .ik-hero-blob-1 {
    width: 320px;
    height: 320px;
    top: -80px;
    left: -60px;
    background: radial-gradient(circle at 40% 40%, var(--ik-accent), transparent 70%);
    opacity: 0.22;
    animation: ikBlobFloat1 20s ease-in-out infinite;
}

.ik-hero-slide-bg .ik-hero-blob-2 {
    width: 260px;
    height: 260px;
    bottom: -100px;
    right: 8%;
    background: radial-gradient(circle at 60% 40%, var(--ik-accent-light), transparent 70%);
    opacity: 0.16;
    animation: ikBlobFloat2 24s ease-in-out infinite;
}

.ik-hero-banner-inner {
    position: relative;
    z-index: 2;
    padding: 44px 0;
}

.ik-hero-banner-grid {
    display: grid;
    grid-template-columns: minmax(0, 540px) 1fr;
    align-items: center;
    gap: 24px;
}

.ik-hero-banner-content {
    max-width: 540px;
    padding: 12px 4px;
}

.ik-hero-banner-media {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 300px;
}

.ik-hero-product-img-wrap {
    position: relative;
    width: 100%;
    max-width: 380px;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    border-radius: 50%;
    background: rgba(245, 166, 35, 0.06);
    border: 1px solid rgba(245, 166, 35, 0.18);
}

.ik-hero-product-img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: var(--ik-radius-lg);
    filter: drop-shadow(0 18px 30px rgba(0, 0, 0, 0.28));
    transition: transform 0.6s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.ik-hero-slide.is-active .ik-hero-product-img {
    transform: scale(1.04);
}

.ik-hero-banner-content .ik-hero-badge {
    background: var(--ik-glass-bg);
    -webkit-backdrop-filter: var(--ik-glass-blur-light);
    backdrop-filter: var(--ik-glass-blur-light);
    border: 1px solid rgba(245,166,35,0.35);
    color: var(--ik-accent-dark);
    animation: ikBadgePulse 2.6s ease-in-out infinite;
}

.ik-hero-banner-content .ik-hero-title {
    color: var(--ik-text);
    position: relative;
    z-index: 1;
}

.ik-hero-banner-content .ik-hero-desc {
    color: var(--ik-text-muted);
    position: relative;
    z-index: 1;
}

.ik-hero-price {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 24px;
    font-weight: 800;
    position: relative;
    z-index: 1;
}

.ik-hero-banner-content .ik-hero-price .ik-price-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ik-hero-banner-content .ik-hero-price .ik-price-current {
    font-size: 1.375rem;
    color: var(--ik-primary);
}

.ik-hero-banner-content .ik-hero-price .ik-price-unit {
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--ik-text-muted);
}

.ik-hero-banner-content .ik-hero-price .ik-price-old {
    font-size: 0.9375rem;
    color: var(--ik-text-muted);
    text-decoration: line-through;
    font-weight: 500;
}

.ik-hero-banner-content .ik-hero-price .ik-price-discount {
    background: var(--ik-error);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: var(--ik-radius-full);
}

.ik-hero-banner-content .ik-btn-outline {
    background: transparent;
    border-color: var(--ik-border);
    color: var(--ik-text);
}

.ik-hero-banner-content .ik-btn-outline:hover {
    background: var(--ik-bg-section);
}

.ik-hero-banner-content .ik-hero-btns {
    position: relative;
    z-index: 1;
}

@keyframes ikBadgePulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(245, 166, 35, 0.3); }
    50%      { box-shadow: 0 0 0 7px rgba(245, 166, 35, 0); }
}

/* کنترل‌های اسلایدر: دات‌ها با نوار پیشرفت + فلش‌ها */
.ik-hero-controls {
    position: relative;
    z-index: 2;
    padding-top: 20px;
}

.ik-hero-controls-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
}

.ik-hero-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--ik-glass-bg);
    -webkit-backdrop-filter: var(--ik-glass-blur-light);
    backdrop-filter: var(--ik-glass-blur-light);
    border: 1px solid var(--ik-glass-border);
    color: var(--ik-primary);
    cursor: pointer;
    transition: var(--ik-transition);
}

.ik-hero-nav:hover {
    background: var(--ik-primary);
    color: #fff;
}

.ik-hero-nav-prev { transform: scaleX(-1); }

.ik-hero-dots {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ik-hero-dot {
    position: relative;
    width: 32px;
    height: 6px;
    border-radius: var(--ik-radius-full);
    background: var(--ik-glass-bg-soft);
    -webkit-backdrop-filter: var(--ik-glass-blur-light);
    backdrop-filter: var(--ik-glass-blur-light);
    border: 1px solid var(--ik-glass-border);
    cursor: pointer;
    overflow: hidden;
    padding: 0;
    transition: var(--ik-transition);
}

.ik-hero-dot.is-active { width: 48px; }

.ik-hero-dot-progress {
    position: absolute;
    inset: 0;
    width: 0%;
    background: var(--ik-accent);
    border-radius: var(--ik-radius-full);
}

.ik-hero-dot.is-active .ik-hero-dot-progress {
    animation: ikHeroDotProgress linear forwards;
    animation-duration: var(--ik-hero-duration, 6s);
}

.ik-hero-dot.is-active.is-paused .ik-hero-dot-progress {
    animation-play-state: paused;
}

@keyframes ikHeroDotProgress {
    from { width: 0%; }
    to   { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .ik-hero-blob,
    .ik-hero-slide-bg .ik-hero-blob { animation: none !important; }
    .ik-hero-product-img { transition: none !important; }
    .ik-hero-slide { transition: opacity 0.3s ease !important; }
}

/* =====================================================
   دکمه‌ها
   ===================================================== */
.ik-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 28px;
    border-radius: var(--ik-radius-full);
    font-size: 0.9375rem;
    font-weight: 700;
    cursor: pointer;
    border: 2px solid transparent;
    transition: var(--ik-transition);
    white-space: nowrap;
    line-height: 1;
    text-decoration: none;
}

.ik-btn:focus-visible {
    outline: 3px solid var(--ik-accent);
    outline-offset: 3px;
}

.ik-btn-primary {
    background: var(--ik-accent);
    color: var(--ik-text-on-accent);
    border-color: var(--ik-accent);
}
.ik-btn-primary:hover {
    background: var(--ik-accent-dark);
    border-color: var(--ik-accent-dark);
    color: var(--ik-text-on-accent);
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(245,166,35,0.35);
}

.ik-btn-outline {
    background: var(--ik-glass-bg-soft);
    -webkit-backdrop-filter: var(--ik-glass-blur-light);
    backdrop-filter: var(--ik-glass-blur-light);
    color: var(--ik-text);
    border-color: var(--ik-border);
}
.ik-btn-outline:hover {
    background: rgba(255,255,255,0.8);
    border-color: var(--ik-primary);
    color: var(--ik-primary);
}

.ik-btn-dark {
    background: var(--ik-primary);
    color: #fff;
    border-color: var(--ik-primary);
}
.ik-btn-dark:hover {
    background: var(--ik-primary-light);
    border-color: var(--ik-primary-light);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: var(--ik-shadow-md);
}

.ik-btn-danger {
    background: var(--ik-error);
    color: #fff;
    border-color: var(--ik-error);
}
.ik-btn-danger:hover {
    background: #a82121;
    border-color: #a82121;
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(198,40,40,0.3);
}

.ik-btn-sm {
    padding: 8px 18px;
    font-size: 0.8125rem;
}

.ik-btn-lg {
    padding: 16px 36px;
    font-size: 1.0625rem;
}

.ik-btn-icon {
    padding: 10px;
    border-radius: var(--ik-radius-md);
}

/* =====================================================
   نوار ویژگی‌ها
   ===================================================== */
.ik-features-bar {
    background: #fff;
    border-bottom: 2px solid var(--ik-border);
    padding: 16px 0;
}

.ik-features-list {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.ik-feature-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.875rem;
    color: var(--ik-text-muted);
}

.ik-feature-icon {
    width: 36px;
    height: 36px;
    background: var(--ik-bg-section);
    border-radius: var(--ik-radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--ik-primary);
}

.ik-feature-icon svg { width: 18px; height: 18px; }
.ik-feature-label { font-weight: 600; color: var(--ik-text); }

/* =====================================================
   بخش‌های محتوا
   ===================================================== */
.ik-section {
    padding: 48px 0;
}

.ik-section-alt {
    background: var(--ik-bg-section);
}

.ik-section-header {
    text-align: center;
    margin-bottom: 40px;
}

.ik-section-eyebrow {
    display: inline-block;
    color: var(--ik-primary);
    font-size: 0.8125rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 10px;
    padding: 4px 16px;
    background: rgba(54,4,4,0.07);
    border-radius: var(--ik-radius-full);
}

.ik-section-title {
    font-size: 1.875rem;
    font-weight: 900;
    color: var(--ik-text);
    line-height: 1.3;
    margin-bottom: 12px;
}

.ik-section-title span { color: var(--ik-primary); }

.ik-section-desc {
    color: var(--ik-text-muted);
    font-size: 0.9375rem;
    max-width: 480px;
    margin: 0 auto;
}

.ik-section-more {
    text-align: center;
    margin-top: 32px;
}

/* =====================================================
   بخش‌های تخفیف: شگفت‌انگیزهای امروز / پیشنهاد این هفته
   طرح جدید: پنل تبلیغاتی رنگی در سمت راست + اسلایدر افقی محصولات
   ===================================================== */
.ik-deals-flex {
    display: flex;
    align-items: stretch;
    gap: 20px;
}

/* --- پنل تبلیغاتی رنگی --- */
.ik-deals-promo {
    flex: 0 0 220px;
    width: 220px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 14px;
    padding: 28px 20px;
    border-radius: var(--ik-radius-xl);
    background: linear-gradient(155deg, #ef4361 0%, var(--ik-primary) 100%);
    color: #fff;
    position: relative;
    overflow: hidden;
}

.ik-deals-promo-weekly {
    background: linear-gradient(155deg, var(--ik-accent) 0%, var(--ik-primary) 100%);
}

.ik-deals-promo-eyebrow {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.3);
    padding: 4px 12px;
    border-radius: var(--ik-radius-full);
}

.ik-deals-promo-title {
    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1.35;
    margin: 0;
}

.ik-deals-promo .ik-deals-countdown,
.ik-deals-promo .ik-deals-badge {
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.28);
    color: #fff;
}

.ik-deals-promo .ik-deals-badge { flex-wrap: wrap; justify-content: center; text-align: center; }
.ik-deals-promo .ik-deals-badge svg { color: #fff; }

.ik-deals-promo .ik-cd-box {
    background: rgba(255, 255, 255, 0.22);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: #fff;
}

.ik-deals-promo-badge {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.9);
    color: var(--ik-primary);
    display: flex;
    align-items: center;
    justify-content: center;
}

.ik-deals-promo-more {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.875rem;
    font-weight: 700;
    color: #fff;
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.32);
    padding: 8px 16px;
    border-radius: var(--ik-radius-full);
    transition: var(--ik-transition);
}

.ik-deals-promo-more:hover {
    background: rgba(255, 255, 255, 0.28);
    color: #fff;
}

.ik-deals-promo-more svg { width: 16px; height: 16px; transform: scaleX(-1); }

.ik-deals-countdown {
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--ik-glass-bg);
    -webkit-backdrop-filter: var(--ik-glass-blur-light);
    backdrop-filter: var(--ik-glass-blur-light);
    border: 1px solid var(--ik-glass-border);
    color: var(--ik-primary);
    padding: 10px 18px;
    border-radius: var(--ik-radius-full);
    box-shadow: var(--ik-shadow-sm);
    flex-shrink: 0;
}

.ik-deals-countdown svg { width: 18px; height: 18px; }

.ik-deals-countdown-time {
    display: flex;
    align-items: center;
    gap: 3px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    direction: ltr;
}

.ik-cd-box {
    display: inline-block;
    min-width: 26px;
    text-align: center;
    background: rgba(139, 21, 21, 0.16);
    -webkit-backdrop-filter: var(--ik-glass-blur-light);
    backdrop-filter: var(--ik-glass-blur-light);
    border: 1px solid rgba(139, 21, 21, 0.18);
    color: var(--ik-primary);
    border-radius: var(--ik-radius-sm);
    padding: 3px 4px;
    font-size: 0.85rem;
    animation: ikCdTick 1s ease-in-out infinite;
}

@keyframes ikCdTick {
    0%, 100% { transform: scale(1); }
    50%      { transform: scale(1.06); }
}

.ik-deals-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--ik-glass-bg);
    -webkit-backdrop-filter: var(--ik-glass-blur-light);
    backdrop-filter: var(--ik-glass-blur-light);
    border: 1px solid var(--ik-glass-border);
    color: var(--ik-text-muted);
    padding: 8px 16px;
    border-radius: var(--ik-radius-full);
    font-size: 0.8125rem;
    font-weight: 600;
    flex-shrink: 0;
}

.ik-deals-badge svg { width: 15px; height: 15px; color: var(--ik-accent-dark); }

/* --- اسلایدر افقی محصولات --- */
.ik-deals-slider-wrap {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.ik-deals-slider-track {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scroll-behavior: smooth;
    padding: 4px 2px 14px;
    flex: 1 1 auto;
    min-width: 0;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

.ik-deals-slider-track::-webkit-scrollbar { height: 6px; }
.ik-deals-slider-track::-webkit-scrollbar-thumb { background: var(--ik-border); border-radius: var(--ik-radius-full); }

.ik-deals-slider-item {
    flex: 0 0 220px;
    width: 220px;
    scroll-snap-align: start;
}

.ik-deals-slider-item .ik-deal-card-wrap,
.ik-deals-slider-item .ik-product-card {
    height: 100%;
}

.ik-deals-slider-nav {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--ik-glass-bg);
    -webkit-backdrop-filter: var(--ik-glass-blur-light);
    backdrop-filter: var(--ik-glass-blur-light);
    border: 1px solid var(--ik-glass-border);
    color: var(--ik-primary);
    cursor: pointer;
    transition: var(--ik-transition);
}

.ik-deals-slider-nav:hover {
    background: var(--ik-primary);
    color: #fff;
}

.ik-deals-slider-nav-prev { transform: scaleX(-1); }

.ik-deal-card-wrap {
    position: relative;
}

.ik-deal-ribbon {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 5;
    background: rgba(198, 40, 40, 0.55);
    -webkit-backdrop-filter: var(--ik-glass-blur-light);
    backdrop-filter: var(--ik-glass-blur-light);
    border: 1px solid rgba(255, 255, 255, 0.35);
    color: #fff;
    font-weight: 800;
    font-size: 0.8125rem;
    padding: 5px 10px;
    border-radius: var(--ik-radius-full);
    box-shadow: 0 4px 14px rgba(198, 40, 40, 0.3);
    animation: ikBadgePulse 2.6s ease-in-out infinite;
}

/* =====================================================
   کارت محصول
   ===================================================== */
.ik-products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 20px;
}

.ik-product-card {
    background: var(--ik-glass-bg-strong);
    -webkit-backdrop-filter: var(--ik-glass-blur-light);
    backdrop-filter: var(--ik-glass-blur-light);
    border-radius: var(--ik-radius-lg);
    overflow: hidden;
    border: 1px solid var(--ik-border-light);
    transition: var(--ik-transition-slow);
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.ik-product-card *, .ik-product-card *::before, .ik-product-card *::after {
    -webkit-tap-highlight-color: transparent;
}

@media (hover: hover) and (pointer: fine) {
    .ik-product-card:hover {
        box-shadow: var(--ik-shadow-lg);
        transform: translateY(-4px);
        border-color: var(--ik-border);
    }
}

.ik-product-img {
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
    background: var(--ik-bg-section);
    flex-shrink: 0;
}

.ik-product-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--ik-transition-slow);
}

.ik-product-card:hover .ik-product-img img {
    transform: scale(1.06);
}

.ik-product-badges {
    position: absolute;
    top: 10px;
    right: 10px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    z-index: 2;
}

.ik-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: var(--ik-radius-full);
    font-size: 0.6875rem;
    font-weight: 700;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.ik-badge-new { background: rgba(54,4,4,0.85); color: #fff; }
.ik-badge-sale { background: var(--ik-accent); color: var(--ik-text-on-accent); }
.ik-badge-hot { background: rgba(198,40,40,0.9); color: #fff; }

/* داخل کارت‌های بخش شگفت‌انگیز/پیشنهاد هفته، ریبون درصد تخفیف (گوشه‌ی
   بالا-راست) از قبل نمایش داده می‌شود؛ بج زرد «تخفیف» دقیقاً همون‌جا
   می‌افتاد و زیر ریبون پنهان می‌شد - پس اینجا حذفش می‌کنیم. */
.ik-deal-card-wrap .ik-badge-sale { display: none; }

.ik-product-quick-actions {
    position: absolute;
    top: 10px;
    left: 10px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    opacity: 0;
    transform: translateX(-8px);
    transition: var(--ik-transition);
    z-index: 5;
}

.ik-product-card:hover .ik-product-quick-actions {
    opacity: 1;
    transform: translateX(0);
}

.ik-quick-btn {
    width: 34px;
    height: 34px;
    background: var(--ik-glass-bg-strong);
    -webkit-backdrop-filter: var(--ik-glass-blur-light);
    backdrop-filter: var(--ik-glass-blur-light);
    border: none;
    border-radius: var(--ik-radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: var(--ik-shadow-sm);
    transition: var(--ik-transition);
    color: var(--ik-text-muted);
}

@media (hover: hover) and (pointer: fine) {
    .ik-quick-btn:hover { background: var(--ik-primary); color: #fff; }
}
.ik-quick-btn svg { width: 16px; height: 16px; }

/* روی دستگاه‌های لمسی (گوشی/تبلت) هاور معنا ندارد، پس این آیکون‌ها همیشه نمایش داده شوند */
@media (hover: none), (max-width: 1024px) {
    .ik-product-quick-actions {
        opacity: 1;
        transform: translateX(0);
    }
}

@media (max-width: 768px) {
    .ik-product-quick-actions { top: 6px; left: 6px; gap: 4px; }
    .ik-quick-btn { width: 26px; height: 26px; }
    .ik-quick-btn svg { width: 13px; height: 13px; }
    .ik-product-badges { top: 6px; right: 6px; gap: 4px; }
    .ik-badge { padding: 3px 7px; font-size: 0.5625rem; }
}

.ik-product-body {
    padding: 16px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.ik-product-cat {
    font-size: 0.75rem;
    color: var(--ik-text-light);
    margin-bottom: 6px;
}

.ik-product-title {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--ik-text);
    margin-bottom: 10px;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ik-product-title a { color: inherit; }
.ik-product-title a:hover { color: var(--ik-primary); }

.ik-product-rating {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px;
}

.ik-stars { color: var(--ik-accent); font-size: 0.8rem; }
.ik-rating-count { font-size: 0.75rem; color: var(--ik-text-light); }

.ik-product-price {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 14px;
}

.ik-price-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ik-price-current {
    font-size: 1.125rem;
    font-weight: 900;
    color: var(--ik-primary);
}

.ik-price-unit {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--ik-text-muted);
}

.ik-price-old {
    font-size: 0.8125rem;
    color: var(--ik-text-light);
    text-decoration: line-through;
}

.ik-price-discount {
    background: rgba(198,40,40,0.1);
    color: #C62828;
    font-size: 0.6875rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: var(--ik-radius-full);
}

.ik-otp-boxes {
    display: flex;
    direction: ltr;
    gap: 10px;
}

.ik-otp-box {
    width: 48px;
    height: 56px;
    text-align: center;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ik-text);
    border: 1.5px solid var(--ik-border);
    border-radius: var(--ik-radius-md);
    background: #fff;
    transition: border-color 0.15s ease;
}

.ik-otp-box:focus {
    outline: none;
    border-color: var(--ik-primary);
}

@media (max-width: 480px) {
    .ik-otp-box {
        width: 42px;
        height: 50px;
        font-size: 1.125rem;
    }
}

.ik-product-add-btn {
    width: 100%;
    background: var(--ik-primary);
    color: #fff;
    border: none;
    border-radius: var(--ik-radius-md);
    padding: 10px 16px;
    font-size: 0.875rem;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: var(--ik-transition);
    font-family: inherit;
    direction: rtl;
    margin-top: auto;
}

.ik-product-add-btn:hover {
    background: var(--ik-primary-light);
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(54,4,4,0.25);
}

.ik-product-add-btn svg { width: 16px; height: 16px; }

/* حذف لینک پیش‌فرض ووکامرس «مشاهده سبد خرید / View cart» که بعد از
   افزودن Ajax محصول به سبد، زیر دکمه در آرشیو/فروشگاه ظاهر می‌شود.
   طبق درخواست، بعد از افزودن محصول هیچ متن یا لینک اضافه‌ای نمایش
   داده نشود. */
a.added_to_cart.wc-forward,
.ik-product-card .added_to_cart,
.products .added_to_cart {
    display: none !important;
}

/* =====================================================
   دسته‌بندی‌ها
   ===================================================== */
.ik-categories-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 16px;
}

.ik-cat-card {
    background: var(--ik-glass-bg-strong);
    -webkit-backdrop-filter: var(--ik-glass-blur-light);
    backdrop-filter: var(--ik-glass-blur-light);
    border-radius: var(--ik-radius-lg);
    padding: 24px 16px;
    text-align: center;
    border: 1.5px solid var(--ik-border-light);
    transition: var(--ik-transition);
    cursor: pointer;
}

.ik-cat-card:hover {
    border-color: var(--ik-primary);
    box-shadow: var(--ik-shadow-md);
    transform: translateY(-2px);
}

.ik-cat-icon {
    width: 56px;
    height: 56px;
    background: var(--ik-bg-section);
    border-radius: var(--ik-radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 12px;
    font-size: 1.5rem;
    transition: var(--ik-transition);
}

.ik-cat-card:hover .ik-cat-icon {
    background: var(--ik-primary);
}

.ik-cat-name {
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--ik-text);
    margin-bottom: 4px;
}

.ik-cat-count {
    font-size: 0.75rem;
    color: var(--ik-text-light);
}

/* =====================================================
   تب‌ها
   ===================================================== */
.ik-tabs {
    display: flex;
    gap: 4px;
    border-bottom: 2px solid var(--ik-border);
    margin-bottom: 32px;
    overflow-x: auto;
}

.ik-tab-btn {
    padding: 10px 22px;
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--ik-text-muted);
    cursor: pointer;
    transition: var(--ik-transition);
    white-space: nowrap;
    font-family: inherit;
    direction: rtl;
}

.ik-tab-btn:hover { color: var(--ik-primary); }
.ik-tab-btn.active {
    color: var(--ik-primary);
    border-bottom-color: var(--ik-primary);
}

/* =====================================================
   فوتر
   ===================================================== */
.ik-footer {
    background: var(--ik-bg-section);
    border-top: 1px solid var(--ik-border-light);
    color: var(--ik-text-muted);
    margin-top: auto;
}

.ik-footer-top {
    padding: 56px 0 40px;
    border-bottom: 1px solid var(--ik-border-light);
}

.ik-footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 48px;
}

.ik-footer-brand .ik-logo-brand { font-size: 1.5rem; }
.ik-footer-brand p {
    color: var(--ik-text-muted);
    font-size: 0.875rem;
    line-height: 1.8;
    margin: 16px 0 24px;
}

.ik-footer-social {
    display: flex;
    gap: 10px;
}

.ik-social-btn {
    width: 38px;
    height: 38px;
    background: var(--ik-glass-bg-strong);
    -webkit-backdrop-filter: var(--ik-glass-blur-light);
    backdrop-filter: var(--ik-glass-blur-light);
    border-radius: var(--ik-radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ik-text-muted);
    transition: var(--ik-transition);
    border: 1px solid var(--ik-border);
}

.ik-social-btn:hover {
    background: var(--ik-accent);
    color: var(--ik-text-on-accent);
    border-color: var(--ik-accent);
}

.ik-social-btn svg { width: 16px; height: 16px; }

.ik-footer-col h4 {
    color: var(--ik-text);
    font-size: 0.9375rem;
    font-weight: 700;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--ik-accent);
    display: inline-block;
}

.ik-footer-links {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ik-footer-links a {
    color: var(--ik-text-muted);
    font-size: 0.875rem;
    transition: var(--ik-transition);
    display: flex;
    align-items: center;
    gap: 8px;
}

.ik-footer-links a::before {
    content: '›';
    color: var(--ik-accent-dark);
    font-weight: 700;
}

.ik-footer-links a:hover {
    color: var(--ik-accent-dark);
    padding-right: 4px;
}

.ik-footer-bottom {
    padding: 20px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    font-size: 0.8125rem;
    color: var(--ik-text-light);
    flex-wrap: wrap;
}

/* =====================================================
   WooCommerce - صفحه محصول
   ===================================================== */
.woocommerce-page .ik-shop-layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 32px;
    padding: 40px 0;
}

.ik-shop-sidebar {
    /* sidebar */
    min-width: 0;
}

.ik-shop-main {
    min-width: 0;
    max-width: 100%;
}

/* دکمه نمایش فیلترها - فقط موبایل/تبلت */
.ik-filter-toggle-btn {
    display: none;
    align-items: center;
    gap: 6px;
    background: var(--ik-primary);
    color: #fff;
    border: none;
    border-radius: var(--ik-radius-sm);
    padding: 10px 16px;
    font-size: 0.8125rem;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
}

.ik-filter-toggle-btn:hover {
    background: var(--ik-primary-hover);
}

.ik-filter-close {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    background: var(--ik-bg-alt, #f7f7f7);
    border: 1px solid var(--ik-border);
    border-radius: var(--ik-radius-sm);
    padding: 10px;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--ik-text);
    font-family: inherit;
    cursor: pointer;
    margin-bottom: 16px;
}

.ik-filter-overlay {
    display: none !important;
}

@media (max-width: 1024px) {
    .ik-filter-toggle-btn {
        display: inline-flex !important;
    }

    .ik-filter-close {
        display: flex !important;
    }

    .ik-shop-sidebar {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        width: min(320px, 85vw) !important;
        max-width: 85vw !important;
        background: #fff;
        z-index: 2147483001 !important;
        overflow-y: auto !important;
        padding: 20px 16px 40px;
        transform: translateX(100%) !important;
        transition: transform 0.3s ease;
        box-shadow: -6px 0 24px rgba(0, 0, 0, 0.15);
    }

    .ik-shop-sidebar.ik-filter-open {
        transform: translateX(0) !important;
    }

    .ik-filter-overlay {
        display: block !important;
        position: fixed !important;
        inset: 0 !important;
        background: rgba(0, 0, 0, 0.45) !important;
        z-index: 2147483000 !important;
        opacity: 0 !important;
        pointer-events: none !important;
        transition: opacity 0.3s ease;
    }

    .ik-filter-overlay.ik-filter-open {
        opacity: 1 !important;
        pointer-events: all !important;
    }
}

.ik-widget-box {
    background: #fff;
    border-radius: var(--ik-radius-lg);
    border: 1px solid var(--ik-border-light);
    overflow: hidden;
    margin-bottom: 20px;
}

.ik-widget-title {
    background: var(--ik-primary);
    color: #fff;
    padding: 14px 20px;
    font-size: 0.9375rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.ik-widget-body {
    padding: 16px 20px;
}

/* فیلتر قیمت */
.ik-price-filter {
    padding: 8px 0;
}

.ik-price-field {
    margin-bottom: 16px;
}

.ik-price-field:last-of-type {
    margin-bottom: 0;
}

.ik-price-field-label {
    display: block;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--ik-text);
    margin-bottom: 8px;
}

.ik-price-chips {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 6px;
    margin-bottom: 8px;
}

.ik-price-chip {
    border: 1px solid var(--ik-border);
    background: #fff;
    border-radius: var(--ik-radius-sm);
    padding: 7px 4px;
    font-size: 0.75rem;
    font-family: inherit;
    color: var(--ik-text);
    cursor: pointer;
    transition: 0.15s;
    text-align: center;
    line-height: 1.4;
}

.ik-price-chip:hover {
    border-color: var(--ik-primary);
    color: var(--ik-primary);
}

.ik-price-chip.active {
    background: var(--ik-primary);
    border-color: var(--ik-primary);
    color: #fff;
    font-weight: 700;
}

.ik-price-manual-input {
    width: 100%;
    border: 1.5px solid var(--ik-border);
    border-radius: var(--ik-radius-sm);
    padding: 8px 10px;
    font-size: 0.8125rem;
    font-family: inherit;
    color: var(--ik-text);
    text-align: center;
    background: #fff;
}

.ik-price-manual-input:focus {
    outline: none;
    border-color: var(--ik-primary);
}

/* حذف فلش پیش‌فرض input عددی برای ظاهر تمیزتر */
.ik-price-manual-input::-webkit-outer-spin-button,
.ik-price-manual-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.ik-price-manual-input[type="number"] {
    -moz-appearance: textfield;
}

/* دسته‌بندی سایدبار */
.ik-cat-list a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid var(--ik-border-light);
    color: var(--ik-text);
    font-size: 0.875rem;
}

.ik-cat-list a:last-child { border-bottom: none; }
.ik-cat-list a:hover { color: var(--ik-primary); }
.ik-cat-list a.active { color: var(--ik-primary); font-weight: 700; }
.ik-cat-list span { color: var(--ik-text-light); font-size: 0.8rem; }

/* فیلتر قیمت دستی (صفحه جستجو) */
.ik-price-filter-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

/* مرتب‌سازی نتایج (صفحه جستجو و فروشگاه) - به حالت دراپ‌داون ساده و استاندارد
   برگردانده شد؛ این نسخه هیچ overflow/اسکرول افقی‌ای ندارد و در نتیجه
   نمی‌تواند باعث به‌هم‌ریختن چیدمان صفحه شود. */
.ik-shop-ordering { display: flex; align-items: center; min-width: 0; max-width: 100%; }

.ik-sort-select {
    max-width: 100%;
    padding: 9px 14px;
    border-radius: var(--ik-radius-sm);
    border: 1.5px solid var(--ik-border);
    background: #fff;
    color: var(--ik-text);
    font-size: 0.8125rem;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
}

@media (max-width: 640px) {
    .ik-shop-ordering {
        width: 100%;
        flex: 1 1 100%;
    }
    .ik-sort-select {
        width: 100%;
    }
}

/* نوار فیلترهای فعال (چیپ‌های قابل حذف با یک کلیک) */
.ik-active-filters {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
    padding: 10px 14px;
    background: var(--ik-bg-section);
    border: 1px dashed var(--ik-border);
    border-radius: var(--ik-radius-md);
}

.ik-active-filters-label {
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--ik-text);
    white-space: nowrap;
}

.ik-active-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: var(--ik-radius-full);
    background: var(--ik-primary);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 600;
    white-space: nowrap;
    transition: var(--ik-transition);
}

.ik-active-filter-chip:hover {
    background: var(--ik-primary-hover);
}

.ik-active-filter-chip svg { width: 12px; height: 12px; flex-shrink: 0; }

.ik-active-filters-clear {
    margin-inline-start: auto;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--ik-error);
    white-space: nowrap;
}

.ik-active-filters-clear:hover { text-decoration: underline; }

/* نوار فیلترهای سریع (افزودن فیلتر با یک کلیک)
   نکته‌ی مهم ریسپانسیو: تمام کانتینرهای این بخش max-width:100% و
   min-width:0 دارند تا ردیف چیپ‌ها هرگز بیرون از باکس والدش نریزد
   و کل چیدمان صفحه را به‌هم نزند؛ اسکرول افقی فقط داخل همان نوار
   چیپ‌ها اتفاق می‌افتد، نه در کل صفحه. */
.ik-quick-filters {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 20px;
    padding: 14px 16px;
    background: #fff;
    border: 1px solid var(--ik-border-light);
    border-radius: var(--ik-radius-md);
    max-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
}

.ik-quick-filter-group {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: nowrap;
    min-width: 0;
    max-width: 100%;
}

.ik-quick-filter-group-label {
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--ik-text);
    white-space: nowrap;
    flex-shrink: 0;
}

.ik-quick-filter-chips {
    display: flex;
    align-items: center;
    gap: 6px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    min-width: 0;
    flex: 1 1 auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    scroll-behavior: smooth;
    padding-bottom: 2px;
}
.ik-quick-filter-chips::-webkit-scrollbar { display: none; }

.ik-quick-filter-chip {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    padding: 6px 14px;
    border-radius: var(--ik-radius-full);
    border: 1.5px solid var(--ik-border);
    background: var(--ik-bg-section);
    color: var(--ik-text);
    font-size: 0.75rem;
    font-weight: 600;
    transition: var(--ik-transition);
    flex-shrink: 0;
    scroll-snap-align: start;
}

.ik-quick-filter-chip:hover {
    border-color: var(--ik-primary);
    color: var(--ik-primary);
}

.ik-quick-filter-chip.is-active {
    background: var(--ik-accent);
    border-color: var(--ik-accent);
    color: var(--ik-text-on-accent);
}

@media (max-width: 640px) {
    .ik-quick-filter-group { flex-wrap: wrap; }
}

.ik-search-order-form {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--ik-bg-section);
    border: 1px solid var(--ik-border);
    border-radius: var(--ik-radius-full);
    padding: 6px 8px 6px 16px;
}

.ik-sort-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8125rem;
    color: var(--ik-text-muted);
    font-weight: 600;
    white-space: nowrap;
}
.ik-sort-label svg { width: 15px; height: 15px; }

.ik-sort-select {
    border: none !important;
    background: #fff !important;
    border-radius: var(--ik-radius-full) !important;
    padding: 7px 14px !important;
    font-size: 0.8125rem !important;
    font-weight: 600;
    cursor: pointer;
    min-width: 150px;
}

.woocommerce-ordering select {
    border: 1.5px solid var(--ik-border) !important;
    border-radius: var(--ik-radius-full) !important;
    padding: 8px 16px !important;
    font-size: 0.8125rem !important;
    font-family: 'Shabnam', 'Tahoma', sans-serif !important;
    direction: rtl !important;
    cursor: pointer;
    background-color: var(--ik-bg-section) !important;
}

/* =====================================================
   صفحه محصول منفرد
   ===================================================== */
.ik-single-product {
    padding: 22px 0;
}

.ik-single-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    margin-bottom: 36px;
}

.ik-product-gallery {
    position: sticky;
    top: 100px;
}

.ik-gallery-main {
    aspect-ratio: 1 / 1;
    max-height: 420px;
    max-width: 420px;
    margin: 0 auto 12px;
    border-radius: var(--ik-radius-lg);
    overflow: hidden;
    border: 2px solid var(--ik-border-light);
    background: var(--ik-bg-section);
}

.ik-gallery-main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ik-gallery-thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ik-gallery-thumb {
    width: 68px;
    height: 68px;
    border-radius: var(--ik-radius-md);
    overflow: hidden;
    border: 2px solid var(--ik-border-light);
    cursor: pointer;
    flex-shrink: 0;
    transition: var(--ik-transition);
}

.ik-gallery-thumb:hover,
.ik-gallery-thumb.active { border-color: var(--ik-primary); }

.ik-gallery-thumb img { width: 100%; height: 100%; object-fit: cover; }

/* اطلاعات محصول */
.ik-product-info { }

.ik-product-cats {
    display: flex;
    gap: 8px;
    margin-bottom: 8px;
    flex-wrap: wrap;
}

.ik-product-cat-tag {
    background: var(--ik-bg-section);
    color: var(--ik-primary);
    padding: 4px 12px;
    border-radius: var(--ik-radius-full);
    font-size: 0.75rem;
    font-weight: 600;
}

.ik-product-brand-tag {
    background: rgba(54,4,4,0.06);
    color: var(--ik-accent-dark);
}

.ik-product-sellers {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.ik-product-sellers-label {
    font-size: 0.8rem;
    color: var(--ik-text-muted);
}

.ik-product-seller-tag {
    background: var(--ik-bg-section);
    color: var(--ik-text);
    border: 1px solid var(--ik-border);
}

.ik-product-single-title {
    font-size: 1.625rem;
    font-weight: 900;
    color: var(--ik-text);
    line-height: 1.3;
    margin-bottom: 10px;
}

.ik-product-meta-row {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--ik-border);
    flex-wrap: wrap;
}

.ik-product-sku { font-size: 0.8125rem; color: var(--ik-text-muted); }
.ik-product-stock-in {
    color: var(--ik-success);
    font-size: 0.8125rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 4px;
}
.ik-product-stock-out {
    color: var(--ik-error);
    font-size: 0.8125rem;
    font-weight: 600;
}

.ik-product-single-price {
    margin-bottom: 14px;
}

.ik-price-main {
    font-size: 2rem;
    font-weight: 900;
    color: var(--ik-primary);
    display: block;
    margin-bottom: 4px;
}

.ik-price-was {
    font-size: 0.9375rem;
    color: var(--ik-text-light);
    text-decoration: line-through;
}

.ik-price-save {
    display: inline-block;
    background: rgba(198,40,40,0.1);
    color: #C62828;
    padding: 3px 12px;
    border-radius: var(--ik-radius-full);
    font-size: 0.8125rem;
    font-weight: 700;
    margin-right: 8px;
}

/* انتخاب تنوع */
.ik-variation-group {
    margin-bottom: 20px;
}

.ik-variation-label {
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--ik-text);
    margin-bottom: 10px;
    display: block;
}

.ik-variation-options {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.ik-var-btn {
    padding: 6px 18px;
    border: 2px solid var(--ik-border);
    border-radius: var(--ik-radius-full);
    background: #fff;
    color: var(--ik-text);
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    transition: var(--ik-transition);
    font-family: inherit;
}

.ik-var-btn:hover,
.ik-var-btn.selected {
    border-color: var(--ik-primary);
    background: var(--ik-primary);
    color: #fff;
}

.ik-color-var {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 3px solid var(--ik-border);
    cursor: pointer;
    transition: var(--ik-transition);
}

.ik-color-var.selected,
.ik-color-var:hover {
    border-color: var(--ik-primary);
    transform: scale(1.1);
}

/* تعداد و افزودن */
.ik-add-to-cart-row {
    display: flex;
    gap: 12px;
    margin-bottom: 20px;
    align-items: stretch;
}

.ik-qty-wrap {
    display: flex;
    align-items: center;
    border: 2px solid var(--ik-border);
    border-radius: var(--ik-radius-md);
    overflow: hidden;
    background: #fff;
}

.ik-qty-btn {
    width: 40px;
    background: var(--ik-bg-section);
    border: none;
    font-size: 1.2rem;
    cursor: pointer;
    transition: var(--ik-transition);
    color: var(--ik-text);
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 46px;
    font-family: inherit;
}

.ik-qty-btn:hover { background: var(--ik-primary); color: #fff; }

.ik-qty-input {
    width: 56px;
    border: none;
    text-align: center;
    font-size: 1rem;
    font-weight: 700;
    color: var(--ik-text);
    background: transparent;
    outline: none;
    font-family: inherit;
    -moz-appearance: textfield;
    appearance: textfield;
}

/* حذف دکمه‌های افزایش/کاهش پیش‌فرض مرورگر روی اینپوت عددی؛ چون قالب
   دکمه‌های اختصاصی +/- خودش را دارد (ik-qty-btn) و وجود هر دو با هم باعث
   می‌شد دو سری دکمه‌ی کم‌وزیاد روی هم نمایش داده شود */
.ik-qty-input::-webkit-outer-spin-button,
.ik-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.ik-add-btn-main {
    flex: 1;
    background: var(--ik-primary);
    color: #fff;
    border: none;
    border-radius: var(--ik-radius-md);
    padding: 14px 24px;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transition: var(--ik-transition);
    font-family: inherit;
    direction: rtl;
}

.ik-add-btn-main:hover {
    background: var(--ik-primary-light);
    box-shadow: 0 6px 20px rgba(54,4,4,0.3);
}

.ik-add-btn-main svg { width: 20px; height: 20px; }

.ik-product-actions-row {
    display: flex;
    gap: 10px;
    margin-bottom: 14px;
}

.ik-wishlist-btn, .ik-compare-btn, .ik-share-btn {
    flex: 1;
    padding: 10px;
    border: 1.5px solid var(--ik-border);
    border-radius: var(--ik-radius-md);
    background: #fff;
    color: var(--ik-text-muted);
    font-size: 0.8125rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    transition: var(--ik-transition);
    font-family: inherit;
}

@media (hover: hover) and (pointer: fine) {
    .ik-wishlist-btn:hover { border-color: #C62828; color: #C62828; background: rgba(198,40,40,0.04); }
    .ik-compare-btn:hover { border-color: var(--ik-primary); color: var(--ik-primary); }
    .ik-share-btn:hover { border-color: var(--ik-info); color: var(--ik-info); }
}

/* =====================================================
   صفحه محصول منفرد - بازطراحی سبک اپل استور + شیشه مایع
   ===================================================== */
.ik-single-product-apple { padding: 10px 0 8px; }

.ik-single-product-apple .ik-single-grid {
    grid-template-columns: 1.05fr 0.95fr;
    align-items: start;
    gap: 40px;
}

.ik-single-product-apple .ik-gallery-main {
    position: relative;
    border-radius: var(--ik-radius-xl);
    border: 1px solid var(--ik-glass-border);
    background: linear-gradient(180deg, #fbfbfb 0%, #f2f2f2 100%);
}

.ik-single-product-apple .ik-gallery-main img {
    object-fit: contain;
    padding: 24px;
    mix-blend-mode: multiply;
}

.ik-single-product-apple .ik-gallery-thumbs {
    max-width: 420px;
    margin-inline: auto;
}

.ik-gallery-sale-badge {
    position: absolute;
    top: 18px;
    inset-inline-start: 18px;
    background: var(--ik-primary);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: var(--ik-radius-full);
    box-shadow: var(--ik-shadow-md);
}

.ik-single-product-apple .ik-gallery-thumb {
    border-radius: var(--ik-radius-md);
    background: #fafafa;
}

.ik-single-product-apple .ik-gallery-thumb img {
    object-fit: contain;
    padding: 8px;
    mix-blend-mode: multiply;
}

/* دسکتاپ: بندانگشتی‌های گالری به‌صورت عمودی، سمت راست تصویر اصلی
   (چون صفحه راست‌به‌چپ است، ستون اول گرید سمت راست قرار می‌گیرد) */
@media (min-width: 1025px) {
    .ik-single-product-apple .ik-product-gallery {
        display: grid;
        grid-template-columns: 84px 1fr;
        grid-template-areas: "thumbs main";
        gap: 14px;
        align-items: start;
    }

    .ik-single-product-apple .ik-gallery-main {
        grid-area: main;
        margin: 0 auto;
    }

    .ik-single-product-apple .ik-gallery-thumbs {
        grid-area: thumbs;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        max-width: none;
        margin: 0;
        max-height: 420px;
        overflow-y: auto;
        overflow-x: hidden;
        padding-inline-end: 4px;
    }

    .ik-single-product-apple .ik-gallery-thumbs::-webkit-scrollbar { width: 5px; }
    .ik-single-product-apple .ik-gallery-thumbs::-webkit-scrollbar-thumb {
        background: var(--ik-border);
        border-radius: 10px;
    }

    .ik-single-product-apple .ik-gallery-thumb {
        width: 100%;
        height: 76px;
        flex-shrink: 0;
    }
}

/* جعبه‌ی خرید شیشه‌ای (Buy Box) */
.ik-buybox {
    border-radius: var(--ik-radius-xl);
    padding: 26px;
    position: sticky;
    top: 100px;
}

.ik-product-feature-list {
    list-style: none;
    margin: 0 0 24px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ik-product-feature-list li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 0.875rem;
    color: var(--ik-text);
    line-height: 1.7;
}

.ik-product-feature-list li svg {
    color: var(--ik-success);
    flex-shrink: 0;
    margin-top: 3px;
}

.ik-product-excerpt {
    color: var(--ik-text-muted);
    font-size: 0.9rem;
    line-height: 1.8;
    margin-bottom: 24px;
}

.ik-buybox-actions { margin-bottom: 12px; }

/* انتخاب‌گر تنوع سبک اپل */
.ik-variations-groups { margin-bottom: 8px; }

.ik-native-variation-select { display: none; }

.ik-variation-reset {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8125rem;
    color: var(--ik-text-muted);
    text-decoration: none;
    margin-bottom: 16px;
    transition: var(--ik-transition);
}

.ik-variation-reset:hover { color: var(--ik-primary); }

.ik-color-var {
    position: relative;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 3px solid #fff;
    outline: 2px solid var(--ik-border);
    cursor: pointer;
    transition: var(--ik-transition);
    padding: 0;
}

.ik-color-var:hover { outline-color: var(--ik-primary); transform: translateY(-2px); }

.ik-color-var.selected {
    outline-color: var(--ik-primary);
    box-shadow: 0 0 0 2px var(--ik-primary);
}

.ik-color-var.selected::after {
    content: '';
    position: absolute;
    inset: 0;
    margin: auto;
    width: 8px;
    height: 8px;
}

/* قیمت و موجودی مخصوص تنوع انتخاب‌شده (تزریق‌شده توسط ووکامرس) */
.woocommerce-variation-price {
    margin-bottom: 12px;
}

.woocommerce-variation-price .price {
    font-size: 2rem;
    font-weight: 900;
    color: var(--ik-primary);
    display: block;
}

.woocommerce-variation-availability {
    margin-bottom: 12px;
    font-size: 0.8125rem;
    font-weight: 600;
}

.woocommerce-variation-availability .in-stock { color: var(--ik-success); }
.woocommerce-variation-availability .out-of-stock,
.woocommerce-variation-availability .unavailable { color: var(--ik-error); }

.woocommerce-variation-description {
    font-size: 0.8125rem;
    color: var(--ik-text-muted);
    line-height: 1.8;
    margin-bottom: 12px;
}

.single_variation_wrap p.stock.out-of-stock {
    color: var(--ik-error);
    font-weight: 600;
    font-size: 0.875rem;
    background: rgba(198, 40, 40, 0.06);
    padding: 12px 16px;
    border-radius: var(--ik-radius-md);
    margin: 0 0 16px;
}

/* توضیحات کامل و جدول مشخصات */
.ik-product-full-description {
    line-height: 2;
    color: var(--ik-text);
    font-size: 0.9375rem;
}

.ik-attributes-table th {
    width: 220px;
    color: var(--ik-text-muted);
    font-weight: 700;
    font-size: 0.875rem;
    text-align: right;
    padding: 14px 16px;
    border-bottom: 1px solid var(--ik-border);
}

.ik-attributes-table td {
    padding: 14px 16px;
    font-size: 0.875rem;
    border-bottom: 1px solid var(--ik-border);
}

/* برخلاف جدول سفارشات (که همیشه باید افقی اسکرول شود)، جدول مشخصات فنی
   محصول باید بدون هیچ اسکرول افقی و بدون بهم‌ریختن چیدمان صفحه در موبایل
   نمایش داده شود؛ چون این جدول کلاس ik-orders-table را هم به ارث می‌برد
   (min-width و white-space:nowrap)، اینجا با اولویت بالاتر (دو کلاس)
   آن مقادیر را برای حالت مشخصات محصول خنثی می‌کنیم. */
.ik-attributes-table.ik-orders-table {
    min-width: 0;
    width: 100%;
}

.ik-attributes-table.ik-orders-table th,
.ik-attributes-table.ik-orders-table td {
    white-space: normal;
    word-break: break-word;
}

@media (max-width: 600px) {
    .ik-attributes-table.ik-orders-table th {
        width: 38%;
        padding: 10px 8px;
        font-size: 0.8125rem;
    }
    .ik-attributes-table.ik-orders-table td {
        padding: 10px 8px;
        font-size: 0.8125rem;
    }
}

.ik-product-tabs-wrap.ik-glass-soft {
    border-radius: var(--ik-radius-xl);
    padding: 8px 28px 28px;
}

/* =====================================================
   بخش دیدگاه‌ها و امتیازدهی محصول (پیش‌فرض وردپرس/ووکامرس
   بدون هیچ استایلی بود؛ این بخش آن را با ظاهر کلی قالب هماهنگ می‌کند)
   ===================================================== */

/* کلاس استاندارد وردپرس برای متن‌های مخصوص screen-reader؛
   نبودِ همین یک کلاس باعث می‌شد برچسب‌های امتیاز ستاره (مثل «1 از 5 ستاره»)
   به‌جای مخفی‌شدن، به‌صورت متن خام روی صفحه نمایش داده شوند */
.screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

#reviews,
.woocommerce-Reviews {
    padding-top: 8px;
}

.ik-reviews-title {
    font-size: 1.125rem;
    font-weight: 800;
    color: var(--ik-text);
    margin-bottom: 20px;
}

.ik-reviews-title span {
    color: var(--ik-primary);
}

.ik-reviews-empty {
    color: var(--ik-text-muted);
    font-size: 0.9375rem;
    background: var(--ik-bg-section);
    border: 1px solid var(--ik-border);
    border-radius: var(--ik-radius-md);
    padding: 18px 20px;
    margin-bottom: 24px;
    text-align: center;
}

/* =====================================================
   خلاصه‌ی امتیاز: میانگین بزرگ + ستاره + نمودار میله‌ای توزیع
   ===================================================== */
.ik-reviews-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
    align-items: center;
    background: var(--ik-bg-section);
    border: 1px solid var(--ik-border);
    border-radius: var(--ik-radius-lg);
    padding: 26px 28px;
    margin-bottom: 28px;
}

.ik-reviews-summary-avg {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
    min-width: 120px;
}

.ik-reviews-summary-number {
    font-size: 2.5rem;
    font-weight: 800;
    color: var(--ik-text);
    line-height: 1;
}

.ik-reviews-summary-stars,
.ik-review-card-stars {
    display: inline-flex;
    direction: ltr;
    font-size: 0;
    line-height: 1;
}

.ik-reviews-summary-stars span,
.ik-review-card-stars span {
    display: inline-block;
    font-size: 1.1rem;
    letter-spacing: 2px;
}

.ik-review-card-stars span { font-size: 0.9375rem; }

.ik-reviews-summary-stars span::before,
.ik-review-card-stars span::before {
    content: '★★★★★';
    background: linear-gradient(90deg, var(--ik-accent) var(--rating, 0%), var(--ik-border) var(--rating, 0%));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.ik-reviews-summary-count {
    font-size: 0.8125rem;
    color: var(--ik-text-muted);
    font-weight: 600;
}

.ik-reviews-summary-bars {
    flex: 1;
    min-width: 200px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ik-reviews-summary-bar-row {
    display: flex;
    align-items: center;
    gap: 10px;
    direction: rtl;
}

.ik-reviews-summary-bar-label {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--ik-text-muted);
    width: 34px;
    flex-shrink: 0;
}

.ik-reviews-summary-bar-star {
    width: 12px;
    height: 12px;
    color: var(--ik-accent);
}

.ik-reviews-summary-bar-track {
    flex: 1;
    height: 8px;
    border-radius: var(--ik-radius-full);
    background: var(--ik-border);
    overflow: hidden;
}

.ik-reviews-summary-bar-fill {
    display: block;
    height: 100%;
    border-radius: var(--ik-radius-full);
    background: var(--ik-accent);
    transition: width 0.5s ease;
}

.ik-reviews-summary-bar-count {
    font-size: 0.75rem;
    color: var(--ik-text-muted);
    width: 22px;
    text-align: left;
    flex-shrink: 0;
}

/* =====================================================
   فهرست دیدگاه‌ها - کارت‌های شیشه‌ای
   ===================================================== */
.ik-reviews-list {
    list-style: none;
    margin: 0 0 32px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.ik-review-card-inner {
    padding: 20px 22px;
    background: var(--ik-bg-card);
    border: 1px solid var(--ik-border);
    border-radius: var(--ik-radius-lg);
    box-shadow: var(--ik-glass-shadow);
}

.ik-review-card-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.ik-review-card-avatar img {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    display: block;
}

.ik-review-card-headmeta {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.ik-review-card-authorline {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.ik-review-card-author {
    font-weight: 700;
    color: var(--ik-text);
    font-size: 0.9375rem;
}

.ik-review-card-verified {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.6875rem;
    font-weight: 700;
    color: var(--ik-success);
    background: rgba(46, 125, 50, 0.08);
    border-radius: var(--ik-radius-full);
    padding: 2px 9px;
}

.ik-review-card-verified svg {
    width: 11px;
    height: 11px;
}

.ik-review-card-unverified {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.6875rem;
    font-weight: 600;
    color: var(--ik-text-muted);
    background: rgba(0, 0, 0, 0.04);
    border-radius: var(--ik-radius-full);
    padding: 2px 9px;
}

.ik-review-card-date {
    font-size: 0.75rem;
    color: var(--ik-text-muted);
}

.ik-review-card-body p {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.9;
    color: var(--ik-text);
}

/* نقاط قوت/ضعف داخل هر دیدگاه - سبز/قرمز */
.ik-review-card-pc {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 16px;
}

.ik-review-card-pc-col {
    border-radius: var(--ik-radius-md);
    padding: 12px 14px;
}

.ik-review-card-pc-pros {
    background: rgba(46, 125, 50, 0.06);
    border: 1px solid rgba(46, 125, 50, 0.18);
}

.ik-review-card-pc-cons {
    background: rgba(198, 40, 40, 0.06);
    border: 1px solid rgba(198, 40, 40, 0.18);
}

.ik-review-card-pc-title {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 0.75rem;
    font-weight: 800;
    margin-bottom: 8px;
}

.ik-review-card-pc-pros .ik-review-card-pc-title { color: var(--ik-success); }
.ik-review-card-pc-cons .ik-review-card-pc-title { color: var(--ik-error); }

.ik-review-card-pc-title svg { width: 13px; height: 13px; }

.ik-review-card-pc-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ik-review-card-pc-col li {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    font-size: 0.8125rem;
    line-height: 1.6;
    color: var(--ik-text);
}

.ik-review-card-pc-col li svg {
    width: 13px;
    height: 13px;
    flex-shrink: 0;
    margin-top: 3px;
}

.ik-review-card-pc-pros li svg { color: var(--ik-success); }
.ik-review-card-pc-cons li svg { color: var(--ik-error); }

.ik-review-card-moderation {
    margin: 10px 0 0;
    font-size: 0.8125rem;
    color: var(--ik-text-muted);
}

@media (max-width: 640px) {
    .ik-review-card-pc { grid-template-columns: 1fr; }
    .ik-reviews-summary { flex-direction: column; align-items: stretch; }
    .ik-reviews-summary-avg { align-items: center; }
}

.woocommerce-pagination {
    margin-bottom: 24px;
}

/* فرم ثبت دیدگاه */
#review_form_wrapper {
    border-top: 1px solid var(--ik-border);
    padding-top: 24px;
}

.ik-review-form-title {
    display: block;
    font-size: 1.0625rem;
    font-weight: 800;
    color: var(--ik-text);
    margin: 0 0 16px;
}

.ik-reviews-login-required {
    background: var(--ik-bg-soft, #f7f7f8);
    border: 1px solid var(--ik-border);
    border-radius: var(--ik-radius, 10px);
    padding: 14px 16px;
    font-size: 0.9375rem;
    color: var(--ik-text);
    margin: 0;
}

.ik-reviews-login-required a {
    color: var(--ik-accent);
    font-weight: 700;
    text-decoration: underline;
}

/* فیلدهای نقاط قوت/ضعف داخل فرم دیدگاه */
.ik-review-pc-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin: 4px 0 22px;
}

.ik-review-pc-group {
    border-radius: var(--ik-radius-md);
    padding: 14px 16px 16px;
}

.ik-review-pc-pros {
    background: rgba(46, 125, 50, 0.05);
    border: 1px solid rgba(46, 125, 50, 0.16);
}

.ik-review-pc-cons {
    background: rgba(198, 40, 40, 0.05);
    border: 1px solid rgba(198, 40, 40, 0.16);
}

.ik-review-pc-group label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--ik-text);
    margin-bottom: 10px;
}

.ik-review-pc-pros label .ik-review-pc-icon { color: var(--ik-success); width: 14px; height: 14px; }
.ik-review-pc-cons label .ik-review-pc-icon { color: var(--ik-error); width: 14px; height: 14px; }

.ik-review-pc-optional {
    font-weight: 400;
    color: var(--ik-text-muted);
    font-size: 0.75rem;
}

.ik-review-pc-rows {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ik-review-pc-row {
    display: flex;
    align-items: center;
    gap: 6px;
}

.ik-review-pc-row input[type="text"] {
    flex: 1;
    width: auto;
    border: 1.5px solid var(--ik-border);
    border-radius: var(--ik-radius-sm);
    padding: 9px 12px;
    font-family: 'Shabnam', 'Tahoma', sans-serif;
    font-size: 0.8125rem;
    background: var(--ik-bg-card);
    color: var(--ik-text);
    transition: var(--ik-transition);
}

.ik-review-pc-row input[type="text"]:focus {
    outline: none;
    border-color: var(--ik-primary);
    box-shadow: 0 0 0 3px rgba(54, 4, 4, 0.08);
}

.ik-review-pc-remove {
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.06);
    color: var(--ik-text-muted);
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
}

.ik-review-pc-remove:hover {
    background: var(--ik-error);
    color: #fff;
}

.ik-review-pc-add {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 10px;
    background: transparent;
    border: 1.5px dashed var(--ik-border);
    border-radius: var(--ik-radius-full);
    padding: 6px 14px;
    font-family: 'Shabnam', 'Tahoma', sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--ik-text-muted);
    cursor: pointer;
    transition: var(--ik-transition);
}

.ik-review-pc-add svg { width: 12px; height: 12px; }

.ik-review-pc-pros .ik-review-pc-add:hover {
    border-color: var(--ik-success);
    color: var(--ik-success);
}

.ik-review-pc-cons .ik-review-pc-add:hover {
    border-color: var(--ik-error);
    color: var(--ik-error);
}

.ik-review-pc-add:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

@media (max-width: 640px) {
    .ik-review-pc-fields { grid-template-columns: 1fr; }
}
#respond.comment-respond .comment-notes,
#respond.comment-respond .logged-in-as {
    font-size: 0.8125rem;
    color: var(--ik-text-muted);
    margin-bottom: 16px;
}

#respond.comment-respond .comment-notes a,
#respond.comment-respond .logged-in-as a {
    color: var(--ik-primary);
}

.comment-form p {
    margin: 0 0 18px;
}

.comment-form label {
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--ik-text);
    margin-bottom: 8px;
}

.comment-form .required {
    color: var(--ik-error);
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
    width: 100%;
    border: 1.5px solid var(--ik-border);
    border-radius: var(--ik-radius-md);
    padding: 12px 16px;
    font-family: 'Shabnam', 'Tahoma', sans-serif;
    font-size: 0.9375rem;
    color: var(--ik-text);
    background: var(--ik-bg-card);
    transition: var(--ik-transition);
}

.comment-form textarea {
    min-height: 140px;
    resize: vertical;
}

.comment-form input[type="text"]:focus,
.comment-form input[type="email"]:focus,
.comment-form input[type="url"]:focus,
.comment-form textarea:focus {
    outline: none;
    border-color: var(--ik-primary);
    box-shadow: 0 0 0 3px rgba(54, 4, 4, 0.08);
}

/* ستاره‌های امتیازدهی - سازگار با هر دو نسخه‌ی ووکامرس (select ساده یا radio دسترس‌پذیر) */
.comment-form-rating {
    margin-bottom: 20px;
}

.comment-form-rating select#rating {
    width: auto;
    min-width: 160px;
    border: 1.5px solid var(--ik-border);
    border-radius: var(--ik-radius-full);
    padding: 10px 20px;
    font-family: 'Shabnam', 'Tahoma', sans-serif;
    font-size: 0.875rem;
    background: var(--ik-bg-card);
    cursor: pointer;
}

.comment-form-rating .stars,
.comment-form-rating p.stars {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    gap: 4px;
    direction: ltr;
    width: max-content;
}

.comment-form-rating .stars a,
.comment-form-rating p.stars a {
    font-size: 0;
    width: 28px;
    height: 28px;
    position: relative;
    text-decoration: none;
}

.comment-form-rating .stars a::before,
.comment-form-rating p.stars a::before {
    content: '★';
    font-size: 24px;
    line-height: 28px;
    color: var(--ik-border);
    transition: var(--ik-transition);
}

.comment-form-rating .stars a:hover::before,
.comment-form-rating .stars a:hover ~ a::before,
.comment-form-rating p.stars a:hover::before,
.comment-form-rating p.stars a:hover ~ a::before,
.comment-form-rating .stars.selected a.active::before,
.comment-form-rating p.stars.selected a.active::before {
    color: var(--ik-accent);
}

/* نسخه‌ی جدید و دسترس‌پذیر ووکامرس: input[type=radio] + label برای هر ستاره */
.comment-form-rating input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    pointer-events: none;
}

.comment-form-rating input[type="radio"] + label {
    display: inline-flex;
    font-size: 0;
    width: 28px;
    height: 28px;
    cursor: pointer;
    margin: 0;
}

.comment-form-rating input[type="radio"] + label::before {
    content: '★';
    font-size: 24px;
    line-height: 28px;
    color: var(--ik-border);
    transition: var(--ik-transition);
}

.comment-form-rating input[type="radio"]:checked ~ input[type="radio"] + label::before,
.comment-form-rating input[type="radio"]:hover ~ input[type="radio"] + label::before {
    color: var(--ik-border);
}

.comment-form-rating span,
.comment-form-rating .stars,
.comment-form-rating fieldset {
    display: flex;
    flex-direction: row-reverse;
    direction: ltr;
    width: max-content;
    border: none;
    padding: 0;
    margin: 0;
}

.comment-form-rating input[type="radio"]:checked + label::before,
.comment-form-rating span:hover input[type="radio"] + label::before,
.comment-form-rating input[type="radio"] + label:hover::before,
.comment-form-rating input[type="radio"] + label:hover ~ input[type="radio"] + label::before {
    color: var(--ik-accent);
}

.form-submit {
    margin-top: 8px;
}

.form-submit #submit,
.form-submit input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--ik-accent);
    color: var(--ik-text-on-accent);
    border: 2px solid var(--ik-accent);
    border-radius: var(--ik-radius-full);
    padding: 12px 32px;
    font-family: 'Shabnam', 'Tahoma', sans-serif;
    font-size: 0.9375rem;
    font-weight: 700;
    cursor: pointer;
    transition: var(--ik-transition);
}

.form-submit #submit:hover,
.form-submit input[type="submit"]:hover {
    background: var(--ik-accent-dark);
    border-color: var(--ik-accent-dark);
    transform: translateY(-1px);
}

@media (max-width: 640px) {
    .ik-review-card-head { flex-wrap: wrap; }
}

/* نوار خرید ثابت پایین صفحه (سبک اپل استور) - طبق درخواست کاربر کاملاً غیرفعال شد
   (نه در دسکتاپ و نه در موبایل نمایش داده نمی‌شود؛ دکمه‌ی اصلیِ افزودن به سبد کافی است) */
.ik-sticky-buybar {
    display: none !important;
}
.ik-sticky-buybar-hidden-rules {
    position: fixed;
    inset-inline: 0;
    bottom: 0;
    z-index: 60;
    transform: translateY(100%);
    opacity: 0;
    transition: var(--ik-transition-slow);
    border-top: 1px solid var(--ik-glass-border);
    pointer-events: none;
}

.ik-sticky-buybar.is-visible {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
}

.ik-sticky-buybar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 0;
}

.ik-sticky-buybar-info {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.ik-sticky-buybar-info img {
    width: 44px;
    height: 44px;
    border-radius: var(--ik-radius-sm);
    object-fit: contain;
    background: #fafafa;
    flex-shrink: 0;
}

.ik-sticky-buybar-info div {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.ik-sticky-buybar-info strong {
    font-size: 0.8125rem;
    color: var(--ik-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 240px;
}

.ik-sticky-buybar-price {
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--ik-primary);
}

.ik-sticky-buybar-btn {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

@media (max-width: 768px) {
    .ik-single-product-apple .ik-single-grid { grid-template-columns: 1fr; }
    .ik-buybox { position: static; padding: 22px; }
    .ik-sticky-buybar-info strong { max-width: 120px; }
}

/* ضمانت‌ها */
.ik-guarantees {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--ik-border);
}

.ik-guarantee-item {
    text-align: center;
    padding: 8px 6px;
    background: var(--ik-bg-section);
    border-radius: var(--ik-radius-md);
}

.ik-guarantee-item svg { width: 20px; height: 20px; color: var(--ik-primary); margin: 0 auto 4px; }
.ik-guarantee-item p { font-size: 0.75rem; color: var(--ik-text-muted); font-weight: 600; }

/* =====================================================
   سبد خرید
   ===================================================== */
.ik-cart-page {
    padding: 40px 0;
}

.ik-cart-layout {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 32px;
    align-items: start;
}

.ik-cart-table-wrap {
    background: #fff;
    border-radius: var(--ik-radius-lg);
    border: 1px solid var(--ik-border-light);
    overflow: hidden;
}

.ik-cart-table {
    width: 100%;
    border-collapse: collapse;
}

.ik-cart-table th {
    background: var(--ik-bg-section);
    padding: 14px 20px;
    text-align: right;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--ik-text-muted);
    border-bottom: 2px solid var(--ik-border);
}

.ik-cart-table td {
    padding: 16px 20px;
    border-bottom: 1px solid var(--ik-border-light);
    vertical-align: middle;
}

.ik-cart-table tr:last-child td { border-bottom: none; }

.ik-cart-product {
    display: flex;
    align-items: center;
    gap: 14px;
}

.ik-cart-product-img {
    width: 72px;
    height: 72px;
    border-radius: var(--ik-radius-md);
    overflow: hidden;
    flex-shrink: 0;
    border: 1px solid var(--ik-border-light);
}

.ik-cart-product-img img { width: 100%; height: 100%; object-fit: cover; }

.ik-cart-product-name {
    font-weight: 700;
    color: var(--ik-text);
    font-size: 0.9rem;
    display: block;
    margin-bottom: 4px;
}

.ik-cart-product-variant {
    font-size: 0.75rem;
    color: var(--ik-text-light);
}

.ik-cart-remove {
    background: none;
    border: none;
    color: var(--ik-text-light);
    cursor: pointer;
    padding: 4px;
    border-radius: var(--ik-radius-sm);
    transition: var(--ik-transition);
    display: flex;
    align-items: center;
    justify-content: center;
}

.ik-cart-remove:hover { color: var(--ik-error); background: rgba(198,40,40,0.08); }
.ik-cart-remove svg { width: 16px; height: 16px; }

.ik-cart-price {
    font-weight: 700;
    color: var(--ik-text);
    white-space: nowrap;
}

.ik-cart-subtotal {
    font-weight: 900;
    color: var(--ik-primary);
    white-space: nowrap;
}

/* خلاصه سبد */
.ik-cart-summary {
    background: #fff;
    border-radius: var(--ik-radius-lg);
    border: 1px solid var(--ik-border-light);
    overflow: hidden;
    position: sticky;
    top: 100px;
}

.ik-summary-header {
    background: var(--ik-primary);
    color: #fff;
    padding: 18px 24px;
    font-size: 1rem;
    font-weight: 700;
}

.ik-summary-body {
    padding: 24px;
}

.ik-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid var(--ik-border-light);
    font-size: 0.9rem;
}

.ik-summary-row:last-of-type { border-bottom: none; }
.ik-summary-row.total {
    font-size: 1.125rem;
    font-weight: 900;
    padding-top: 16px;
    margin-top: 8px;
    border-top: 2px solid var(--ik-border);
}

.ik-summary-row.total .amount { color: var(--ik-primary); }

.ik-coupon-wrap {
    margin: 20px 0;
}

.ik-coupon-input-row {
    display: flex;
    gap: 8px;
}

.ik-coupon-input {
    flex: 1;
    border: 1.5px solid var(--ik-border);
    border-radius: var(--ik-radius-md);
    padding: 10px 14px;
    font-size: 0.875rem;
    outline: none;
    transition: var(--ik-transition);
    direction: rtl;
    font-family: inherit;
}

.ik-coupon-input:focus { border-color: var(--ik-primary); }

.ik-checkout-btn {
    width: 100%;
    background: var(--ik-accent);
    color: var(--ik-text);
    border: none;
    border-radius: var(--ik-radius-md);
    padding: 16px;
    font-size: 1.0625rem;
    font-weight: 900;
    cursor: pointer;
    transition: var(--ik-transition);
    font-family: inherit;
    direction: rtl;
    margin-top: 16px;
}

.ik-checkout-btn:hover {
    background: var(--ik-accent-dark);
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(245,166,35,0.4);
}

/* =====================================================
   صفحه پرداخت
   ===================================================== */
.ik-checkout-page {
    padding: 40px 0;
}

/* ----- نوار مراحل ----- */
.ik-checkout-stepper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    max-width: 480px;
    margin: 0 auto 32px;
}

.ik-checkout-step-item {
    display: flex;
    align-items: center;
    gap: 10px;
    background: none;
    border: none;
    padding: 4px;
    cursor: pointer;
    font-family: inherit;
    direction: rtl;
    color: var(--ik-text-muted);
    transition: var(--ik-transition);
}

.ik-checkout-step-num {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 2px solid var(--ik-border);
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 0.9rem;
    flex-shrink: 0;
    transition: var(--ik-transition);
}

.ik-checkout-step-label {
    font-size: 0.9rem;
    font-weight: 700;
    white-space: nowrap;
}

.ik-checkout-step-item.is-active { color: var(--ik-text); }
.ik-checkout-step-item.is-active .ik-checkout-step-num {
    border-color: var(--ik-primary);
    background: var(--ik-primary);
    color: #fff;
}

.ik-checkout-step-item.is-done .ik-checkout-step-num {
    border-color: var(--ik-primary);
    background: #fff;
    color: var(--ik-primary);
}

.ik-checkout-step-item:disabled { cursor: default; opacity: 0.6; }

.ik-checkout-step-line {
    flex: 1;
    height: 2px;
    background: var(--ik-border);
    max-width: 60px;
}

/* ----- کنترل نمایش مرحله‌ها ----- */
.ik-checkout-page[data-checkout-step="1"] .ik-checkout-step-panel[data-step="2"],
.ik-checkout-page[data-checkout-step="1"] .ik-order-review {
    display: none;
}

.ik-checkout-page[data-checkout-step="1"] .ik-checkout-layout {
    grid-template-columns: 1fr;
    max-width: 640px;
    margin: 0 auto;
}

.ik-checkout-page[data-checkout-step="2"] .ik-checkout-step-panel[data-step="1"] {
    display: none;
}

/* ----- دکمه‌های حرکت بین مراحل ----- */
.ik-checkout-step-actions {
    padding: 4px 28px 28px;
}

.ik-checkout-next-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.ik-checkout-next-btn svg { width: 18px; height: 18px; }

.ik-checkout-step-actions--back {
    padding-top: 0;
}

.ik-checkout-back-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: none;
    border: none;
    color: var(--ik-text-muted);
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 700;
    cursor: pointer;
    padding: 6px 4px;
    transition: var(--ik-transition);
}

.ik-checkout-back-btn:hover { color: var(--ik-primary); }
.ik-checkout-back-btn svg { width: 16px; height: 16px; transform: scaleX(-1); }

.ik-checkout-layout {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 32px;
    align-items: start;
}

.ik-checkout-form-wrap {
    background: #fff;
    border-radius: var(--ik-radius-lg);
    border: 1px solid var(--ik-border-light);
    overflow: hidden;
}

.ik-checkout-section {
    padding: 28px;
    border-bottom: 1px solid var(--ik-border-light);
}

.ik-checkout-section:last-child { border-bottom: none; }

.ik-checkout-section-title {
    font-size: 1.0625rem;
    font-weight: 800;
    color: var(--ik-text);
    margin-bottom: 24px;
    padding-bottom: 14px;
    border-bottom: 2px solid var(--ik-accent);
    display: flex;
    align-items: center;
    gap: 10px;
}

.ik-checkout-section-title svg { width: 20px; height: 20px; color: var(--ik-primary); }

/* فرم */
.ik-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.ik-form-grid.single { grid-template-columns: 1fr; }

.ik-form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ik-form-group.full { grid-column: 1 / -1; }

.ik-form-label {
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--ik-text);
}

.ik-form-label .required { color: var(--ik-error); }

.ik-form-input,
.ik-form-select,
.ik-form-textarea {
    border: 1.5px solid var(--ik-border);
    border-radius: var(--ik-radius-md);
    padding: 11px 14px;
    font-size: 0.9rem;
    color: var(--ik-text);
    background: #fff;
    outline: none;
    transition: var(--ik-transition);
    direction: rtl;
    font-family: inherit;
    width: 100%;
}

.ik-form-input:focus,
.ik-form-select:focus,
.ik-form-textarea:focus {
    border-color: var(--ik-primary);
    box-shadow: 0 0 0 3px rgba(54,4,4,0.08);
}

.ik-form-textarea { resize: vertical; min-height: 90px; }

/* متن راهنمای کوچک زیر فیلد (مثلاً توضیح الزام قانونی کد ملی) */
.ik-form-hint {
    display: block;
    font-size: 0.78rem;
    color: var(--ik-text-light, #767676);
    line-height: 1.6;
    margin-top: 2px;
}

/* حالت خطا در فیلدها (بعد از خطای اعتبارسنجی ووکامرس) */
.woocommerce-invalid .ik-form-input,
.woocommerce-invalid .ik-form-select,
.woocommerce-invalid .ik-form-textarea {
    border-color: var(--ik-error);
}

/* روش‌های ارسال (لیست پیش‌فرض ووکامرس، هم‌رنگ‌سازی‌شده) */
#shipping_method,
.woocommerce-shipping-methods {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

#shipping_method li,
.woocommerce-shipping-methods li {
    border: 2px solid var(--ik-border);
    border-radius: var(--ik-radius-md);
    padding: 14px 16px;
    transition: var(--ik-transition);
}

#shipping_method li:has(input:checked),
.woocommerce-shipping-methods li:has(input:checked) {
    border-color: var(--ik-primary);
    background: rgba(54,4,4,0.04);
}

#shipping_method input[type="radio"],
.woocommerce-shipping-methods input[type="radio"] {
    width: 18px;
    height: 18px;
    accent-color: var(--ik-primary);
    vertical-align: middle;
    margin-inline-start: 10px;
    cursor: pointer;
}

#shipping_method label,
.woocommerce-shipping-methods label {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--ik-text);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
}

#shipping_method .woocommerce-Price-amount,
.woocommerce-shipping-methods .woocommerce-Price-amount {
    color: var(--ik-primary);
    font-weight: 800;
}

/* روش‌های پرداخت */
.ik-payment-methods {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ik-payment-option {
    border: 2px solid var(--ik-border);
    border-radius: var(--ik-radius-md);
    overflow: hidden;
    transition: var(--ik-transition);
}

.ik-payment-option.selected { border-color: var(--ik-primary); }

.ik-payment-option-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    cursor: pointer;
    background: #fff;
}

.ik-payment-option.selected .ik-payment-option-header { background: rgba(54,4,4,0.04); }

.ik-radio-custom {
    width: 20px;
    height: 20px;
    border: 2px solid var(--ik-border);
    border-radius: 50%;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--ik-transition);
}

.ik-payment-option.selected .ik-radio-custom {
    border-color: var(--ik-primary);
    background: var(--ik-primary);
}

.ik-radio-dot {
    width: 8px;
    height: 8px;
    background: #fff;
    border-radius: 50%;
    opacity: 0;
    transition: var(--ik-transition);
}

.ik-payment-option.selected .ik-radio-dot { opacity: 1; }

.ik-payment-icon {
    width: 40px;
    height: 28px;
    object-fit: contain;
}

.ik-payment-name { font-weight: 700; font-size: 0.9rem; }
.ik-payment-desc { font-size: 0.8rem; color: var(--ik-text-muted); margin-right: auto; }

.ik-payment-body {
    padding: 16px;
    border-top: 1px solid var(--ik-border-light);
    background: var(--ik-bg-section);
    display: none;
}

.ik-payment-option.selected .ik-payment-body { display: block; }

/* خلاصه سفارش پرداخت */
.ik-order-review {
    background: #fff;
    border-radius: var(--ik-radius-lg);
    border: 1px solid var(--ik-border-light);
    overflow: hidden;
    position: sticky;
    top: 100px;
}

.ik-order-review-header {
    background: var(--ik-primary);
    color: #fff;
    padding: 18px 24px;
    font-size: 1rem;
    font-weight: 700;
}

.ik-order-products {
    padding: 20px;
    border-bottom: 1px solid var(--ik-border-light);
    display: flex;
    flex-direction: column;
    gap: 14px;
    max-height: 300px;
    overflow-y: auto;
}

.ik-order-product-item {
    display: flex;
    gap: 12px;
    align-items: center;
}

.ik-order-product-img {
    width: 54px;
    height: 54px;
    border-radius: var(--ik-radius-sm);
    overflow: hidden;
    border: 1px solid var(--ik-border-light);
    flex-shrink: 0;
}

.ik-order-product-img img { width: 100%; height: 100%; object-fit: cover; }

.ik-order-product-name { font-size: 0.875rem; font-weight: 600; flex: 1; }
.ik-order-product-qty { font-size: 0.75rem; color: var(--ik-text-muted); }
.ik-order-product-price { font-weight: 700; font-size: 0.875rem; white-space: nowrap; }

.ik-order-totals {
    padding: 20px;
}

.ik-place-order-btn {
    width: 100%;
    background: var(--ik-primary);
    color: #fff;
    border: none;
    border-radius: var(--ik-radius-md);
    padding: 18px;
    font-size: 1.125rem;
    font-weight: 900;
    cursor: pointer;
    transition: var(--ik-transition);
    font-family: inherit;
    direction: rtl;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 16px 20px 20px;
    width: calc(100% - 40px);
}

.ik-place-order-btn:hover {
    background: var(--ik-primary-light);
    box-shadow: 0 6px 24px rgba(54,4,4,0.3);
}

/* =====================================================
   حساب کاربری
   ===================================================== */
.ik-account-page {
    padding: 40px 0;
}

.ik-account-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 32px;
    align-items: start;
}

.ik-account-sidebar { }

.ik-account-user-card {
    background: var(--ik-primary);
    border-radius: var(--ik-radius-lg);
    padding: 28px 20px;
    text-align: center;
    margin-bottom: 20px;
    color: #fff;
}

.ik-account-avatar {
    width: 80px;
    height: 80px;
    background: rgba(255,255,255,0.15);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 14px;
    border: 3px solid var(--ik-accent);
    overflow: hidden;
}

.ik-account-avatar svg { width: 40px; height: 40px; }
.ik-account-avatar img { width: 100%; height: 100%; object-fit: cover; }

.ik-account-name {
    font-size: 1.0625rem;
    font-weight: 800;
    margin-bottom: 4px;
}

.ik-account-email {
    font-size: 0.8125rem;
    color: rgba(255,255,255,0.65);
}

.ik-account-nav {
    background: #fff;
    border-radius: var(--ik-radius-lg);
    border: 1px solid var(--ik-border-light);
    overflow: hidden;
}

.ik-account-nav-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 20px;
    border-bottom: 1px solid var(--ik-border-light);
    color: var(--ik-text);
    font-size: 0.9rem;
    font-weight: 600;
    transition: var(--ik-transition);
    cursor: pointer;
    border-right: 3px solid transparent;
}

.ik-account-nav-item:last-child { border-bottom: none; }

.ik-account-nav-item svg {
    width: 18px;
    height: 18px;
    color: var(--ik-text-muted);
    flex-shrink: 0;
}

.ik-account-nav-item:hover,
.ik-account-nav-item.active {
    background: var(--ik-bg-section);
    color: var(--ik-primary);
    border-right-color: var(--ik-primary);
}

.ik-account-nav-item:hover svg,
.ik-account-nav-item.active svg { color: var(--ik-primary); }

.ik-account-nav-item .ik-nav-badge {
    margin-right: auto;
    background: var(--ik-primary);
    color: #fff;
    font-size: 0.625rem;
    padding: 2px 7px;
    border-radius: var(--ik-radius-full);
}

/* محتوای حساب */
.ik-account-content {
    background: #fff;
    border-radius: var(--ik-radius-lg);
    border: 1px solid var(--ik-border-light);
    overflow: hidden;
}

.ik-account-content-header {
    background: var(--ik-bg-section);
    padding: 18px 28px;
    border-bottom: 2px solid var(--ik-border);
    font-size: 1.0625rem;
    font-weight: 800;
    color: var(--ik-text);
    display: flex;
    align-items: center;
    gap: 10px;
}

.ik-account-content-header svg { width: 20px; height: 20px; color: var(--ik-primary); }

.ik-account-content-body { padding: 28px; }

/* نشان سطح عضویت اینوکلاب در کارت پروفایل سایدبار */
.ik-account-tier-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 12px;
    padding: 5px 12px;
    border-radius: var(--ik-radius-full);
    font-size: 0.75rem;
    font-weight: 700;
    color: #fff;
}
.ik-account-tier-badge svg { width: 14px; height: 14px; }

/* کارت‌های آماری کوچک امتیاز/کیف پول در سایدبار */
.ik-account-quickstats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 20px;
}

.ik-account-quickstat {
    background: #fff;
    border: 1px solid var(--ik-border-light);
    border-radius: var(--ik-radius-md);
    padding: 14px 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: var(--ik-transition);
}

.ik-account-quickstat:hover {
    border-color: var(--ik-primary);
    box-shadow: var(--ik-shadow-sm);
}

.ik-account-quickstat svg {
    width: 20px;
    height: 20px;
    color: var(--ik-accent-dark);
    flex-shrink: 0;
}

.ik-account-quickstat-num {
    display: block;
    font-size: 0.9375rem;
    font-weight: 800;
    color: var(--ik-text);
}

.ik-account-quickstat-num small { font-size: 0.6875rem; font-weight: 600; color: var(--ik-text-muted); }

.ik-account-quickstat-label {
    display: block;
    font-size: 0.6875rem;
    color: var(--ik-text-muted);
    margin-top: 2px;
}

@media (max-width: 480px) {
    .ik-account-quickstats { grid-template-columns: 1fr; }
}

/* =====================================================
   اینوکلاب (باشگاه مشتریان)
   ===================================================== */
.ik-club-hero {
    background: linear-gradient(135deg, var(--ik-primary) 0%, var(--ik-primary-light) 100%);
    border-radius: var(--ik-radius-lg);
    padding: 28px;
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
}

.ik-club-hero-points { display: flex; align-items: center; gap: 16px; }

.ik-club-hero-points .ik-icon-badge {
    width: 56px;
    height: 56px;
    background: rgba(255,255,255,0.15);
    border: 2px solid var(--ik-accent);
}
.ik-club-hero-points .ik-icon-badge svg { width: 28px; height: 28px; color: var(--ik-accent); }

.ik-club-hero-points-num { font-size: 1.75rem; font-weight: 900; line-height: 1.2; }
.ik-club-hero-points-label { font-size: 0.8125rem; color: rgba(255,255,255,0.7); }

.ik-club-tier-box { min-width: 220px; }
.ik-club-tier-name { font-weight: 800; font-size: 0.9375rem; margin-bottom: 8px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ik-club-tier-next { font-size: 0.75rem; color: rgba(255,255,255,0.65); margin-top: 6px; }

.ik-club-progress-track {
    width: 100%;
    height: 8px;
    background: rgba(255,255,255,0.15);
    border-radius: var(--ik-radius-full);
    overflow: hidden;
}
.ik-club-progress-fill {
    height: 100%;
    background: var(--ik-accent);
    border-radius: var(--ik-radius-full);
    transition: width 0.4s ease;
}

.ik-club-redeem-box {
    background: var(--ik-bg-section);
    border: 1px solid var(--ik-border-light);
    border-radius: var(--ik-radius-lg);
    padding: 20px;
    margin-bottom: 28px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    justify-content: space-between;
}

.ik-club-redeem-box-text { flex: 1; min-width: 220px; }
.ik-club-redeem-box-text strong { display: block; font-size: 0.9375rem; margin-bottom: 4px; }
.ik-club-redeem-box-text span { font-size: 0.8125rem; color: var(--ik-text-muted); }

.ik-club-redeem-controls { display: flex; align-items: flex-start; gap: 10px; }
.ik-club-redeem-controls input {
    width: 110px;
    text-align: center;
}

.ik-club-redeem-input-wrap {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ik-club-redeem-preview {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--ik-success);
    white-space: nowrap;
}

.ik-club-redeem-preview.is-zero { color: var(--ik-text-muted); font-weight: 500; }

.ik-club-redeem-hint {
    width: 100%;
    font-size: 0.8125rem;
    color: var(--ik-text-muted);
    margin-top: 4px;
}

.ik-club-section-title {
    font-size: 1rem;
    font-weight: 800;
    margin: 28px 0 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.ik-club-section-title svg { width: 18px; height: 18px; color: var(--ik-primary); }

.ik-club-missions-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 16px;
}

.ik-club-mission-card {
    background: #fff;
    border: 1px solid var(--ik-border-light);
    border-radius: var(--ik-radius-lg);
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    transition: var(--ik-transition);
}
.ik-club-mission-card:hover { box-shadow: var(--ik-shadow-sm); }
.ik-club-mission-card.is-done { border-color: var(--ik-success); background: rgba(46,125,50,0.04); }

.ik-club-mission-top { display: flex; align-items: flex-start; gap: 12px; }
.ik-club-mission-icon {
    width: 44px;
    height: 44px;
    border-radius: var(--ik-radius-md);
    background: var(--ik-bg-section);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.ik-club-mission-icon svg { width: 22px; height: 22px; color: var(--ik-primary); }
.ik-club-mission-card.is-done .ik-club-mission-icon { background: rgba(46,125,50,0.12); }
.ik-club-mission-card.is-done .ik-club-mission-icon svg { color: var(--ik-success); }

.ik-club-mission-title { font-weight: 700; font-size: 0.9375rem; margin-bottom: 4px; }
.ik-club-mission-desc { font-size: 0.8125rem; color: var(--ik-text-muted); line-height: 1.7; }

.ik-club-mission-points {
    margin-right: auto;
    background: var(--ik-accent);
    color: var(--ik-text-on-accent);
    font-size: 0.75rem;
    font-weight: 800;
    padding: 4px 10px;
    border-radius: var(--ik-radius-full);
    white-space: nowrap;
}

.ik-club-mission-footer { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ik-club-mission-status-done { display: flex; align-items: center; gap: 6px; color: var(--ik-success); font-size: 0.8125rem; font-weight: 700; }
.ik-club-mission-status-done svg { width: 16px; height: 16px; }

/* =====================================================
   کیف پول
   ===================================================== */
.ik-wallet-balance-card {
    background: linear-gradient(135deg, var(--ik-primary) 0%, var(--ik-primary-light) 100%);
    border-radius: var(--ik-radius-lg);
    padding: 32px 28px;
    color: #fff;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
}

.ik-wallet-balance-label { font-size: 0.8125rem; color: rgba(255,255,255,0.65); margin-bottom: 6px; }
.ik-wallet-balance-num { font-size: 2.25rem; font-weight: 900; }
.ik-wallet-balance-num small { font-size: 1rem; font-weight: 600; color: rgba(255,255,255,0.75); }

.ik-wallet-notice {
    background: var(--ik-bg-section);
    border: 1px dashed var(--ik-border);
    border-radius: var(--ik-radius-md);
    padding: 14px 16px;
    font-size: 0.8125rem;
    color: var(--ik-text-muted);
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 24px;
}
.ik-wallet-notice svg { width: 18px; height: 18px; color: var(--ik-info); flex-shrink: 0; }

.ik-wallet-tx-list { display: flex; flex-direction: column; gap: 2px; }
.ik-wallet-tx-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 4px;
    border-bottom: 1px solid var(--ik-border-light);
}
.ik-wallet-tx-item:last-child { border-bottom: none; }

.ik-wallet-tx-icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: rgba(46,125,50,0.1);
}
.ik-wallet-tx-icon svg { width: 18px; height: 18px; color: var(--ik-success); }
.ik-wallet-tx-item.is-debit .ik-wallet-tx-icon { background: rgba(198,40,40,0.1); }
.ik-wallet-tx-item.is-debit .ik-wallet-tx-icon svg { color: var(--ik-error); }

.ik-wallet-tx-desc { font-weight: 600; font-size: 0.875rem; }
.ik-wallet-tx-date { font-size: 0.75rem; color: var(--ik-text-muted); margin-top: 2px; }
.ik-wallet-tx-amount { margin-right: auto; font-weight: 800; font-size: 0.9375rem; white-space: nowrap; }
.ik-wallet-tx-item.is-debit .ik-wallet-tx-amount { color: var(--ik-error); }
.ik-wallet-tx-item:not(.is-debit) .ik-wallet-tx-amount { color: var(--ik-success); }

.ik-wallet-empty, .ik-club-missions-empty {
    text-align: center;
    padding: 40px 20px;
    color: var(--ik-text-muted);
}

/* =====================================================
   کارت «تغییر رمز عبور» جایگزین فرم قدیمی در اطلاعات حساب
   ===================================================== */
.ik-account-password-card {
    background: var(--ik-bg-section);
    border: 1px solid var(--ik-border-light);
    border-radius: var(--ik-radius-lg);
    padding: 20px;
    margin-top: 24px;
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}
.ik-account-password-card-icon {
    width: 44px;
    height: 44px;
    border-radius: var(--ik-radius-md);
    background: #fff;
    border: 1px solid var(--ik-border);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.ik-account-password-card-icon svg { width: 22px; height: 22px; color: var(--ik-primary); }
.ik-account-password-card-text { flex: 1; min-width: 200px; }
.ik-account-password-card-text strong { display: block; font-size: 0.9375rem; margin-bottom: 4px; }
.ik-account-password-card-text span { font-size: 0.8125rem; color: var(--ik-text-muted); line-height: 1.7; }

/* جدول سفارشات */
.ik-orders-table-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.ik-orders-table {
    width: 100%;
    min-width: 560px;
    border-collapse: collapse;
}

.ik-orders-table th {
    background: var(--ik-bg-section);
    padding: 12px 16px;
    text-align: right;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--ik-text-muted);
    border-bottom: 2px solid var(--ik-border);
    white-space: nowrap;
}

.ik-orders-table td {
    padding: 14px 16px;
    border-bottom: 1px solid var(--ik-border-light);
    font-size: 0.875rem;
    vertical-align: middle;
    white-space: nowrap;
}

@media (max-width: 600px) {
    .ik-orders-table { min-width: 480px; }
    .ik-orders-table th, .ik-orders-table td { padding: 10px 12px; font-size: 0.8125rem; }
}

.ik-orders-table tr:last-child td { border-bottom: none; }
.ik-orders-table tr:hover td { background: var(--ik-bg-section); }

.ik-order-status {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 12px;
    border-radius: var(--ik-radius-full);
    font-size: 0.75rem;
    font-weight: 700;
}

.ik-status-processing {
    background: rgba(21,101,192,0.1);
    color: var(--ik-info);
}

.ik-status-completed {
    background: rgba(46,125,50,0.1);
    color: var(--ik-success);
}

.ik-status-pending {
    background: rgba(245,166,35,0.15);
    color: #B86800;
}

.ik-status-cancelled {
    background: rgba(198,40,40,0.1);
    color: var(--ik-error);
}

/* =====================================================
   صفحه جزئیات سفارش (view-order) در حساب کاربری
   ===================================================== */

.ik-account-content-header {
    position: relative;
    flex-wrap: wrap;
}

.ik-invoice-download-btn {
    margin-right: auto;
    margin-left: 0;
}

.ik-order-meta-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    background: var(--ik-bg-section);
    border: 1px solid var(--ik-border-light);
    border-radius: var(--ik-radius-md);
    padding: 16px 20px;
    margin-bottom: 28px;
}

.ik-order-meta-item {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.ik-order-meta-label {
    font-size: 0.75rem;
    color: var(--ik-text-muted);
}

.ik-order-meta-value {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--ik-text);
}

/* نوار مراحل پیگیری سفارش */
.ik-order-tracker {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 32px;
    padding: 8px 8px 0;
}

.ik-tracker-step {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    flex: 1;
}

.ik-tracker-icon {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--ik-border-light);
    color: var(--ik-text-light);
    border: 2px solid var(--ik-border);
    transition: var(--ik-transition);
    z-index: 2;
    margin-bottom: 10px;
}

.ik-tracker-icon svg { width: 20px; height: 20px; }

.ik-tracker-label {
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--ik-text-muted);
    max-width: 110px;
    line-height: 1.5;
}

.ik-tracker-line {
    position: absolute;
    top: 23px;
    right: 50%;
    width: 100%;
    height: 3px;
    background: var(--ik-border);
    z-index: 1;
}

.ik-tracker-step.ik-tracker-done .ik-tracker-icon {
    background: var(--ik-success);
    border-color: var(--ik-success);
    color: #fff;
}

.ik-tracker-step.ik-tracker-done .ik-tracker-label { color: var(--ik-success); }

.ik-tracker-step.ik-tracker-done .ik-tracker-line { background: var(--ik-success); }

.ik-tracker-step.ik-tracker-active .ik-tracker-icon {
    background: var(--ik-primary);
    border-color: var(--ik-primary);
    color: #fff;
    box-shadow: 0 0 0 5px rgba(54,4,4,0.1);
}

.ik-tracker-step.ik-tracker-active .ik-tracker-label { color: var(--ik-primary); }

.ik-order-tracker-alert {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    border-radius: var(--ik-radius-md);
    font-size: 0.875rem;
    font-weight: 600;
    margin-bottom: 28px;
    background: rgba(198,40,40,0.08);
    color: var(--ik-error);
}

.ik-order-tracker-alert svg { width: 20px; height: 20px; flex-shrink: 0; }

.ik-order-section-title {
    font-size: 1rem;
    font-weight: 800;
    color: var(--ik-text);
    margin: 0 0 14px;
}

.ik-order-items-table-wrap {
    border: 1px solid var(--ik-border-light);
    border-radius: var(--ik-radius-md);
    overflow: hidden;
    margin-bottom: 24px;
}

.ik-order-product-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.ik-order-product-meta {
    font-size: 0.75rem;
    color: var(--ik-text-muted);
    margin-top: 2px;
}

.ik-order-totals-box {
    max-width: 320px;
    margin-right: auto;
    margin-left: 0;
    margin-bottom: 28px;
}

.ik-order-totals-row {
    display: flex;
    justify-content: space-between;
    font-size: 0.875rem;
    padding: 7px 0;
    color: var(--ik-text-muted);
}

.ik-order-totals-discount { color: var(--ik-success); }

.ik-order-totals-final {
    font-size: 1.0625rem;
    font-weight: 900;
    color: var(--ik-primary);
    border-top: 2px solid var(--ik-border);
    margin-top: 6px;
    padding-top: 12px;
}

.ik-order-note-box {
    background: var(--ik-bg-section);
    border-radius: var(--ik-radius-md);
    padding: 14px 18px;
    font-size: 0.875rem;
    margin-bottom: 24px;
}

.ik-order-note-box p { margin: 6px 0 0; color: var(--ik-text-muted); }

.ik-order-tracking-box {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: var(--ik-bg-section);
    border-radius: var(--ik-radius-md);
    padding: 14px 18px;
    font-size: 0.875rem;
    margin-bottom: 24px;
}

.ik-order-tracking-box svg { width: 22px; height: 22px; flex-shrink: 0; margin-top: 2px; color: var(--ik-text-muted); }

.ik-order-tracking-box p { margin: 4px 0 0; color: var(--ik-text-muted); }

.ik-order-tracking-has-code {
    background: #e6f4ea;
}

.ik-order-tracking-has-code svg { color: #1a7a34; }

.ik-order-tracking-code {
    font-weight: 800;
    font-size: 1rem;
    color: #1a7a34 !important;
    letter-spacing: 0.5px;
}

.ik-order-tracking-pending svg { color: #996f00; }

.ik-order-address-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 24px;
}

.ik-order-address-card {
    background: var(--ik-bg-section);
    border: 1px solid var(--ik-border-light);
    border-radius: var(--ik-radius-md);
    padding: 16px 18px;
}

.ik-order-address-card h4 {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.875rem;
    font-weight: 800;
    margin: 0 0 10px;
    color: var(--ik-text);
}

.ik-order-address-card h4 svg { width: 16px; height: 16px; color: var(--ik-primary); }

.ik-order-address-card p {
    font-size: 0.8125rem;
    line-height: 1.9;
    color: var(--ik-text-muted);
    margin: 0;
}

.ik-order-address-phone {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px !important;
}

.ik-order-address-phone svg { width: 14px; height: 14px; }

.ik-order-back-link { margin-top: 8px; }

@media (max-width: 782px) {
    .ik-order-meta-row { grid-template-columns: repeat(2, 1fr); }
    .ik-order-tracker { flex-wrap: wrap; gap: 20px; }
    .ik-tracker-step { flex: 0 0 40%; }
    .ik-tracker-line { display: none; }
    .ik-order-address-grid { grid-template-columns: 1fr; }
    .ik-invoice-download-btn { width: 100%; margin-top: 10px; }
}

/* =====================================================
   بردکرامب
   ===================================================== */
.ik-breadcrumb {
    padding: 14px 0;
    border-bottom: 1px solid var(--ik-border-light);
    background: #fff;
}

.ik-breadcrumb-list {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8125rem;
    flex-wrap: wrap;
}

.ik-breadcrumb-item { color: var(--ik-text-muted); }
.ik-breadcrumb-item a { color: var(--ik-text-muted); }
.ik-breadcrumb-item a:hover { color: var(--ik-primary); }
.ik-breadcrumb-item.current { color: var(--ik-text); font-weight: 600; }
.ik-breadcrumb-sep { color: var(--ik-text-light); font-size: 0.75rem; }

/* در صفحه محصول فضای بردکرامب جمع‌وجورتر شود تا اطلاعات خرید بدون اسکرول دیده شوند */
.single-product .ik-breadcrumb {
    padding: 6px 0;
}

/* =====================================================
   نوتیفیکیشن‌ها
   ===================================================== */
.ik-notice {
    padding: 14px 18px;
    border-radius: var(--ik-radius-md);
    font-size: 0.9rem;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
}

.ik-notice svg { width: 18px; height: 18px; flex-shrink: 0; margin-top: 2px; }

.ik-notice-success { background: rgba(46,125,50,0.08); color: #1B5E20; border: 1px solid rgba(46,125,50,0.2); }
.ik-notice-error { background: rgba(198,40,40,0.08); color: #B71C1C; border: 1px solid rgba(198,40,40,0.2); }
.ik-notice-info { background: rgba(21,101,192,0.08); color: #0D47A1; border: 1px solid rgba(21,101,192,0.2); }
.ik-notice-warning { background: rgba(245,166,35,0.1); color: #7B3F00; border: 1px solid rgba(245,166,35,0.3); }

/* =====================================================
   صفحه سوالات متداول (FAQ)
   ===================================================== */
.ik-faq-wrap {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.ik-faq-group-title {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--ik-text);
}

.ik-faq-items {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ik-faq-item {
    background: #fff;
    border: 1px solid var(--ik-border-light);
    border-radius: var(--ik-radius-md);
    overflow: hidden;
    transition: var(--ik-transition);
}

.ik-faq-item.is-open {
    border-color: var(--ik-accent);
    box-shadow: var(--ik-shadow-sm);
}

.ik-faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    padding: 16px 20px;
    background: transparent;
    border: none;
    font-family: inherit;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--ik-text);
    text-align: right;
    cursor: pointer;
}

.ik-faq-question svg {
    flex-shrink: 0;
    color: var(--ik-text-light);
    transition: transform 0.25s ease;
}

.ik-faq-item.is-open .ik-faq-question svg {
    transform: rotate(180deg);
    color: var(--ik-accent);
}

.ik-faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.ik-faq-item.is-open .ik-faq-answer {
    max-height: 400px;
}

.ik-faq-answer p {
    margin: 0;
    padding: 0 20px 18px;
    color: var(--ik-text-muted);
    font-size: 0.875rem;
    line-height: 2;
}

@media (max-width: 640px) {
    .ik-faq-question { padding: 14px 16px; font-size: 0.875rem; }
    .ik-faq-answer p { padding: 0 16px 16px; font-size: 0.8125rem; }
}

/* =====================================================
   صفحه قوانین و مقررات
   ===================================================== */
.ik-terms-wrap {
    padding: 32px;
    border-radius: var(--ik-radius-xl);
}

.ik-terms-section {
    padding-bottom: 24px;
    margin-bottom: 24px;
    border-bottom: 1px solid var(--ik-border-light);
}

.ik-terms-section:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: none;
}

.ik-terms-section h2 {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 14px;
    font-size: 1.0625rem;
    font-weight: 800;
    color: var(--ik-text);
}

.ik-terms-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--ik-primary);
    color: #fff;
    font-size: 0.8125rem;
    font-weight: 800;
}

.ik-terms-section p {
    margin: 0 0 10px 42px;
    color: var(--ik-text-muted);
    font-size: 0.875rem;
    line-height: 2.1;
}

.ik-terms-section p:last-child { margin-bottom: 0; }

@media (max-width: 640px) {
    .ik-terms-wrap { padding: 20px; }
    .ik-terms-section p { margin-right: 0; }
}

/* =====================================================
   پاجینیشن
   ===================================================== */
.ik-pagination {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-top: 40px;
}

.ik-page-btn {
    width: 40px;
    height: 40px;
    border: 1.5px solid var(--ik-border);
    border-radius: var(--ik-radius-md);
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--ik-text);
    cursor: pointer;
    transition: var(--ik-transition);
    text-decoration: none;
}

.ik-page-btn:hover { border-color: var(--ik-primary); color: var(--ik-primary); }
.ik-page-btn.active { background: var(--ik-primary); border-color: var(--ik-primary); color: #fff; }

/* =====================================================
   منوی موبایل (آفکانواس)
   ===================================================== */
.ik-mobile-overlay {
    position: fixed;
    inset: 0;
    background: rgba(32, 20, 20, 0.45);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transition: var(--ik-transition);
}

.ik-mobile-overlay.open {
    opacity: 1;
    visibility: visible;
}

.ik-mobile-menu {
    position: fixed;
    top: 50%;
    left: 50%;
    right: auto;
    width: 92%;
    max-width: 380px;
    height: auto;
    max-height: 86vh;
    background: var(--ik-glass-bg-strong, #fff);
    -webkit-backdrop-filter: var(--ik-glass-blur);
    backdrop-filter: var(--ik-glass-blur);
    border: 1px solid var(--ik-glass-border);
    border-radius: var(--ik-radius-xl);
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, -48%) scale(0.96);
    transition: var(--ik-transition-slow);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: var(--ik-shadow-lg);
}

.ik-mobile-menu.open {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%) scale(1);
}

.ik-mobile-menu-header {
    background: transparent;
    color: var(--ik-text);
    padding: 20px 20px 14px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 800;
    font-size: 1.0625rem;
    flex-shrink: 0;
}

.ik-mobile-menu-header button {
    background: var(--ik-bg-section);
    border: 1px solid var(--ik-border);
    color: var(--ik-text);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    transition: var(--ik-transition);
}

.ik-mobile-menu-header button:hover { background: #fff; transform: rotate(90deg); }
.ik-mobile-menu-header button svg { width: 16px; height: 16px; }

.ik-mobile-menu-body { padding: 12px; overflow-y: auto; }

.ik-mobile-nav-list li a {
    display: block;
    padding: 14px 16px;
    color: var(--ik-text);
    font-weight: 600;
}

.ik-mobile-nav-list li a:hover { color: var(--ik-primary); }

/* هر آیتم منو + ردیف آن (لینک + دکمه‌ی فلش برای بازکردن زیرمجموعه) */
.ik-mobile-nav-item {
    border-bottom: 1px solid var(--ik-border-light);
}

.ik-mobile-nav-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.ik-mobile-nav-row a {
    flex: 1 1 auto;
    border-bottom: none;
}

.ik-mobile-nav-toggle {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    padding: 0;
    margin-inline-end: 6px;
    color: var(--ik-text-muted);
    cursor: pointer;
    transition: var(--ik-transition);
}

.ik-mobile-nav-toggle svg { transition: transform 0.25s ease; }

.ik-mobile-nav-item.is-open > .ik-mobile-nav-row .ik-mobile-nav-toggle {
    color: var(--ik-primary);
}

.ik-mobile-nav-item.is-open > .ik-mobile-nav-row .ik-mobile-nav-toggle svg {
    transform: rotate(180deg);
}

/* زیرمجموعه‌ها: به‌صورت پیش‌فرض بسته (کرکره‌ای) و فقط با کلیک باز می‌شوند */
.ik-mobile-nav-list .ik-mobile-submenu,
.ik-mobile-nav-list .sub-menu {
    display: none;
    list-style: none;
    margin: 0 8px 8px;
    padding: 4px 0;
    background: var(--ik-bg-section);
    border-radius: var(--ik-radius-md);
}

.ik-mobile-nav-list .ik-mobile-submenu li a,
.ik-mobile-nav-list .sub-menu li a {
    padding: 11px 20px;
    font-weight: 500;
    font-size: 0.875rem;
    color: var(--ik-text-muted);
}

.ik-mobile-nav-list .ik-mobile-submenu li a:hover,
.ik-mobile-nav-list .sub-menu li a:hover {
    color: var(--ik-primary);
}

/* =====================================================
   ریسپانسیو
   ===================================================== */
@media (max-width: 1200px) {
    .ik-footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 1024px) {
    .ik-single-grid,
    .ik-cart-layout,
    .ik-checkout-layout { grid-template-columns: 1fr; }

    .ik-product-gallery { position: static; }
    .ik-hero-inner { grid-template-columns: 1fr; }
    .ik-hero-banner-grid { grid-template-columns: 1fr; text-align: center; }
    .ik-hero-banner-media { order: -1; min-height: 220px; }
    .ik-hero-product-img-wrap { max-width: 240px; margin: 0 auto; }
    .ik-hero-banner-content { max-width: 100%; padding: 12px 0 0; margin: 0 auto; }
    .ik-hero-banner-content .ik-hero-btns,
    .ik-hero-banner-content .ik-hero-price { align-items: center; }
    .ik-hero-banner-content .ik-hero-price .ik-price-row { justify-content: center; }
    .woocommerce-page .ik-shop-layout { grid-template-columns: 1fr; }
    .ik-account-layout { grid-template-columns: 1fr; }
    .ik-club-hero { flex-direction: column; align-items: stretch; text-align: center; }
    .ik-club-hero-points { justify-content: center; }
}

@media (max-width: 1024px) {
    .ik-mobile-menu-toggle { display: flex !important; }
    .ik-nav { display: none; }
}

@media (max-width: 480px) {
    .ik-checkout-stepper { gap: 6px; margin-bottom: 24px; }
    .ik-checkout-step-line { max-width: 28px; }
    .ik-checkout-step-label { font-size: 0.8rem; }
    .ik-checkout-step-num { width: 28px; height: 28px; font-size: 0.8rem; }
    .ik-checkout-section { padding: 20px 16px; }
    .ik-checkout-step-actions { padding: 4px 16px 20px; }
}

@media (max-width: 768px) {
    .ik-header-inner { flex-wrap: wrap; gap: 12px; }
    .ik-search-wrap { order: 3; width: 100%; max-width: 100%; }
    .ik-search-btn-text { display: none; }
    .ik-header-actions span:not(.ik-cart-count) { display: none; }

    /* روی موبایل، در صفحه‌ی محصول فقط دکمه‌ی «بستن محصول» جا دارد؛ نوار
       جستجو همان‌جا مخفی می‌ماند (نسخه‌ی دسکتاپ هر دو را با هم نشان می‌دهد) */
    .ik-search-wrap-product { display: none; }
    .ik-hero-title { font-size: 1.75rem; }

    /* بخش‌های تخفیف روی موبایل: دقیقاً مثل دسکتاپ، پنل تبلیغاتی سمت راست
       (باریک) و اسلایدر محصولات کنارش با اسکرول افقی لمسی */
    .ik-deals-flex { flex-direction: row; align-items: stretch; gap: 10px; }
    .ik-deals-promo {
        flex: 0 0 118px;
        width: 118px;
        padding: 14px 10px;
        gap: 8px;
        border-radius: var(--ik-radius-lg);
    }
    .ik-deals-promo-title { font-size: 0.9375rem; line-height: 1.25; margin: 0; }
    .ik-deals-promo-eyebrow { display: none; }
    .ik-deals-promo-badge { display: none; }
    .ik-deals-promo .ik-deals-countdown,
    .ik-deals-promo .ik-deals-badge { flex-wrap: wrap; justify-content: center; padding: 4px 6px; font-size: 0.6875rem; }
    .ik-deals-promo .ik-deals-badge span { font-size: 0.6875rem; }
    .ik-deals-promo .ik-cd-box { padding: 2px 4px; font-size: 0.75rem; }
    .ik-deals-promo-more { flex-shrink: 0; margin-right: 0; white-space: nowrap; padding: 6px 10px; font-size: 0.75rem; }
    .ik-deals-slider-wrap { flex: 1 1 auto; min-width: 0; }
    .ik-deals-slider-nav { display: none; }
    .ik-deals-slider-item { flex-basis: 148px; width: 148px; }

    .ik-account-dropdown { width: min(340px, calc(100vw - 32px)); left: auto; right: 0; }

    .ik-section-title { font-size: 1.375rem; }
    .ik-footer-grid { grid-template-columns: 1fr; gap: 32px; }
    .ik-products-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .ik-categories-grid { grid-template-columns: repeat(3, 1fr); }
    .ik-form-grid { grid-template-columns: 1fr; }
    .ik-guarantees { grid-template-columns: 1fr; }
    .ik-cart-table th:not(:first-child):not(:last-child) { display: none; }
    .ik-container { padding: 0 16px; }
    .ik-product-body { padding: 10px; }
    .ik-product-title { font-size: 0.8125rem; margin-bottom: 6px; }
    .ik-product-cat { margin-bottom: 4px; }
    .ik-price-current { font-size: 0.9375rem; }
    .ik-price-old { font-size: 0.6875rem; }
    .ik-product-price { margin-bottom: 8px; gap: 6px; }
    .ik-product-add-btn { padding: 8px 10px; font-size: 0.75rem; gap: 4px; }

    /* ردیف بالای هدر روی موبایل: تلفن/ایمیل جا نمی‌شود، پس مخفی می‌شود و
       فقط لینک ورود باقی می‌ماند (میانبرهای پسندیده‌ها/مقایسه دیگر اینجا
       نیستند، الان در ردیف اصلی هدر و کنار حساب من/سبد خرید چاپ می‌شوند) */
    .ik-header-top-contact { display: none; }
    .ik-header-top .ik-container { justify-content: flex-end; gap: 18px; }
    .ik-header-top-right { display: flex; align-items: center; gap: 14px; }

    /* روی موبایل فقط آیکون‌ها نشان داده شوند، بدون برچسب متنی، تا جا شود */
    .ik-header-quick-shortcuts { gap: 16px; padding: 0 2px; }
    .ik-header-quick-shortcuts .ik-top-shortcut-label { display: none; }

    /* حالت تمام‌عرض جستجو: وقتی کاربر دارد نتایج را می‌بیند، بقیه‌ی هدر
       (منو، لوگو، میانبرها، دکمه‌های حساب/سبد و ...) کنار می‌رود و فقط
       نوار جستجو با یک دکمه ضربدر برای بستن باقی می‌ماند */
    .ik-mobile-menu-toggle,
    .ik-logo,
    .ik-feed-header-trigger,
    .ik-header-quick-shortcuts,
    .ik-header-actions {
        transition: opacity 0.15s ease;
    }

    /* طبق درخواست کاربر: هدر و نوار جستجو دیگر هنگام سرچ در موبایل جابجا
       یا مخفی نمی‌شوند و نوار جستجو همیشه سر جای خودش ثابت می‌ماند. */
    .ik-header-inner.ik-search-active .ik-mobile-menu-toggle,
    .ik-header-inner.ik-search-active .ik-logo,
    .ik-header-inner.ik-search-active .ik-feed-header-trigger,
    .ik-header-inner.ik-search-active .ik-header-quick-shortcuts,
    .ik-header-inner.ik-search-active .ik-header-actions {
        display: revert !important;
    }

    .ik-header-inner.ik-search-active .ik-search-wrap {
        order: 3;
        display: flex;
        align-items: center;
        gap: 8px;
        width: 100%;
        max-width: 100%;
    }

    /* این حالت با فوکوس روی نوار جستجو فعال می‌شود (نه وسط تایپ)، پس هدر
       قبل از اینکه کاربر شروع به تایپ کند جمع می‌شود و دیگر هنگام نوشتن
       جابجا نمی‌شود */

    .ik-header-inner.ik-search-active .ik-search-form { flex: 1; min-width: 0; }

    .ik-search-mobile-close { display: none; }
    .ik-header-inner.ik-search-active .ik-search-mobile-close { display: flex; }
}

@media (max-width: 480px) {
    .ik-products-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .ik-categories-grid { grid-template-columns: repeat(2, 1fr); }
    .ik-hero { padding: 36px 0; }
    .ik-hero-nav { width: 34px; height: 34px; }
    .ik-hero-dot { width: 22px; }
    .ik-hero-dot.is-active { width: 34px; }
    .ik-hero-banner-content { padding: 32px 0; }
    .ik-hero-slides { min-height: 380px; }
    .ik-hero-slide { min-height: 380px; }
    .ik-section { padding: 32px 0; }
    .ik-header-actions { gap: 4px; }
    .ik-action-btn { padding: 6px 8px; font-size: 0.6875rem; }
    .ik-header-top-right { gap: 10px; }
    .ik-header-quick-shortcuts { gap: 14px; }
}

/* =====================================================
   ابزارها
   ===================================================== */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0;
}

.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }
.mt-0 { margin-top: 0 !important; }
.mb-0 { margin-bottom: 0 !important; }
.d-flex { display: flex; }
.align-center { align-items: center; }
.justify-between { justify-content: space-between; }
.gap-8 { gap: 8px; }
.gap-12 { gap: 12px; }
.gap-16 { gap: 16px; }
.w-full { width: 100%; }

/* =====================================================
   WooCommerce اورراید
   ===================================================== */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border-radius: var(--ik-radius-md) !important;
    border: 1px solid var(--ik-border) !important;
    padding: 14px 18px !important;
    font-size: 0.9rem !important;
    direction: rtl !important;
    text-align: right !important;
}

.woocommerce ul.products li.product { text-align: right !important; }

.woocommerce-page .woocommerce-breadcrumb {
    direction: rtl;
    text-align: right;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
    border: 1.5px solid var(--ik-border) !important;
    border-radius: var(--ik-radius-md) !important;
    padding: 10px 14px !important;
    font-family: 'Shabnam', 'Tahoma', sans-serif !important;
    font-size: 0.9rem !important;
    direction: rtl !important;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
    border-color: var(--ik-primary) !important;
    box-shadow: 0 0 0 3px rgba(54,4,4,0.08) !important;
    outline: none !important;
}

.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
    background: var(--ik-primary) !important;
    color: #fff !important;
    border-radius: var(--ik-radius-md) !important;
    font-size: 1.0625rem !important;
    font-weight: 700 !important;
    font-family: 'Shabnam', 'Tahoma', sans-serif !important;
    padding: 14px 28px !important;
    transition: var(--ik-transition) !important;
}

.woocommerce #payment #place_order:hover,
.woocommerce-page #payment #place_order:hover {
    background: var(--ik-primary-light) !important;
    color: #fff !important;
}

.woocommerce #payment #place_order:visited,
.woocommerce-page #payment #place_order:visited,
.woocommerce #payment #place_order:focus,
.woocommerce-page #payment #place_order:focus,
.woocommerce #payment #place_order:active,
.woocommerce-page #payment #place_order:active {
    color: #fff !important;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    background: var(--ik-primary) !important;
    color: #fff !important;
    border-radius: var(--ik-radius-md) !important;
    font-family: 'Shabnam', 'Tahoma', sans-serif !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    border: none !important;
    padding: 10px 20px !important;
    transition: var(--ik-transition) !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
    background: var(--ik-primary-light) !important;
    color: #fff !important;
}

.woocommerce a.button.alt,
.woocommerce button.button.alt {
    background: var(--ik-accent) !important;
    color: var(--ik-text) !important;
}

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
    background: var(--ik-accent-dark) !important;
}

/* =====================================================
   لودینگ اسکلتون
   ===================================================== */
.ik-skeleton {
    background: linear-gradient(90deg, #f0e6e6 25%, #faf2f2 50%, #f0e6e6 75%);
    background-size: 200% 100%;
    animation: ik-skeleton-loading 1.5s infinite;
    border-radius: var(--ik-radius-sm);
}

@keyframes ik-skeleton-loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* =====================================================
   انیمیشن‌ها
   ===================================================== */
@keyframes ik-fade-in {
    from { opacity: 0; transform: translateY(16px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes ik-slide-in {
    from { opacity: 0; transform: translateX(20px); }
    to { opacity: 1; transform: translateX(0); }
}

.ik-animate-in {
    animation: ik-fade-in 0.5s ease forwards;
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}

/* =====================================================
   سیستم احراز هویت چندمرحله‌ای (ثبت‌نام / بازیابی رمز)
   ===================================================== */

/* --- آیکون‌های رنگی به سبک اپ‌های جدید (Fluent-style) --- */
.ik-icon-badge {
    position: relative;
    width: 64px;
    height: 64px;
    border-radius: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 10px 22px -8px rgba(20,10,10,0.45), inset 0 1px 0 rgba(255,255,255,0.25);
    overflow: hidden;
}

.ik-icon-badge::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(255,255,255,0.38), rgba(255,255,255,0) 55%);
    pointer-events: none;
}

.ik-icon-badge svg {
    width: 28px;
    height: 28px;
    position: relative;
    z-index: 1;
}

.ik-icon-badge svg * { stroke: #fff !important; }
.ik-icon-badge svg [fill="currentColor"] { fill: #fff !important; }

.ik-icon-badge-sm { width: 46px; height: 46px; border-radius: 16px; }
.ik-icon-badge-sm svg { width: 20px; height: 20px; }

.ik-icon-badge-blue   { background: linear-gradient(135deg, #36B5FF, #0A5FA8); }
.ik-icon-badge-green  { background: linear-gradient(135deg, #3DDC97, #0C8A53); }
.ik-icon-badge-orange { background: linear-gradient(135deg, #FFAE52, #C2530E); }
.ik-icon-badge-purple { background: linear-gradient(135deg, #C08CFF, #5B2D91); }
.ik-icon-badge-primary{ background: linear-gradient(135deg, var(--ik-primary-light), var(--ik-primary-dark)); }
.ik-icon-badge-accent { background: linear-gradient(135deg, var(--ik-accent-light), var(--ik-accent-dark)); }

/* --- چیدمان صفحه ثبت‌نام --- */
.ik-auth-page { padding: 48px 0 64px; }

.ik-auth-layout {
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: 32px;
    align-items: start;
    max-width: 1080px;
    margin: 0 auto;
}

.ik-auth-side {
    background: linear-gradient(160deg, var(--ik-primary) 0%, var(--ik-primary-dark) 100%);
    border-radius: var(--ik-radius-xl);
    padding: 36px 28px;
    color: #fff;
    position: sticky;
    top: 100px;
}

.ik-auth-side-title {
    font-size: 1.4rem;
    font-weight: 800;
    line-height: 1.6;
    margin-bottom: 12px;
}

.ik-auth-side-title span { color: var(--ik-accent); }

.ik-auth-side-desc {
    font-size: 0.875rem;
    color: rgba(255,255,255,0.75);
    margin-bottom: 26px;
    line-height: 1.9;
}

.ik-auth-benefits {
    list-style: none;
    margin: 0 0 28px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.ik-auth-benefits li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.ik-auth-benefits li strong {
    display: block;
    font-size: 0.9rem;
    font-weight: 700;
    margin-bottom: 3px;
}

.ik-auth-benefits li span:not(.ik-icon-badge) {
    font-size: 0.78rem;
    color: rgba(255,255,255,0.65);
    line-height: 1.8;
}

.ik-auth-side-login {
    font-size: 0.85rem;
    color: rgba(255,255,255,0.8);
    border-top: 1px solid rgba(255,255,255,0.15);
    padding-top: 20px;
}

.ik-auth-side-login a { color: var(--ik-accent); font-weight: 700; }

/* --- کارت ویزارد --- */
.ik-auth-card {
    background: #fff;
    border-radius: var(--ik-radius-xl);
    border: 1px solid var(--ik-border-light);
    box-shadow: var(--ik-shadow-card);
    padding: 36px;
}

.ik-auth-card-narrow {
    max-width: 460px;
    margin: 0 auto;
    text-align: center;
}

.ik-auth-simple-page { padding: 56px 0; }
.ik-auth-simple-wrap { max-width: 460px; margin: 0 auto; }

.ik-auth-simple-title {
    font-size: 1.25rem;
    font-weight: 800;
    margin-bottom: 10px;
    color: var(--ik-text);
}

/* --- نوار پیشرفت مراحل --- */
.ik-auth-progress {
    display: flex;
    align-items: center;
    margin-bottom: 32px;
}

.ik-auth-progress-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.ik-auth-progress-dot {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--ik-bg-section);
    border: 2px solid var(--ik-border);
    color: var(--ik-text-muted);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 0.85rem;
    transition: var(--ik-transition);
}

.ik-auth-progress-label {
    font-size: 0.6875rem;
    color: var(--ik-text-muted);
    font-weight: 600;
    white-space: nowrap;
}

.ik-auth-progress-step.is-active .ik-auth-progress-dot {
    background: linear-gradient(135deg, var(--ik-primary-light), var(--ik-primary));
    border-color: var(--ik-primary);
    color: #fff;
    box-shadow: 0 4px 14px rgba(54,4,4,0.3);
}

.ik-auth-progress-step.is-active .ik-auth-progress-label { color: var(--ik-primary); }

.ik-auth-progress-step.is-done .ik-auth-progress-dot {
    background: linear-gradient(135deg, #3DDC97, #0C8A53);
    border-color: transparent;
    color: #fff;
}

.ik-auth-progress-line {
    flex: 1;
    height: 2px;
    background: var(--ik-border);
    margin: 0 4px;
    margin-bottom: 22px;
    position: relative;
    transition: var(--ik-transition);
}

.ik-auth-progress-line.is-done { background: #3DDC97; }

/* --- سوییچ ثبت‌نام با موبایل / ایمیل --- */
.ik-reg-mode-link {
    color: var(--ik-text-muted);
    text-decoration: none;
    font-weight: 500;
    transition: var(--ik-transition);
}
.ik-reg-mode-link.is-active {
    color: var(--ik-primary);
    font-weight: 700;
}
.ik-reg-mode-link:hover { color: var(--ik-primary); }

/* --- مراحل فرم --- */
.ik-auth-step {
    display: none;
    text-align: center;
}

.ik-auth-step.is-active {
    display: block;
    animation: ik-fade-in 0.4s ease forwards;
}

.ik-auth-step-icon { margin: 0 auto 18px; }

.ik-auth-step h3 {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--ik-text);
    margin-bottom: 8px;
}

.ik-auth-step-desc {
    font-size: 0.85rem;
    color: var(--ik-text-muted);
    line-height: 1.9;
    margin-bottom: 24px;
}

.ik-auth-step .ik-form-group,
.ik-auth-step .ik-form-grid { text-align: right; margin-bottom: 16px; }

.ik-auth-actions {
    display: flex;
    gap: 12px;
    margin-top: 24px;
}

.ik-auth-actions .ik-btn { flex: 1; }

.ik-form-error {
    display: block;
    color: var(--ik-error);
    font-size: 0.78rem;
    margin-top: 6px;
    min-height: 1px;
}

.ik-form-alert {
    background: rgba(198,40,40,0.08);
    border: 1px solid rgba(198,40,40,0.25);
    color: var(--ik-error);
    border-radius: var(--ik-radius-md);
    padding: 12px 16px;
    font-size: 0.85rem;
    margin-top: 18px;
    text-align: right;
}

/* --- نمایش/مخفی‌سازی رمز عبور --- */
.ik-input-pass-wrap { position: relative; }

.ik-input-pass-wrap .ik-form-input { padding-left: 44px; }

.ik-pass-toggle {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    padding: 6px;
    cursor: pointer;
    color: var(--ik-text-light);
    display: flex;
}

.ik-pass-toggle svg { width: 18px; height: 18px; }
.ik-pass-toggle.is-visible { color: var(--ik-primary); }

/* --- معیار قدرت رمز عبور --- */
.ik-pass-strength {
    display: flex;
    gap: 5px;
    margin-top: 8px;
}

.ik-pass-strength span {
    height: 5px;
    flex: 1;
    border-radius: var(--ik-radius-full);
    background: var(--ik-border);
    transition: var(--ik-transition);
}

.ik-pass-strength-label {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    margin-top: 6px;
}

/* --- کپچا --- */
.ik-captcha-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ik-captcha-question {
    background: var(--ik-bg-section);
    border: 1.5px dashed var(--ik-border);
    border-radius: var(--ik-radius-md);
    padding: 11px 18px;
    font-weight: 800;
    font-size: 1.05rem;
    color: var(--ik-primary);
    white-space: nowrap;
    min-width: 80px;
    text-align: center;
    direction: ltr;
}

.ik-captcha-input { text-align: center; direction: ltr; }

/* --- چک‌باکس سفارشی --- */
.ik-checkbox-wrap {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    font-size: 0.83rem;
    line-height: 1.9;
    color: var(--ik-text-muted);
    text-align: right;
    margin: 4px 0 6px;
}

.ik-checkbox-wrap input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid var(--ik-border);
    border-radius: 6px;
    flex-shrink: 0;
    position: relative;
    cursor: pointer;
    transition: var(--ik-transition);
    margin-top: 2px;
    background: #fff;
}

.ik-checkbox-wrap input[type="checkbox"]:checked {
    background: var(--ik-primary);
    border-color: var(--ik-primary);
}

.ik-checkbox-wrap input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    right: 6px;
    top: 2px;
    width: 5px;
    height: 10px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.ik-checkbox-wrap a { color: var(--ik-primary); font-weight: 700; }

/* --- حالت موفقیت --- */
.ik-auth-success { display: none; }
.ik-auth-success.is-active { display: block; animation: ik-fade-in 0.5s ease forwards; }

/* --- دکمه در حال بارگذاری --- */
.ik-btn.is-loading {
    pointer-events: none;
    opacity: 0.75;
    position: relative;
    color: transparent !important;
}

.ik-btn.is-loading::after {
    content: '';
    position: absolute;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2.5px solid rgba(255,255,255,0.4);
    border-top-color: #fff;
    animation: ik-spin 0.7s linear infinite;
}

.ik-btn-outline.is-loading::after { border-color: rgba(54,4,4,0.25); border-top-color: var(--ik-primary); }

@keyframes ik-spin { to { transform: rotate(360deg); } }

/* --- CTA ساخت حساب کاربری در صفحه ورود --- */
.ik-register-cta .ik-account-content-body { display: flex; flex-direction: column; align-items: center; }

/* --- واکنش‌گرا --- */
@media (max-width: 880px) {
    .ik-auth-layout { grid-template-columns: 1fr; }
    .ik-auth-side { position: static; }
}

@media (max-width: 560px) {
    .ik-auth-card { padding: 24px 18px; }
    .ik-auth-progress-label { display: none; }
    .ik-auth-actions { flex-direction: column-reverse; }
    .ik-captcha-row { flex-wrap: wrap; }
    .ik-captcha-question { flex: 1; }
}

/* =====================================================
   پسندیده‌ها (Wishlist)
   ===================================================== */

/* بج تعداد پسندیده‌ها در هدر - مشابه بج سبد خرید/مقایسه */
.ik-wishlist-count {
    position: absolute;
    top: 4px;
    left: 6px;
    background: var(--ik-accent);
    color: var(--ik-text-on-accent);
    font-size: 0.625rem;
    font-weight: 700;
    min-width: 18px;
    height: 18px;
    border-radius: var(--ik-radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
}

/* حالت فعال (پسندیده‌شده) آیکون قلب روی کارت محصول */
.ik-quick-btn.ik-add-wishlist.is-active {
    background: #C62828;
    color: #fff;
    border-color: #C62828;
}

/* حالت فعال دکمه‌ی «افزودن به پسندیده‌ها» در صفحه محصول */
.ik-wishlist-btn.ik-add-wishlist.is-active {
    background: rgba(198,40,40,0.08);
    border-color: #C62828;
    color: #C62828;
}

.ik-wishlist-card-leaving {
    opacity: 0;
    transform: scale(0.92);
    transition: opacity 0.22s ease, transform 0.22s ease;
}

.ik-wishlist-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(32, 20, 20, 0.45);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transition: var(--ik-transition);
}

.ik-wishlist-modal-overlay.is-open { opacity: 1; visibility: visible; }

.ik-wishlist-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -48%) scale(0.96);
    width: 92%;
    max-width: 820px;
    max-height: 86vh;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: var(--ik-transition-slow);
    border-radius: var(--ik-radius-xl);
}

.ik-wishlist-modal.is-open {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%) scale(1);
}

.ik-wishlist-modal-inner {
    background: var(--ik-glass-bg-strong);
    -webkit-backdrop-filter: var(--ik-glass-blur);
    backdrop-filter: var(--ik-glass-blur);
    border: 1px solid var(--ik-glass-border);
    border-radius: var(--ik-radius-xl);
    box-shadow: var(--ik-shadow-lg);
    padding: 28px 24px 24px;
    position: relative;
    max-height: 86vh;
    display: flex;
    flex-direction: column;
}

.ik-wishlist-modal-close {
    position: absolute;
    top: 18px;
    left: 18px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--ik-bg-section);
    border: 1px solid var(--ik-border);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: var(--ik-transition);
}

.ik-wishlist-modal-close:hover { background: #fff; transform: rotate(90deg); }
.ik-wishlist-modal-close svg { width: 16px; height: 16px; color: var(--ik-text); }

.ik-wishlist-modal-head {
    padding-left: 30px;
    margin-bottom: 16px;
    flex-shrink: 0;
}

.ik-wishlist-modal-title {
    font-size: 1.0625rem;
    font-weight: 800;
    margin: 0 0 6px;
    color: var(--ik-text);
}

.ik-wishlist-modal-desc {
    font-size: 0.8125rem;
    color: var(--ik-text-muted);
    margin: 0;
}

.ik-wishlist-modal-grid {
    overflow-y: auto;
    padding-left: 4px;
    padding-right: 2px;
    flex: 1;
    grid-template-columns: repeat(3, 1fr);
}

.ik-wishlist-modal-empty,
.ik-wishlist-modal-login,
.ik-wishlist-modal-loading {
    text-align: center;
    color: var(--ik-text-muted);
    font-size: 0.875rem;
    padding: 30px 10px;
}

.ik-wishlist-modal-login { display: none; }
.ik-wishlist-modal-loading { display: none; }

.ik-wishlist-modal-login-btn {
    display: inline-block;
    margin-top: 12px;
    padding: 9px 22px;
    background: var(--ik-primary);
    color: #fff;
    border-radius: var(--ik-radius-full);
    font-size: 0.8125rem;
    font-weight: 700;
    cursor: pointer;
    border: none;
}

@media (max-width: 768px) {
    .ik-wishlist-modal-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
    .ik-wishlist-modal-inner { padding: 24px 16px 18px; max-height: 90vh; }
    .ik-wishlist-modal { max-height: 90vh; }
    .ik-wishlist-modal-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
}

/* =====================================================
   پنجره‌ی (مودال) دسته‌بندی محصولات - موبایل
   ===================================================== */
.ik-categories-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(32, 20, 20, 0.45);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transition: var(--ik-transition);
}

.ik-categories-modal-overlay.is-open { opacity: 1; visibility: visible; }

.ik-categories-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -48%) scale(0.96);
    width: 92%;
    max-width: 380px;
    max-height: 80vh;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: var(--ik-transition-slow);
    border-radius: var(--ik-radius-xl);
}

.ik-categories-modal.is-open {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%) scale(1);
}

.ik-categories-modal-inner {
    background: var(--ik-glass-bg-strong);
    -webkit-backdrop-filter: var(--ik-glass-blur);
    backdrop-filter: var(--ik-glass-blur);
    border: 1px solid var(--ik-glass-border);
    border-radius: var(--ik-radius-xl);
    box-shadow: var(--ik-shadow-lg);
    padding: 28px 20px 20px;
    position: relative;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
}

.ik-categories-modal-close {
    position: absolute;
    top: 18px;
    left: 18px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--ik-bg-section);
    border: 1px solid var(--ik-border);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: var(--ik-transition);
}

.ik-categories-modal-close:hover { background: #fff; transform: rotate(90deg); }
.ik-categories-modal-close svg { width: 16px; height: 16px; color: var(--ik-text); }

.ik-categories-modal-back {
    display: flex;
    align-items: center;
    gap: 4px;
    background: none;
    border: none;
    padding: 0;
    margin-bottom: 10px;
    color: var(--ik-primary);
    font-weight: 700;
    font-size: 0.8125rem;
    cursor: pointer;
    flex-shrink: 0;
}

.ik-categories-modal-back svg { width: 15px; height: 15px; }
.ik-icon-flip { transform: rotate(180deg); }

.ik-categories-modal-head {
    padding-left: 30px;
    margin-bottom: 10px;
    flex-shrink: 0;
}

.ik-categories-modal-title {
    font-size: 1.0625rem;
    font-weight: 800;
    margin: 0;
    color: var(--ik-text);
}

.ik-categories-modal-body {
    overflow-y: auto;
    flex: 1;
    padding-left: 4px;
    padding-right: 2px;
    position: relative;
}

.ik-categories-modal-list {
    display: none;
    list-style: none;
    margin: 0;
    padding: 0;
}

.ik-categories-modal-list.ik-cat-level-active {
    display: block;
    animation: ikCatLevelIn 0.18s ease;
}

@keyframes ikCatLevelIn {
    from { opacity: 0; transform: translateX(-8px); }
    to { opacity: 1; transform: translateX(0); }
}

.ik-categories-modal-list li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 14px 12px;
    color: var(--ik-text);
    font-weight: 600;
    border-bottom: 1px solid var(--ik-border-light);
    border-radius: 10px;
    transition: var(--ik-transition);
}

.ik-categories-modal-list li a:hover { color: var(--ik-primary); background: rgba(0,0,0,0.03); }

.ik-cat-arrow { color: var(--ik-text-muted); flex-shrink: 0; }

.ik-cat-item-viewall a {
    color: var(--ik-primary);
    font-weight: 700;
    border-bottom-color: var(--ik-border);
}

.ik-categories-modal-empty {
    text-align: center;
    color: var(--ik-text-muted);
    font-size: 0.875rem;
    padding: 30px 10px;
}

/* بج تعداد مقایسه در هدر - مشابه بج سبد خرید */
.ik-compare-count {
    position: absolute;
    top: 4px;
    left: 6px;
    background: var(--ik-accent);
    color: var(--ik-text-on-accent);
    font-size: 0.625rem;
    font-weight: 700;
    min-width: 18px;
    height: 18px;
    border-radius: var(--ik-radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
}

/* حالت فعال آیکون مقایسه روی کارت محصول */
.ik-quick-btn.ik-add-compare.is-active,
.ik-compare-btn.ik-add-compare.is-active,
.ik-search-compare-btn.is-active {
    background: var(--ik-primary);
    color: #fff;
    border-color: var(--ik-primary);
}

/* پیام شناور بازخورد (toast) افزودن/حذف مقایسه */
.ik-compare-toast {
    position: fixed;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%) translateY(20px);
    background: var(--ik-text);
    color: #fff;
    padding: 12px 22px;
    border-radius: var(--ik-radius-full);
    font-size: 0.85rem;
    font-weight: 600;
    box-shadow: var(--ik-shadow-lg);
    opacity: 0;
    transition: var(--ik-transition);
    z-index: 9999;
    pointer-events: none;
    white-space: nowrap;
}

.ik-compare-toast.is-visible {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

/* نوار شناور پایین صفحه برای مقایسه سریع */
.ik-compare-bar {
    position: fixed;
    right: 0;
    left: 0;
    bottom: -100px;
    z-index: 999;
    background: var(--ik-glass-bg-strong);
    -webkit-backdrop-filter: var(--ik-glass-blur);
    backdrop-filter: var(--ik-glass-blur);
    border-top: 1px solid var(--ik-glass-border);
    box-shadow: 0 -8px 30px rgba(54,4,4,0.12);
    transition: var(--ik-transition-slow);
    padding: 12px 0;
}

.ik-compare-bar.is-visible {
    bottom: 0;
}

.ik-compare-bar-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.ik-compare-bar-items {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ik-compare-bar-count {
    background: var(--ik-primary);
    color: #fff;
    font-weight: 700;
    font-size: 0.8125rem;
    padding: 6px 14px;
    border-radius: var(--ik-radius-full);
}

.ik-compare-bar-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* روی موبایل، نوار پایین شناور (تب‌بار) همیشه فضای اختصاصی خودش را دارد؛
   هیچ عنصر شناور دیگری (نوار مقایسه، پیام‌های Toast و ...) نباید زیر آن
   پنهان شود یا رویش بیفتد. --ik-tabbar-clear فاصله‌ی امن از پایین صفحه است
   که هم ارتفاع تب‌بار و هم فاصله‌اش تا لبه‌ی صفحه و safe-area را پوشش می‌دهد.

   همچنین روی موبایل، نوار مقایسه دیگر یک نوار تمام‌عرض نیست؛ دقیقاً مثل
   تب‌بار به شکل یک قرص (بیضی) شناور و کات‌اوت‌شده در وسط صفحه درمی‌آید تا
   از نظر بصری با تب‌بار هماهنگ باشد. */
@media (max-width: 1024px) {
    :root {
        --ik-tabbar-clear: calc(92px + env(safe-area-inset-bottom, 0px));
    }

    .ik-compare-bar {
        /* left بیشتر از right عمداً است: سمت چپ پایین صفحه معمولاً محل
           دکمه‌ی شناور چت پشتیبانی است؛ فاصله‌ی بیشتر از چپ باعث می‌شود
           نوار مقایسه کمی به سمت راست جابه‌جا شود و با آن دکمه تداخل پیدا نکند. */
        left: 84px;
        right: 14px;
        bottom: calc(-1 * var(--ik-tabbar-clear) - 60px);
        max-width: 400px;
        margin: 0 auto;
        border-radius: var(--ik-radius-full);
        border: 1px solid var(--ik-glass-border);
        box-shadow: 0 10px 34px rgba(32,20,20,0.22), inset 0 1px 0 rgba(255,255,255,0.35);
        padding: 8px 8px 8px 18px;
        opacity: 0;
        transition: var(--ik-transition-slow);
    }

    .ik-compare-bar.is-visible {
        bottom: var(--ik-tabbar-clear);
        opacity: 1;
    }

    .ik-compare-bar-inner {
        padding: 0;
        flex-wrap: nowrap;
        gap: 10px;
    }

    .ik-compare-bar-items { gap: 8px; }

    .ik-compare-bar-count {
        padding: 5px 12px;
        font-size: 0.75rem;
        white-space: nowrap;
    }

    .ik-compare-bar-actions { gap: 6px; }
    .ik-compare-bar-actions .ik-btn { padding: 8px 14px; font-size: 0.75rem; white-space: nowrap; }

    .ik-compare-toast {
        bottom: calc(var(--ik-tabbar-clear) + 14px);
    }
}

@media (max-width: 480px) {
    :root {
        --ik-tabbar-clear: calc(82px + env(safe-area-inset-bottom, 0px));
    }

    .ik-compare-bar { left: 68px; max-width: 320px; padding: 7px 7px 7px 16px; }
    .ik-compare-bar-actions .ik-btn { padding: 7px 12px; }
}

/* جدول مقایسه */
.ik-compare-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 60px 0;
    color: var(--ik-text-muted);
    font-size: 0.9rem;
}

.ik-compare-container {
    max-width: 100%;
    overflow-x: hidden;
}

.ik-compare-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
    border: 1px solid var(--ik-border);
    border-radius: var(--ik-radius-lg);
    background: var(--ik-bg-card);
    box-shadow: var(--ik-shadow-card);
    /* ترفند رایج برای اجبار مرورگرهای وبکیت موبایل (مثل سامسونگ اینترنت)
       به ساخت یک context رندر جدید، که مشکل شناخته‌شده‌ی «کلیپ نشدن
       صحیح محتوای عریض داخل کادر اسکرول‌شونده» را برطرف می‌کند. */
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}

.ik-compare-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 600px;
}

.ik-compare-table th,
.ik-compare-table td {
    padding: 16px;
    text-align: center;
    border-bottom: 1px solid var(--ik-border-light);
    vertical-align: middle;
    font-size: 0.875rem;
    color: var(--ik-text);
}

.ik-compare-table thead th {
    background: var(--ik-bg-section);
    vertical-align: top;
}

.ik-compare-row-label {
    text-align: right !important;
    font-weight: 700;
    color: var(--ik-text-muted);
    background: var(--ik-bg-section);
    white-space: nowrap;
    position: sticky;
    right: 0;
    min-width: 130px;
}

.ik-compare-col-head {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    position: relative;
    min-width: 160px;
}

.ik-compare-remove {
    position: absolute;
    top: -8px;
    left: -8px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid var(--ik-border);
    color: var(--ik-error);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: var(--ik-shadow-sm);
    transition: var(--ik-transition);
}

.ik-compare-remove:hover { background: var(--ik-error); color: #fff; border-color: var(--ik-error); }
.ik-compare-remove svg { width: 14px; height: 14px; }

.ik-compare-img {
    display: block;
    width: 90px;
    height: 90px;
    border-radius: var(--ik-radius-md);
    overflow: hidden;
    border: 1px solid var(--ik-border-light);
}

.ik-compare-img img { width: 100%; height: 100%; object-fit: cover; }

.ik-compare-name {
    font-weight: 700;
    color: var(--ik-text);
    font-size: 0.85rem;
    line-height: 1.6;
}

.ik-compare-name:hover { color: var(--ik-primary); }

.ik-compare-best-price { background: rgba(46,125,50,0.06); }

.ik-compare-tag {
    display: inline-block;
    margin-top: 4px;
    background: var(--ik-success);
    color: #fff;
    font-size: 0.625rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: var(--ik-radius-full);
}

.ik-compare-instock { color: var(--ik-success); display: inline-flex; align-items: center; gap: 4px; font-weight: 600; }
.ik-compare-outstock { color: var(--ik-error); display: inline-flex; align-items: center; gap: 4px; font-weight: 600; }
.ik-compare-instock svg, .ik-compare-outstock svg { width: 16px; height: 16px; }
.ik-compare-na { color: var(--ik-text-light); }
.ik-compare-desc { font-size: 0.8125rem; color: var(--ik-text-muted); max-width: 220px; line-height: 1.8; }

/* پیشنهاد محصولات هنگام نبود نتیجه جستجو */
.ik-search-suggestions { margin-top: 32px; }
.ik-suggestions-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--ik-text);
    margin-bottom: 16px;
}

/* واکنش‌گرا */
@media (max-width: 600px) {
    .ik-compare-table { min-width: 480px; }
    .ik-compare-img { width: 60px; height: 60px; }
    .ik-compare-col-head { min-width: 120px; }
    .ik-compare-row-label {
        min-width: 92px;
        font-size: 0.75rem;
        /* position:sticky داخل سلول‌های جدول در برخی مرورگرهای موبایل
           (از جمله سامسونگ اینترنت) به‌درستی محاسبه نمی‌شود و باعث می‌شود
           محتوای جدول از کادر اسکرول‌شونده بیرون بزند. روی موبایل، ستون
           برچسب را از حالت چسبان خارج می‌کنیم تا مثل بقیه‌ی ستون‌ها همراه
           با اسکرول افقی حرکت کند - کمتر شیک ولی همیشه درست و سالم است. */
        position: static;
        right: auto;
    }
    .ik-compare-table th, .ik-compare-table td { padding: 10px 8px; font-size: 0.8125rem; }
    .ik-compare-name { font-size: 0.75rem; }
    .ik-compare-desc { max-width: 140px; font-size: 0.75rem; }
}

/* =====================================================
   لایه اطمینان نهایی (CSS): مخفی‌سازی قطعی ویجت‌های پیش‌فرض
   وردپرس در سایدبار فروشگاه، مستقل از هرگونه مشکل PHP یا کش
   ===================================================== */
.ik-shop-sidebar .widget_search,
.ik-shop-sidebar .widget_recent_entries,
.ik-shop-sidebar .widget_recent_comments,
.ik-shop-sidebar .widget_categories,
.ik-shop-sidebar .widget_archive,
.ik-shop-sidebar .widget_meta,
.ik-shop-sidebar .widget_calendar,
.ik-shop-sidebar .widget_pages,
.ik-shop-sidebar .widget_block:has(.wp-block-search),
.ik-shop-sidebar .widget_block:has(.wp-block-latest-posts),
.ik-shop-sidebar .widget_block:has(.wp-block-latest-comments),
.ik-shop-sidebar .widget_block:has(.wp-block-categories),
.ik-shop-sidebar .widget_block:has(.wp-block-archives),
.ik-shop-sidebar .widget_block:has(.wp-block-calendar),
.ik-shop-sidebar .widget_block:has(.wp-block-page-list) {
    display: none !important;
}

/* =====================================================
   پاپ‌آپ ورود / ثبت‌نام (شیشه مایع)
   ===================================================== */
.ik-auth-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(32, 20, 20, 0.45);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transition: var(--ik-transition);
}

.ik-auth-modal-overlay.is-open {
    opacity: 1;
    visibility: visible;
}

.ik-auth-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -48%) scale(0.96);
    width: 92%;
    max-width: 520px;
    max-height: 88vh;
    overflow-y: auto;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: var(--ik-transition-slow);
    border-radius: var(--ik-radius-xl);
}

.ik-auth-modal.is-open {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%) scale(1);
}

.ik-auth-modal-inner {
    background: var(--ik-glass-bg-strong);
    -webkit-backdrop-filter: var(--ik-glass-blur);
    backdrop-filter: var(--ik-glass-blur);
    border: 1px solid var(--ik-glass-border);
    border-radius: var(--ik-radius-xl);
    box-shadow: var(--ik-shadow-lg);
    padding: 32px 28px 28px;
    position: relative;
}

.ik-auth-modal-close {
    position: absolute;
    top: 16px;
    left: 16px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255,255,255,0.6);
    border: 1px solid var(--ik-border-light);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: var(--ik-transition);
}

.ik-auth-modal-close:hover { background: #fff; transform: rotate(90deg); }
.ik-auth-modal-close svg { width: 16px; height: 16px; color: var(--ik-text); }

/* --- پاپ‌آپ خوش‌آمدگویی اولین بازدید --- */
.ik-welcome-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(32, 20, 20, 0.45);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transition: var(--ik-transition);
}

.ik-welcome-modal-overlay.is-open { opacity: 1; visibility: visible; }

.ik-welcome-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -48%) scale(0.96);
    width: 92%;
    max-width: 580px;
    max-height: 88vh;
    overflow-y: auto;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: var(--ik-transition-slow);
    border-radius: var(--ik-radius-xl);
}

.ik-welcome-modal.is-open {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%) scale(1);
}

.ik-welcome-modal-inner {
    background: var(--ik-glass-bg-strong);
    -webkit-backdrop-filter: var(--ik-glass-blur);
    backdrop-filter: var(--ik-glass-blur);
    border: 1px solid var(--ik-glass-border);
    border-radius: var(--ik-radius-xl);
    box-shadow: var(--ik-shadow-lg);
    padding: 32px 28px 28px;
    position: relative;
}

.ik-welcome-modal-close {
    position: absolute;
    top: 16px;
    left: 16px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255,255,255,0.6);
    border: 1px solid var(--ik-border-light);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: var(--ik-transition);
}

.ik-welcome-modal-close:hover { background: #fff; transform: rotate(90deg); }
.ik-welcome-modal-close svg { width: 16px; height: 16px; color: var(--ik-text); }

.ik-welcome-eyebrow {
    display: inline-block;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--ik-accent-dark);
    background: rgba(245,166,35,0.12);
    padding: 4px 12px;
    border-radius: var(--ik-radius-full);
    margin-bottom: 10px;
}

.ik-welcome-title {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--ik-text);
    margin: 0 0 20px;
    line-height: 1.5;
}

.ik-welcome-feature {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 14px 0;
    border-top: 1px solid var(--ik-border-light);
}

.ik-welcome-feature:first-of-type { border-top: none; }

.ik-welcome-feature-icon {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(245,166,35,0.12);
    color: var(--ik-accent-dark);
    display: flex;
    align-items: center;
    justify-content: center;
}

.ik-welcome-feature-icon svg { width: 20px; height: 20px; }

.ik-welcome-feature h3 {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--ik-text);
    margin: 0 0 4px;
}

.ik-welcome-feature p {
    font-size: 0.8125rem;
    color: var(--ik-text-muted);
    line-height: 1.8;
    margin: 0;
}

.ik-welcome-footer {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid var(--ik-border-light);
    text-align: center;
}

.ik-welcome-footer p {
    font-size: 0.8125rem;
    color: var(--ik-text-muted);
    margin: 0 0 14px;
}

.ik-welcome-actions {
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
}

.ik-welcome-actions .ik-btn { min-width: 140px; }

@media (max-width: 640px) {
    .ik-welcome-modal { width: 94%; max-height: 92vh; }
    .ik-welcome-modal-inner { padding: 26px 18px 20px; }
    .ik-welcome-actions { flex-direction: column; }
    .ik-welcome-actions .ik-btn { width: 100%; }
}

.ik-auth-modal-tabs {
    display: flex;
    gap: 8px;
    background: rgba(255,255,255,0.5);
    border: 1px solid var(--ik-border-light);
    border-radius: var(--ik-radius-full);
    padding: 5px;
    margin: 4px 0 24px;
}

.ik-auth-modal-tab {
    flex: 1;
    border: none;
    background: transparent;
    padding: 10px 14px;
    border-radius: var(--ik-radius-full);
    font-weight: 700;
    font-size: 0.9375rem;
    color: var(--ik-text-muted);
    cursor: pointer;
    transition: var(--ik-transition);
}

.ik-auth-modal-tab.is-active {
    background: var(--ik-primary);
    color: #fff;
    box-shadow: var(--ik-shadow-sm);
}

.ik-auth-modal-tabs.is-hidden { display: none; }

/* فیلد تله ربات (Honeypot) - مخفی برای انسان‌ها اما در دسترس ربات‌ها، بدون ایجاد اسکرول افقی در صفحه */
.ik-hp-field {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.ik-auth-modal-pane { display: none; }
.ik-auth-modal-pane.is-active { display: block; animation: ikFadeInUp 0.3s ease; }

@keyframes ikFadeInUp {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

.ik-auth-modal .ik-auth-progress { margin-bottom: 20px; }
.ik-auth-modal .ik-auth-step h3 { font-size: 1.0625rem; }

@media (max-width: 600px) {
    .ik-auth-modal-inner { padding: 24px 18px 20px; }
    .ik-auth-modal { max-height: 92vh; }
}

/* =====================================================
   دفترچه آدرس - بلوک‌های شیشه مایع کنار هم
   ===================================================== */
.ik-address-book-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 24px;
}

.ik-address-book-hint {
    color: var(--ik-text-muted);
    font-size: 0.875rem;
    line-height: 1.9;
    padding: 14px 18px;
    background: var(--ik-bg-section);
    border-radius: var(--ik-radius-md);
    border-right: 3px solid var(--ik-accent);
    flex: 1;
    min-width: 240px;
    margin-bottom: 0;
}

.ik-address-count-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: var(--ik-radius-full);
    background: var(--ik-primary);
    color: #fff;
    font-size: 0.8125rem;
    font-weight: 700;
    white-space: nowrap;
    flex-shrink: 0;
}

.ik-address-count-chip svg { width: 14px; height: 14px; }

.ik-address-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
    gap: 18px;
}

.ik-address-card {
    position: relative;
    border-radius: var(--ik-radius-lg);
    padding: 26px 20px 22px;
    background: var(--ik-glass-bg);
    -webkit-backdrop-filter: var(--ik-glass-blur-light);
    backdrop-filter: var(--ik-glass-blur-light);
    border: 1px solid var(--ik-glass-border);
    box-shadow: var(--ik-glass-shadow);
    transition: var(--ik-transition);
    display: flex;
    flex-direction: column;
    gap: 6px;
    overflow: hidden;
}

.ik-address-card::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 4px;
    background: var(--ik-address-accent, var(--ik-primary));
}

.ik-address-card--home    { --ik-address-accent: var(--ik-success); }
.ik-address-card--work    { --ik-address-accent: var(--ik-info); }
.ik-address-card--other   { --ik-address-accent: var(--ik-accent); }

.ik-address-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--ik-shadow-lg);
}

.ik-address-card.is-default {
    border-color: var(--ik-accent);
    background: linear-gradient(160deg, rgba(245,166,35,0.12), var(--ik-glass-bg) 60%);
}

.ik-address-card.is-default::before {
    background: var(--ik-accent);
}

.ik-address-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: var(--ik-accent);
    color: var(--ik-text-on-accent);
    font-size: 0.6875rem;
    font-weight: 800;
    padding: 4px 10px;
    border-radius: var(--ik-radius-full);
}

.ik-address-badge svg { width: 11px; height: 11px; }

.ik-address-card-icon {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(54,4,4,0.06);
    background: color-mix(in srgb, var(--ik-address-accent, var(--ik-primary)) 12%, transparent);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 6px;
}

.ik-address-card-icon svg { width: 20px; height: 20px; color: var(--ik-address-accent, var(--ik-primary)); }

.ik-address-card-label {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--ik-address-accent, var(--ik-accent-dark));
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.ik-address-card-name {
    font-size: 1rem;
    font-weight: 800;
    color: var(--ik-text);
}

.ik-address-card-phone {
    font-size: 0.8125rem;
    color: var(--ik-text-muted);
    text-align: left;
    direction: ltr;
}

.ik-address-card-text {
    font-size: 0.8125rem;
    line-height: 1.9;
    color: var(--ik-text-muted);
    margin-top: 4px;
    flex-grow: 1;
}

.ik-address-card-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 14px;
    flex-wrap: wrap;
}

.ik-address-card-actions .ik-btn-sm { flex-shrink: 0; }

/**
 * رفع باگ: «پیام تایید حذف، بدون کلیک روی دکمه‌ی حذف، از همان اول
 * نمایش داده می‌شود». علتش این بود که این عنصر با ویژگی HTML
 * «hidden» مخفی می‌شد (که مرورگر با قانون پیش‌فرض [hidden]{display:none}
 * پیاده می‌کند)، اما چون قانون بالا (.ik-address-card-actions) هم
 * روی همین عنصر display:flex ست می‌کند و قوانین نویسنده‌ی صفحه همیشه
 * روی قوانین پیش‌فرض مرورگر اولویت دارند (فارغ از specificity)، آن
 * display:flex همیشه برنده می‌شد و ویژگی hidden را عملاً بی‌اثر می‌کرد.
 * راه‌حل: یک قانون با specificity بالاتر که صریحاً حالت [hidden] را
 * پوشش می‌دهد.
 */
.ik-address-card-actions[hidden] { display: none; }

/* حالت تایید حذف - جایگزین دکمه‌های پیش‌فرض به‌صورت نرم */
.ik-address-card-actions--confirm {
    align-items: center;
    background: rgba(198,40,40,0.06);
    border: 1px solid rgba(198,40,40,0.18);
    border-radius: var(--ik-radius-md);
    padding: 8px 10px;
    animation: ikAddrConfirmIn 0.18s ease;
}

@keyframes ikAddrConfirmIn {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0); }
}

.ik-address-confirm-text {
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--ik-error);
    margin-left: auto;
}

.ik-address-add-card {
    border: 2px dashed var(--ik-border);
    background: rgba(255,255,255,0.4);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 200px;
    color: var(--ik-text-muted);
    font-weight: 700;
    cursor: pointer;
    transition: var(--ik-transition);
    text-align: center;
    padding: 20px;
}

.ik-address-add-card:hover {
    border-color: var(--ik-primary);
    color: var(--ik-primary);
    background: var(--ik-bg-section);
}

.ik-address-add-card:hover .ik-address-add-icon {
    transform: scale(1.08);
    box-shadow: 0 0 0 6px rgba(54,4,4,0.08);
}

.ik-address-add-card small {
    font-weight: 400;
    font-size: 0.75rem;
    color: var(--ik-text-light);
}

.ik-address-add-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--ik-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--ik-transition);
}

.ik-address-add-icon svg { width: 22px; height: 22px; color: #fff; }

.ik-address-empty-hint {
    text-align: center;
    color: var(--ik-text-muted);
    font-size: 0.875rem;
    margin-top: 18px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.ik-address-empty-icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--ik-bg-section);
    display: flex;
    align-items: center;
    justify-content: center;
}

.ik-address-empty-icon svg { width: 26px; height: 26px; color: var(--ik-text-light); }

/* مودال افزودن/ویرایش آدرس */
/**
 * توجه: این مودال ممکن است هم روی خودِ صفحه‌ی /checkout/ باز شود (که
 * z-index زیر کافی است) و هم داخل پاپ‌آپ چک‌اوت (assets/js/checkout-modal.js
 * و style.css: .ik-checkout-modal با z-index: 10001 و اورلی‌اش با
 * z-index: 10000). قبلاً z-index این مودال (9998/9999) از پاپ‌آپ چک‌اوت
 * پایین‌تر بود؛ یعنی با کلیک روی «افزودن آدرس جدید» مودال واقعاً باز
 * می‌شد اما دقیقاً پشتِ پاپ‌آپ چک‌اوت مخفی می‌ماند و کاربر هیچ اتفاقی
 * نمی‌دید. z-index را بالاتر از پاپ‌آپ چک‌اوت بردیم تا همیشه رویش قرار بگیرد.
 */
.ik-address-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(32, 20, 20, 0.45);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    z-index: 10002;
    opacity: 0;
    visibility: hidden;
    transition: var(--ik-transition);
}

.ik-address-modal-overlay.is-open { opacity: 1; visibility: visible; }

.ik-address-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -48%) scale(0.96);
    width: 92%;
    max-width: 560px;
    max-height: 88vh;
    overflow-y: auto;
    z-index: 10003;
    opacity: 0;
    visibility: hidden;
    transition: var(--ik-transition-slow);
    border-radius: var(--ik-radius-xl);
}

.ik-address-modal.is-open {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%) scale(1);
}

.ik-address-modal-inner {
    background: var(--ik-glass-bg-strong);
    -webkit-backdrop-filter: var(--ik-glass-blur);
    backdrop-filter: var(--ik-glass-blur);
    border: 1px solid var(--ik-glass-border);
    border-radius: var(--ik-radius-xl);
    box-shadow: var(--ik-shadow-lg);
    padding: 32px 28px 28px;
    position: relative;
}

.ik-address-modal-title {
    font-size: 1.125rem;
    font-weight: 800;
    margin: 0 0 20px;
    padding-left: 30px;
}

.ik-address-label-choices {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.ik-address-label-choice {
    flex: 1;
    min-width: 100px;
    cursor: pointer;
}

.ik-address-label-choice input { display: none; }

.ik-address-label-choice span {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 12px;
    border: 1.5px solid var(--ik-border);
    border-radius: var(--ik-radius-md);
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--ik-text-muted);
    transition: var(--ik-transition);
}

.ik-address-label-choice span svg { width: 15px; height: 15px; }

.ik-address-label-choice input:checked + span {
    border-color: var(--ik-primary);
    background: rgba(54,4,4,0.06);
    color: var(--ik-primary);
}

.ik-address-modal-section-title {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8125rem;
    font-weight: 800;
    color: var(--ik-text-muted);
    margin: 22px 0 12px;
    padding-top: 14px;
    border-top: 1px dashed var(--ik-border);
}

.ik-form-group + .ik-address-modal-section-title { margin-top: 22px; }

.ik-address-modal-section-title svg { width: 15px; height: 15px; color: var(--ik-accent-dark); }

.ik-address-default-checkbox {
    background: var(--ik-bg-section);
    border-radius: var(--ik-radius-md);
    padding: 10px 14px;
    margin-top: 18px !important;
}

@media (max-width: 600px) {
    .ik-address-modal-inner { padding: 24px 18px 20px; }
    .ik-address-grid { grid-template-columns: 1fr; }
    .ik-address-book-top { flex-direction: column; align-items: stretch; }
}

/* =====================================================
   آپلود عکس پروفایل
   ===================================================== */
.ik-avatar-upload {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 18px;
    background: var(--ik-bg-section);
    border-radius: var(--ik-radius-lg);
    flex-wrap: wrap;
}

.ik-avatar-upload-preview {
    position: relative;
    width: 96px;
    height: 96px;
    border-radius: 50%;
    overflow: visible;
    flex-shrink: 0;
}

.ik-avatar-upload-preview img,
.ik-avatar-upload-preview .avatar {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #fff;
    box-shadow: var(--ik-shadow-sm);
    display: block;
}

.ik-avatar-upload-btn {
    position: absolute;
    bottom: -2px;
    left: -2px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--ik-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border: 3px solid #fff;
    transition: var(--ik-transition);
}

.ik-avatar-upload-btn:hover { background: var(--ik-primary-hover); transform: scale(1.08); }
.ik-avatar-upload-btn svg { width: 15px; height: 15px; color: #fff; }

.ik-avatar-upload-meta {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 0.8125rem;
    color: var(--ik-text-muted);
}

.ik-avatar-upload-meta strong { color: var(--ik-text); font-size: 0.9375rem; }

.ik-avatar-remove-check {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    margin-top: 4px;
    color: var(--ik-error);
}

.ik-account-password-fieldset {
    border: none;
    padding: 0;
    margin: 24px 0 0;
}

.ik-account-password-fieldset legend {
    font-size: 0.9375rem;
    font-weight: 800;
    color: var(--ik-text);
    padding: 0 0 14px;
    width: 100%;
    border-bottom: 2px solid var(--ik-border);
    margin-bottom: 16px;
}

.ik-account-password-fieldset .ik-form-group { margin-bottom: 16px; }

/* =====================================================
   فید زنده خرید عمومی (Live Purchase Feed)
   ===================================================== */
.ik-feed-header {
    position: relative;
}

.ik-live-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(46,125,50,0.1);
    color: var(--ik-success);
    font-size: 0.75rem;
    font-weight: 800;
    padding: 5px 14px;
    border-radius: var(--ik-radius-full);
    margin-bottom: 12px;
}

.ik-live-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--ik-success);
    animation: ik-live-pulse 1.6s ease-in-out infinite;
}

@keyframes ik-live-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(46,125,50,0.55); }
    70%  { box-shadow: 0 0 0 8px rgba(46,125,50,0); }
    100% { box-shadow: 0 0 0 0 rgba(46,125,50,0); }
}

.ik-feed-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
    max-width: 640px;
    margin: 0 auto;
}

.ik-feed-card {
    display: flex;
    gap: 14px;
    background: var(--ik-glass-bg-strong);
    -webkit-backdrop-filter: var(--ik-glass-blur-light);
    backdrop-filter: var(--ik-glass-blur-light);
    border: 1px solid var(--ik-border-light);
    border-radius: var(--ik-radius-lg);
    padding: 18px;
    transition: var(--ik-transition-slow);
}

.ik-feed-card:hover {
    box-shadow: var(--ik-shadow-md);
    border-color: var(--ik-border);
}

/* انیمیشن ورود کارت‌های تازه (زنده) */
.ik-feed-card-new {
    opacity: 0;
    transform: translateY(-16px) scale(0.98);
}

.ik-feed-card-in {
    opacity: 1;
    transform: translateY(0) scale(1);
    transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.ik-feed-card-in.ik-feed-card {
    animation: ik-feed-flash 1.6s ease;
}

@keyframes ik-feed-flash {
    0%   { background: rgba(245,166,35,0.18); }
    100% { background: var(--ik-glass-bg-strong); }
}

.ik-feed-avatar {
    flex-shrink: 0;
}

.ik-feed-avatar img {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--ik-border-light);
}

.ik-feed-body {
    flex: 1;
    min-width: 0;
}

.ik-feed-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px;
    font-size: 0.875rem;
}

.ik-feed-name {
    font-weight: 800;
    color: var(--ik-text);
}

.ik-feed-action-text {
    color: var(--ik-text-muted);
}

.ik-feed-emoji {
    font-size: 0.9375rem;
}

.ik-feed-dot {
    color: var(--ik-text-light);
}

.ik-feed-time {
    color: var(--ik-text-light);
    font-size: 0.8125rem;
}

.ik-feed-product {
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--ik-bg-section);
    border: 1px solid var(--ik-border-light);
    border-radius: var(--ik-radius-md);
    padding: 10px;
    text-decoration: none;
    transition: var(--ik-transition);
}

.ik-feed-product:hover {
    border-color: var(--ik-accent);
}

.ik-feed-product-img {
    width: 52px;
    height: 52px;
    border-radius: var(--ik-radius-sm);
    overflow: hidden;
    flex-shrink: 0;
    background: #fff;
}

.ik-feed-product-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ik-feed-product-info {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ik-feed-product-name {
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--ik-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ik-feed-product-price {
    font-size: 0.8125rem;
    color: var(--ik-primary);
    font-weight: 700;
}

.ik-feed-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 12px;
    flex-wrap: wrap;
}

.ik-feed-buy-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--ik-primary);
    color: #fff;
    border: none;
    border-radius: var(--ik-radius-full);
    padding: 8px 18px;
    font-size: 0.8125rem;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    transition: var(--ik-transition);
    font-family: inherit;
}

.ik-feed-buy-btn:hover {
    background: var(--ik-primary-light);
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(54,4,4,0.25);
}

.ik-feed-buy-btn svg { width: 15px; height: 15px; }

.ik-feed-buy-btn.ik-feed-buy-disabled {
    background: var(--ik-border);
    color: var(--ik-text-light);
    cursor: not-allowed;
}

.ik-feed-buy-btn.loading {
    opacity: 0.7;
    pointer-events: none;
}

.ik-feed-react-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: transparent;
    border: 1px solid var(--ik-border);
    color: var(--ik-text-muted);
    border-radius: var(--ik-radius-full);
    padding: 8px 16px;
    font-size: 0.8125rem;
    font-weight: 700;
    cursor: pointer;
    transition: var(--ik-transition);
    font-family: inherit;
}

.ik-feed-react-btn svg { width: 15px; height: 15px; }

.ik-feed-react-btn:hover {
    border-color: var(--ik-accent);
    color: var(--ik-accent-dark);
}

.ik-feed-react-btn.ik-feed-reacted,
.ik-feed-react-btn.ik-feed-reacted:hover {
    background: rgba(245,166,35,0.12);
    border-color: var(--ik-accent);
    color: var(--ik-accent-dark);
}

.ik-feed-react-btn.is-disabled {
    pointer-events: none;
}

.ik-feed-react-count {
    font-weight: 800;
}

/* چک‌باکس تایید نمایش در فید - صفحه تسویه‌حساب */
.ik-feed-optin-toggle {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
    background: var(--ik-bg-section);
    border: 1px solid var(--ik-border-light);
    border-radius: var(--ik-radius-md);
    padding: 16px;
    transition: var(--ik-transition);
}

.ik-feed-optin-toggle:hover {
    border-color: var(--ik-accent);
}

.ik-feed-optin-checkbox-wrap {
    flex-shrink: 0;
    padding-top: 2px;
}

.ik-feed-optin-checkbox-wrap input[type="checkbox"] {
    width: 20px;
    height: 20px;
    accent-color: var(--ik-primary);
    cursor: pointer;
}

.ik-feed-optin-text {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ik-feed-optin-title {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--ik-text);
    line-height: 1.6;
}

.ik-feed-optin-desc {
    font-size: 0.8125rem;
    color: var(--ik-text-muted);
    line-height: 1.7;
}

@media (max-width: 600px) {
    .ik-feed-card {
        padding: 14px;
        gap: 10px;
    }
    .ik-feed-avatar img { width: 38px; height: 38px; }
    .ik-feed-product-name { max-width: 140px; }
    .ik-feed-actions { gap: 8px; }
    .ik-feed-buy-btn,
    .ik-feed-react-btn,
    .ik-feed-comments-toggle { padding: 7px 12px; font-size: 0.75rem; }
}

/* ===== دکمه و پنل «نظرات» زیر هر خرید در فید زنده ===== */
.ik-feed-comments-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: transparent;
    border: 1px solid var(--ik-border);
    color: var(--ik-text-muted);
    border-radius: var(--ik-radius-full);
    padding: 8px 16px;
    font-size: 0.8125rem;
    font-weight: 700;
    cursor: pointer;
    transition: var(--ik-transition);
    font-family: inherit;
}

.ik-feed-comments-toggle svg { width: 15px; height: 15px; }

.ik-feed-comments-toggle:hover,
.ik-feed-comments-toggle[aria-expanded="true"] {
    border-color: var(--ik-primary);
    color: var(--ik-primary);
}

.ik-feed-comments-count {
    font-weight: 800;
}

.ik-feed-comments-panel {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px dashed var(--ik-border-light);
}

.ik-feed-comments-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 12px;
}

.ik-feed-comments-loading,
.ik-feed-comments-empty {
    font-size: 0.8125rem;
    color: var(--ik-text-light);
    padding: 6px 0 12px;
    display: none;
}

.ik-feed-comments-loading { display: block; }
.ik-feed-comments-panel[data-loaded="1"] .ik-feed-comments-loading { display: none; }

.ik-feed-comment {
    display: flex;
    gap: 10px;
}

.ik-feed-comment-avatar img {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid var(--ik-border-light);
}

.ik-feed-comment-body {
    flex: 1;
    min-width: 0;
    background: var(--ik-bg-section);
    border: 1px solid var(--ik-border-light);
    border-radius: var(--ik-radius-md);
    padding: 10px 12px;
}

.ik-feed-comment-head {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 4px;
}

.ik-feed-comment-name {
    font-size: 0.8125rem;
    font-weight: 800;
    color: var(--ik-text);
}

.ik-feed-comment-time {
    font-size: 0.75rem;
    color: var(--ik-text-light);
}

.ik-feed-comment-text {
    font-size: 0.8438rem;
    color: var(--ik-text-muted);
    line-height: 1.7;
    margin: 0 0 8px;
    word-break: break-word;
}

.ik-feed-comment-votes {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ik-feed-vote-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: transparent;
    border: 1px solid var(--ik-border);
    color: var(--ik-text-light);
    border-radius: var(--ik-radius-full);
    padding: 3px 9px;
    font-size: 0.75rem;
    font-weight: 700;
    cursor: pointer;
    transition: var(--ik-transition);
    font-family: inherit;
}

.ik-feed-vote-btn svg { width: 13px; height: 13px; }

.ik-feed-vote-up:hover,
.ik-feed-vote-up.is-active {
    border-color: var(--ik-success);
    color: var(--ik-success);
    background: rgba(46,125,50,0.08);
}

.ik-feed-vote-down:hover,
.ik-feed-vote-down.is-active {
    border-color: var(--ik-error);
    color: var(--ik-error);
    background: rgba(198,40,40,0.08);
}

.ik-feed-vote-btn.is-voting {
    opacity: 0.6;
    pointer-events: none;
}

.ik-feed-vote-score {
    font-size: 0.75rem;
    font-weight: 800;
    color: var(--ik-text-muted);
    min-width: 16px;
    text-align: center;
}

.ik-feed-comment-form {
    display: flex;
    gap: 8px;
    align-items: flex-end;
}

.ik-feed-comment-input {
    flex: 1;
    resize: none;
    background: var(--ik-bg-section);
    border: 1px solid var(--ik-border-light);
    border-radius: var(--ik-radius-md);
    padding: 8px 12px;
    font-family: inherit;
    font-size: 0.8438rem;
    color: var(--ik-text);
    transition: var(--ik-transition);
}

.ik-feed-comment-input:focus {
    outline: none;
    border-color: var(--ik-primary);
}

.ik-feed-comment-submit {
    flex-shrink: 0;
    background: var(--ik-primary);
    color: #fff;
    border: none;
    border-radius: var(--ik-radius-full);
    padding: 9px 18px;
    font-size: 0.8125rem;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
    transition: var(--ik-transition);
}

.ik-feed-comment-submit:hover { background: var(--ik-primary-light); }

.ik-feed-comment-submit:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.ik-feed-comment-login-note {
    font-size: 0.8125rem;
    color: var(--ik-text-muted);
}

.ik-feed-comment-login-note a {
    color: var(--ik-primary);
    font-weight: 700;
}

@media (max-width: 600px) {
    .ik-feed-comment-form { flex-direction: column; align-items: stretch; }
    .ik-feed-comment-submit { align-self: flex-end; }
}

/* =====================================================
   دکمه «کی چی خرید؟» در هدر + پنجره‌ی فید
   ===================================================== */
.ik-feed-header-trigger {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    background: rgba(54,4,4,0.06);
    border: 1.5px solid transparent;
    color: var(--ik-primary);
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 800;
    padding: 10px 16px;
    border-radius: var(--ik-radius-full);
    cursor: pointer;
    transition: var(--ik-transition);
    position: relative;
}

.ik-feed-header-trigger:hover {
    background: rgba(54,4,4,0.1);
    border-color: var(--ik-primary);
}

.ik-feed-header-trigger svg { width: 18px; height: 18px; }

.ik-feed-header-trigger-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--ik-success);
    animation: ik-live-pulse 1.6s ease-in-out infinite;
    flex-shrink: 0;
}

.ik-feed-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(32, 20, 20, 0.45);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transition: var(--ik-transition);
}

.ik-feed-modal-overlay.is-open { opacity: 1; visibility: visible; }

.ik-feed-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -48%) scale(0.96);
    width: 92%;
    max-width: 620px;
    max-height: 86vh;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: var(--ik-transition-slow);
    border-radius: var(--ik-radius-xl);
}

.ik-feed-modal.is-open {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%) scale(1);
}

.ik-feed-modal-inner {
    background: var(--ik-glass-bg-strong);
    -webkit-backdrop-filter: var(--ik-glass-blur);
    backdrop-filter: var(--ik-glass-blur);
    border: 1px solid var(--ik-glass-border);
    border-radius: var(--ik-radius-xl);
    box-shadow: var(--ik-shadow-lg);
    padding: 28px 24px 24px;
    position: relative;
    max-height: 86vh;
    display: flex;
    flex-direction: column;
}

.ik-feed-modal-close {
    position: absolute;
    top: 18px;
    left: 18px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--ik-bg-section);
    border: 1px solid var(--ik-border);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: var(--ik-transition);
}

.ik-feed-modal-close:hover { background: #fff; transform: rotate(90deg); }
.ik-feed-modal-close svg { width: 16px; height: 16px; color: var(--ik-text); }

.ik-feed-modal-head {
    padding-left: 30px;
    margin-bottom: 16px;
    flex-shrink: 0;
}

.ik-feed-modal-title {
    font-size: 1.0625rem;
    font-weight: 800;
    margin: 0 0 6px;
    color: var(--ik-text);
}

.ik-feed-modal-desc {
    font-size: 0.8125rem;
    color: var(--ik-text-muted);
    margin: 0;
}

.ik-feed-modal-list {
    overflow-y: auto;
    padding-left: 4px;
    padding-right: 2px;
    max-width: none;
    flex: 1;
}

.ik-feed-modal-empty,
.ik-feed-modal-loading {
    text-align: center;
    color: var(--ik-text-muted);
    font-size: 0.875rem;
    padding: 30px 10px;
}

.ik-feed-modal-loading { display: none; }

@media (max-width: 600px) {
    .ik-feed-modal-inner { padding: 24px 16px 18px; max-height: 90vh; }
    .ik-feed-modal { max-height: 90vh; }
}

@media (max-width: 768px) {
    .ik-feed-header-trigger span:not(.ik-feed-header-trigger-dot) { display: none; }
    .ik-feed-header-trigger { padding: 8px; }
}

/* نظر مشتری درباره خرید داخل کارت فید */
.ik-feed-note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    background: var(--ik-bg-section);
    border-radius: var(--ik-radius-md);
    padding: 10px 12px;
    margin-top: 10px;
    font-size: 0.8125rem;
    color: var(--ik-text-muted);
    line-height: 1.7;
}

.ik-feed-note-icon { width: 15px; height: 15px; flex-shrink: 0; margin-top: 2px; color: var(--ik-accent-dark); }

/* دکمه افزودن به مقایسه داخل کارت فید */
.ik-feed-compare-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: transparent;
    border: 1px solid var(--ik-border);
    color: var(--ik-text-muted);
    border-radius: var(--ik-radius-full);
    padding: 8px 16px;
    font-size: 0.8125rem;
    font-weight: 700;
    cursor: pointer;
    transition: var(--ik-transition);
    font-family: inherit;
}

.ik-feed-compare-btn svg { width: 15px; height: 15px; }

.ik-feed-compare-btn:hover,
.ik-feed-compare-btn.is-active {
    border-color: var(--ik-primary);
    color: var(--ik-primary);
}

/* یادداشت اختیاری مشتری درباره خرید - صفحه تسویه‌حساب */
.ik-feed-optin-note-wrap {
    margin-top: 12px;
    padding-right: 32px;
}

.ik-feed-optin-note-label {
    display: block;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--ik-text-muted);
    margin-bottom: 8px;
}

.ik-feed-optin-note { min-height: 64px; }

@media (max-width: 600px) {
    .ik-feed-optin-note-wrap { padding-right: 0; }
}

/* =====================================================
   نماد اعتماد الکترونیکی (اینماد) - داخل جریان صفحه، انتهای فوتر
   ===================================================== */
.ik-enamad-wrap {
    display: flex;
    justify-content: center;
    padding: 20px 0 28px;
    border-top: 1px solid var(--ik-border-light);
    margin-top: 4px;
}

.ik-enamad-wrap a {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: var(--ik-radius-md);
    padding: 6px;
    box-shadow: var(--ik-shadow-sm);
    border: 1px solid var(--ik-border-light);
    transition: var(--ik-transition);
    line-height: 0;
}

.ik-enamad-wrap a:hover {
    box-shadow: var(--ik-shadow-md);
}

.ik-enamad-wrap img {
    display: block;
    width: 80px;
    height: auto;
}

/* =====================================================
   نوار پایین شناور موبایل (Liquid Glass Tabbar)
   ===================================================== */
.ik-tabbar {
    display: none;
    position: fixed;
    left: 14px;
    right: 14px;
    bottom: max(14px, env(safe-area-inset-bottom, 14px));
    z-index: 500;
    direction: ltr;
    align-items: center;
    justify-content: space-around;
    gap: 2px;
    max-width: 400px;
    margin: 0 auto;
    padding: 8px 6px;
    border-radius: var(--ik-radius-full);
    background: var(--ik-glass-bg-strong);
    -webkit-backdrop-filter: var(--ik-glass-blur);
    backdrop-filter: var(--ik-glass-blur);
    border: 1px solid var(--ik-glass-border);
    box-shadow: 0 10px 34px rgba(32,20,20,0.22), inset 0 1px 0 rgba(255,255,255,0.35);
}

.ik-tabbar-item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    flex: 1;
    min-width: 0;
    padding: 8px 4px;
    border: none;
    background: transparent;
    color: #6B5250;
    font-family: inherit;
    font-size: 0.6875rem;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
    border-radius: var(--ik-radius-full);
    transition: var(--ik-transition);
    -webkit-tap-highlight-color: transparent;
}

.ik-tabbar-item svg {
    width: 24px;
    height: 24px;
}

.ik-tabbar-item svg path,
.ik-tabbar-item svg rect,
.ik-tabbar-item svg circle {
    stroke-width: 2.3;
}

.ik-tabbar-item span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }

.ik-tabbar-item:active,
.ik-tabbar-item:hover {
    color: var(--ik-primary);
    background: rgba(54,4,4,0.07);
}

.ik-tabbar-badge {
    position: absolute;
    top: 1px;
    right: calc(50% - 21px);
    background: var(--ik-accent);
    color: var(--ik-text-on-accent);
    font-size: 0.5625rem;
    font-weight: 800;
    min-width: 15px;
    height: 15px;
    line-height: 15px;
    text-align: center;
    border-radius: 50%;
    padding: 0 2px;
}

.ik-tabbar-badge:empty,
.ik-tabbar-badge[data-empty="1"] { display: none; }

@media (max-width: 1024px) {
    .ik-tabbar { display: flex; }
    body { padding-bottom: 86px; }

    /* روی موبایل دکمه‌های حساب کاربری و سبد خرید بالای هدر مخفی می‌شوند چون
       در نوار پایین شناور در دسترس‌اند */
    .ik-header-account-btn,
    .ik-header-cart-btn { display: none !important; }
}

@media (max-width: 480px) {
    .ik-tabbar { max-width: 360px; padding: 8px 4px; }
    .ik-tabbar-item { font-size: 0.625rem; padding: 7px 2px; }
    .ik-tabbar-item svg { width: 22px; height: 22px; }
}

/* =====================================================
   متن انیمیشنی دکمه‌ی «کی چی خرید؟» در نوار پایین موبایل
   -----------------------------------------------------
   به‌جای برچسب ثابت «خریدها»، متن بین سه بخشِ «کی» / «چی» / «خرید؟»
   به‌سرعت جابه‌جا می‌شود و در نهایت به «LIVE» (انگلیسی، برای جلب توجه به
   زنده‌بودن فید) تبدیل می‌شود، چند ثانیه می‌ماند و دوباره از اول شروع
   می‌شود. کنترل توالی و زمان‌بندی در assets/js/purchase-feed.js انجام
   می‌شود؛ این بخش فقط ظاهر و ترنزیشن ورود/خروج هر فریم را تعریف می‌کند.
   ===================================================== */
.ik-feed-trigger-label {
    position: relative;
    display: block;
    height: 14px;
    width: 100%;
    overflow: hidden;
    perspective: 60px;
}

.ik-feed-trigger-text {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    white-space: nowrap;
    opacity: 0;
    transform-origin: 50% 50%;
    transform: rotateX(75deg) translateY(1px);
    transition: opacity 0.26s ease, transform 0.34s cubic-bezier(0.34, 1.4, 0.64, 1);
    backface-visibility: hidden;
    pointer-events: none;
}

.ik-feed-trigger-text.is-active {
    opacity: 1;
    transform: rotateX(0deg) translateY(0);
}

.ik-feed-trigger-text.is-leaving {
    opacity: 0;
    transform: rotateX(-75deg) translateY(-1px);
}

/* حالت «LIVE» انگلیسی: رنگ سبزِ همان بج زنده + نقطه‌ی ضربان‌دار */
.ik-feed-trigger-text.ik-live-frame {
    color: var(--ik-success);
    font-family: Arial, Helvetica, sans-serif;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.ik-feed-trigger-live-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--ik-success);
    flex-shrink: 0;
    animation: ik-live-pulse 1.6s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
    .ik-feed-trigger-text {
        transition: none;
    }
}

/* =====================================================
   مودال «سبد خرید»
   ===================================================== */
.ik-cart-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(32, 20, 20, 0.45);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transition: var(--ik-transition);
}

.ik-cart-modal-overlay.is-open { opacity: 1; visibility: visible; }

.ik-cart-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -48%) scale(0.96);
    width: 94%;
    max-width: 480px;
    max-height: 88vh;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: var(--ik-transition-slow);
    border-radius: var(--ik-radius-xl);
}

.ik-cart-modal.is-open {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%) scale(1);
}

.ik-cart-modal-inner {
    background: var(--ik-glass-bg-strong);
    -webkit-backdrop-filter: var(--ik-glass-blur);
    backdrop-filter: var(--ik-glass-blur);
    border: 1px solid var(--ik-glass-border);
    border-radius: var(--ik-radius-xl);
    box-shadow: var(--ik-shadow-lg);
    padding: 28px 20px 20px;
    position: relative;
    max-height: 88vh;
    display: flex;
    flex-direction: column;
}

.ik-cart-modal-close {
    position: absolute;
    top: 18px;
    left: 18px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--ik-bg-section);
    border: 1px solid var(--ik-border);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: var(--ik-transition);
    z-index: 2;
}

.ik-cart-modal-close:hover { background: #fff; transform: rotate(90deg); }
.ik-cart-modal-close svg { width: 16px; height: 16px; color: var(--ik-text); }

.ik-cart-modal-head {
    padding-left: 30px;
    margin-bottom: 12px;
    flex-shrink: 0;
}

.ik-cart-modal-title {
    font-size: 1.0625rem;
    font-weight: 800;
    margin: 0 0 6px;
    color: var(--ik-text);
}

.ik-cart-modal-desc {
    font-size: 0.8125rem;
    color: var(--ik-text-muted);
    margin: 0;
}

.ik-cart-modal-body {
    overflow-y: auto;
    flex: 1;
    padding-left: 4px;
    padding-right: 2px;
}

.ik-cart-modal-loading,
.ik-cart-modal-empty {
    text-align: center;
    color: var(--ik-text-muted);
    font-size: 0.875rem;
    padding: 40px 10px;
}

.ik-cart-modal-empty-icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--ik-bg-section);
    color: var(--ik-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
}

.ik-cart-modal-empty p { margin: 0 0 16px; }

.ik-cart-modal-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ik-cart-modal-row {
    display: flex;
    gap: 12px;
    padding: 14px 6px;
    border-bottom: 1px solid var(--ik-border-light);
    transition: var(--ik-transition);
}

.ik-cart-modal-row:last-child { border-bottom: none; }

.ik-cart-modal-row.is-ghost {
    opacity: 0.55;
    filter: grayscale(0.5);
}

.ik-cart-modal-row-img {
    width: 60px;
    height: 60px;
    border-radius: var(--ik-radius-md);
    overflow: hidden;
    flex-shrink: 0;
    background: var(--ik-bg-section);
}

.ik-cart-modal-row-img img { width: 100%; height: 100%; object-fit: cover; }

.ik-cart-modal-row-body { flex: 1; min-width: 0; }

.ik-cart-modal-row-name {
    display: block;
    font-weight: 700;
    font-size: 0.875rem;
    color: var(--ik-text);
    margin-bottom: 4px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ik-cart-modal-row-name:hover { color: var(--ik-primary); }

.ik-cart-modal-row-price {
    font-size: 0.75rem;
    color: var(--ik-text-muted);
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.ik-cart-modal-row-controls {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.ik-cart-modal-qty {
    display: flex;
    align-items: center;
    border: 1.5px solid var(--ik-border);
    border-radius: var(--ik-radius-full);
    overflow: hidden;
    background: #fff;
}

.ik-cart-qty-btn {
    width: 28px;
    height: 28px;
    border: none;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--ik-text);
    transition: var(--ik-transition);
}

.ik-cart-qty-btn:hover { background: var(--ik-primary); color: #fff; }
.ik-cart-qty-btn svg { width: 13px; height: 13px; }

.ik-cart-qty-value {
    min-width: 22px;
    text-align: center;
    font-weight: 700;
    font-size: 0.8125rem;
}

.ik-cart-ghost-toggle {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    border-radius: var(--ik-radius-full);
    border: 1.5px solid var(--ik-border);
    background: #fff;
    color: var(--ik-text-muted);
    font-size: 0.75rem;
    font-weight: 700;
    cursor: pointer;
    transition: var(--ik-transition);
}

.ik-cart-ghost-toggle svg { width: 14px; height: 14px; }

.ik-cart-ghost-toggle:hover {
    border-color: var(--ik-primary);
    color: var(--ik-primary);
}

.ik-cart-ghost-toggle.is-active {
    background: var(--ik-primary);
    border-color: var(--ik-primary);
    color: #fff;
}

.ik-cart-modal-remove {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: none;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--ik-text-muted);
    transition: var(--ik-transition);
    margin-right: auto;
}

.ik-cart-modal-remove:hover { background: rgba(198,40,40,0.08); color: var(--ik-error); }
.ik-cart-modal-remove svg { width: 15px; height: 15px; }

.ik-cart-ghost-note {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 8px;
    font-size: 0.6875rem;
    color: var(--ik-text-muted);
    background: var(--ik-bg-section);
    border-radius: var(--ik-radius-md);
    padding: 6px 10px;
}

.ik-cart-ghost-note svg { width: 13px; height: 13px; flex-shrink: 0; }

.ik-cart-modal-row-subtotal {
    font-weight: 800;
    font-size: 0.8125rem;
    color: var(--ik-text);
    white-space: nowrap;
    align-self: flex-start;
}

.ik-cart-modal-summary {
    flex-shrink: 0;
    padding-top: 14px;
    margin-top: 6px;
    border-top: 1px solid var(--ik-border-light);
}

.ik-cart-modal-savings {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(46,125,50,0.08);
    color: var(--ik-success);
    border-radius: var(--ik-radius-md);
    padding: 10px 12px;
    font-size: 0.8125rem;
    margin-bottom: 12px;
}

.ik-cart-modal-savings svg { width: 16px; height: 16px; flex-shrink: 0; }

.ik-cart-ghost-hint {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.6875rem;
    color: var(--ik-text-muted);
    margin-top: 4px;
    margin-bottom: 6px;
}

.ik-cart-ghost-hint svg { width: 13px; height: 13px; flex-shrink: 0; }

.ik-cart-modal-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 14px;
}

.ik-cart-modal-actions .ik-btn { width: 100%; justify-content: center; }

@media (max-width: 600px) {
    .ik-cart-modal-inner { padding: 24px 16px 18px; max-height: 92vh; }
    .ik-cart-modal { max-height: 92vh; }
    .ik-cart-modal-row-img { width: 52px; height: 52px; }
}

/* =====================================================
   نوتیفیکیشن شناور «افزودن به سبد خرید»
   سبک Dynamic Island (باز و بسته شدن پویا) + متریال Liquid Glass
   ===================================================== */
.ik-dynamic-island {
    position: fixed;
    top: 14px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 999999;
    display: flex;
    justify-content: center;
    pointer-events: none;
}

.ik-dynamic-island-pill {
    display: flex;
    align-items: center;
    height: 40px;
    max-width: 40px;
    padding: 0;
    gap: 0;
    border-radius: var(--ik-radius-full);
    overflow: hidden;
    white-space: nowrap;
    background: rgba(32, 20, 20, 0);
    border: 1px solid transparent;
    box-shadow: none;
    opacity: 0;
    transform: scale(0.55) translateY(-8px);
    transition:
        max-width 0.62s cubic-bezier(0.34, 1.56, 0.64, 1),
        padding 0.5s cubic-bezier(0.34, 1.56, 0.64, 1),
        gap 0.5s cubic-bezier(0.34, 1.56, 0.64, 1),
        opacity 0.35s ease,
        transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1),
        background 0.45s ease,
        border-color 0.45s ease,
        box-shadow 0.45s ease;
}

/* مرحله اول: ظاهر شدن کپسول کوچک شیشه‌ای (بیدار شدن آیلند) */
.ik-dynamic-island.is-visible .ik-dynamic-island-pill {
    opacity: 1;
    transform: scale(1) translateY(0);
    background: var(--ik-glass-bg-strong);
    -webkit-backdrop-filter: var(--ik-glass-blur);
    backdrop-filter: var(--ik-glass-blur);
    border-color: var(--ik-glass-border);
    box-shadow: var(--ik-glass-shadow), 0 6px 20px rgba(32, 20, 20, 0.16);
}

/* مرحله دوم: گسترش پیدا کردن دور محتوا و نمایش پیام */
.ik-dynamic-island.is-expanded .ik-dynamic-island-pill {
    max-width: min(90vw, 380px);
    padding: 9px 20px 9px 16px;
    gap: 10px;
}

.ik-dynamic-island-check {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    line-height: 0;
    transform: scale(0.35) rotate(-20deg);
    opacity: 0;
    transition:
        transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) 0.16s,
        opacity 0.3s ease 0.16s;
}

.ik-dynamic-island.is-expanded .ik-dynamic-island-check {
    transform: scale(1) rotate(0deg);
    opacity: 1;
}

.ik-dynamic-island-check svg { display: block; }

.ik-dynamic-island-text {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--ik-text);
    max-width: 300px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity 0.35s ease 0.22s, transform 0.35s ease 0.22s;
}

.ik-dynamic-island.is-expanded .ik-dynamic-island-text {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 600px) {
    .ik-dynamic-island { top: 10px; }
    .ik-dynamic-island.is-expanded .ik-dynamic-island-pill {
        max-width: 92vw;
        padding: 9px 16px 9px 14px;
    }
    .ik-dynamic-island-text {
        max-width: 62vw;
        font-size: 0.8125rem;
    }
}

/* حالت در حال ارسال برای دکمه‌های افزودن به سبد (هنگام درخواست Ajax) */
.single_add_to_cart_button.ik-loading,
.ik-product-add-btn.ik-loading,
.ik-feed-buy-btn.ik-loading,
.ik-search-add-btn.ik-loading {
    position: relative;
    color: transparent !important;
    pointer-events: none;
    opacity: 0.85;
}

.single_add_to_cart_button.ik-loading::after,
.ik-product-add-btn.ik-loading::after,
.ik-feed-buy-btn.ik-loading::after,
.ik-search-add-btn.ik-loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 16px;
    margin: -8px 0 0 -8px;
    border: 2px solid rgba(255, 255, 255, 0.4);
    border-top-color: #fff;
    border-radius: 50%;
    animation: ik-btn-spin 0.7s linear infinite;
}

@keyframes ik-btn-spin {
    to { transform: rotate(360deg); }
}

/* =====================================================
   مودال «تسویه‌حساب» (پرداخت به‌صورت واقعاً پاپ‌آپ)
   همان زبان بصری مودال سبد خرید (شیشه‌ای، بلور، انیمیشن نرم) اما
   عریض‌تر، چون باید فرم دو مرحله‌ای + خلاصه‌ی سفارش را جا بدهد.
   ===================================================== */
.ik-checkout-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(32, 20, 20, 0.45);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transition: var(--ik-transition);
}

.ik-checkout-modal-overlay.is-open { opacity: 1; visibility: visible; }

.ik-checkout-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -48%) scale(0.97);
    width: 94%;
    max-width: 1080px;
    max-height: 90vh;
    z-index: 10001;
    opacity: 0;
    visibility: hidden;
    transition: var(--ik-transition-slow);
    border-radius: var(--ik-radius-xl);
}

.ik-checkout-modal.is-open {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%) scale(1);
}

.ik-checkout-modal-inner {
    background: var(--ik-glass-bg-strong);
    -webkit-backdrop-filter: var(--ik-glass-blur);
    backdrop-filter: var(--ik-glass-blur);
    border: 1px solid var(--ik-glass-border);
    border-radius: var(--ik-radius-xl);
    box-shadow: var(--ik-shadow-lg);
    padding: 30px 24px 24px;
    position: relative;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
}

.ik-checkout-modal-close {
    position: absolute;
    top: 18px;
    left: 18px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.6);
    border: 1px solid var(--ik-glass-border);
    cursor: pointer;
    transition: var(--ik-transition);
    z-index: 2;
}

.ik-checkout-modal-close:hover { background: #fff; transform: rotate(90deg); }
.ik-checkout-modal-close svg { width: 16px; height: 16px; color: var(--ik-text); }

.ik-checkout-modal-head {
    padding-left: 34px;
    margin-bottom: 10px;
}

.ik-checkout-modal-title {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--ik-text);
    margin: 0;
}

.ik-checkout-modal-body {
    overflow-y: auto;
    padding: 4px 2px 2px;
    flex: 1;
}

/* فرم تسویه‌حساب وقتی داخل مودال تزریق می‌شود، دیگر نیازی به
   کانتینر و پدینگ بیرونیِ خودِ صفحه ندارد */
.ik-checkout-modal-body .ik-checkout-page { animation: none; }
.ik-checkout-modal-body .ik-container { max-width: none; padding: 0; }
.ik-checkout-modal-body .ik-checkout-stepper { margin-top: 0; }

@media (max-width: 900px) {
    .ik-checkout-modal-body .ik-checkout-layout { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
    .ik-checkout-modal { max-height: 94vh; }
    .ik-checkout-modal-inner { padding: 24px 16px 16px; max-height: 94vh; }
}

/* ورود نرم صفحه‌ی تسویه‌حساب - ادامه‌ی همان حس انتقال از مودال سبد خرید */
.ik-checkout-page {
    animation: ikFadeInUp 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* =====================================================
   دفترچه آدرس داخل تسویه‌حساب (کارت‌های قابل کلیک برای انتخاب)
   از همان کلاس‌های دفترچه آدرس حساب کاربری استفاده می‌کند؛
   فقط رفتار «انتخاب» و تیک گوشه‌ی راست اضافه شده است.
   ===================================================== */
.ik-checkout-address-book .ik-address-book-hint {
    font-size: 0.8125rem;
    color: var(--ik-text-muted);
    margin: 0 0 14px;
    line-height: 1.8;
}

.ik-ckaddr-card { cursor: pointer; }

.ik-ckaddr-card.is-selected {
    border-color: var(--ik-primary);
    box-shadow: 0 0 0 2px var(--ik-primary) inset, var(--ik-shadow-lg);
}

.ik-ckaddr-selected-tick {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--ik-primary);
    color: #fff;
    display: none;
    align-items: center;
    justify-content: center;
}

.ik-ckaddr-selected-tick svg { width: 12px; height: 12px; }

.ik-ckaddr-card.is-selected .ik-ckaddr-selected-tick { display: flex; }

@media (max-width: 480px) {
    .ik-checkout-address-book .ik-address-grid { grid-template-columns: 1fr; }
}

/* =====================================================
   «در انتظار نتیجه پرداخت» و «نتیجه‌ی نهایی» داخل پاپ‌آپ تسویه‌حساب
   ===================================================== */
.ik-checkout-waiting,
.ik-checkout-result {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 50px 20px;
    max-width: 420px;
    margin: 0 auto;
}

.ik-checkout-waiting-spinner,
.ik-checkout-result-icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    background: color-mix(in srgb, var(--ik-primary) 12%, transparent);
    color: var(--ik-primary);
}

.ik-checkout-waiting-spinner svg,
.ik-checkout-result-icon svg { width: 30px; height: 30px; }

.ik-checkout-waiting-spinner {
    animation: ikCheckoutWaitingPulse 1.6s ease-in-out infinite;
}

@keyframes ikCheckoutWaitingPulse {
    0%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--ik-primary) 25%, transparent); }
    50%      { box-shadow: 0 0 0 12px transparent; }
}

.ik-checkout-result--success .ik-checkout-result-icon {
    background: color-mix(in srgb, var(--ik-success) 15%, transparent);
    color: var(--ik-success);
}

.ik-checkout-result--failure .ik-checkout-result-icon {
    background: color-mix(in srgb, var(--ik-error) 15%, transparent);
    color: var(--ik-error);
}

.ik-checkout-waiting h4,
.ik-checkout-result h4 {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--ik-text);
    margin: 0 0 8px;
}

.ik-checkout-waiting p,
.ik-checkout-result p {
    font-size: 0.875rem;
    line-height: 1.9;
    color: var(--ik-text-muted);
    margin: 0 0 20px;
}

.ik-checkout-waiting-actions,
.ik-checkout-result-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
}
