
/* ============================================================
   Skeleton Screen + Shimmer (وضعیت بارگذاری)
   ============================================================ */
.sk-status {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

.sk {
    position: relative;
    display: block;
    overflow: hidden;
    background-color: #e9eef1;
    border-radius: 8px;
}

.sk::after {
    position: absolute;
    inset: 0;
    content: '';
    background-image: linear-gradient(90deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, .32) 35%,
        rgba(255, 255, 255, .85) 50%,
        rgba(255, 255, 255, .32) 65%,
        rgba(255, 255, 255, 0) 100%);
    transform: translateX(-100%);
    animation: sk-shimmer 1.45s cubic-bezier(.4, 0, .2, 1) infinite;
    will-change: transform;
}

@keyframes sk-shimmer {
    from { transform: translateX(-100%); }
    to { transform: translateX(100%); }
}

@media (prefers-reduced-motion: reduce) {
    .sk::after {
        animation-duration: 3s;
        opacity: .45;
    }
}

/* ---------- خطوط و بلوک‌ها ---------- */
.sk-line { height: 10px; border-radius: 6px; }
.sk-line-sm { height: 8px; }
.sk-line-lg { height: 15px; border-radius: 8px; }
.sk-square { border-radius: 12px; }

/* ---------- چیدمان ---------- */
.sk-page { display: grid; gap: 14px; padding: 14px; }
.sk-stack { display: grid; gap: 10px; }
.sk-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.sk-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sk-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sk-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sk-row { display: flex; align-items: center; gap: 10px; }

.sk-card {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid #eef2f5;
    border-radius: 16px;
    background: #fff;
}

/* ---------- کارت آگهی ---------- */
.sk-ad-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #eef2f5;
    border-radius: 14px;
    background: #fff;
    min-width: 0;
}
.sk-ad-media { height: 132px; border-radius: 0; }
.sk-ad-body { display: grid; gap: 8px; padding: 12px; }
.sk-ad-card-compact { flex: 0 0 210px; min-width: 210px; }

/* ---------- ردیف‌های فهرستی ---------- */
.sk-list-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px;
    border: 1px solid #eef2f5;
    border-radius: 14px;
    background: #fff;
    min-width: 0;
}
.sk-list-item-column { flex-direction: column; align-items: stretch; gap: 8px; }
.sk-list-lines { display: grid; flex: 1 1 auto; gap: 7px; min-width: 0; }

/* ---------- گفت‌وگو ---------- */
.sk-thread { display: grid; gap: 10px; padding: 4px 0; }
.sk-bubble { height: 38px; width: 64%; border-radius: 14px; }
.sk-bubble.is-mine { margin-inline-start: auto; }
.sk-bubble.is-other { margin-inline-end: auto; }

/* ---------- دسته‌بندی ---------- */
.sk-tile { min-height: 64px; border-radius: 14px; }
.sk-explorer { display: grid; gap: 10px; padding: 0 0 6px; }
.sk-explorer-hero { height: 74px; border-radius: 18px; }
.sk-explorer-search { height: 40px; border-radius: 12px; }
.sk-explorer-grid { gap: 8px; }

/* ---------- پروفایل / آمار ---------- */
.sk-profile-hero { height: 128px; border-radius: 18px; }
.sk-profile-hero-small { height: 84px; }
.sk-stat { height: 74px; border-radius: 14px; }

/* ---------- کیف پول ---------- */
.sk-balance { height: 132px; border-radius: 18px; }

/* ---------- فروشگاه ---------- */
.sk-store-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #eef2f5;
    border-radius: 16px;
    background: #fff;
    min-width: 0;
}
.sk-store-cover {
    height: 64px;
    border-radius: 0;
    background-color: #e6f2ef;
    background-image: linear-gradient(120deg, #e2f4f0, #eef1ff 65%, #fff2e2);
}
.sk-store-body { display: grid; gap: 8px; padding: 10px; }
.sk-product-media { height: 108px; border-radius: 0; }

/* ---------- فرم ---------- */
.sk-form-page { gap: 12px; }
.sk-field { display: grid; gap: 7px; }
.sk-input { height: 44px; border-radius: 12px; }

/* ---------- هم‌خوانی با صفحات تمام‌عرض ---------- */
#mainContent > .sk-page { padding: 16px; }
#adsSlider > .sk-ad-card { flex: 0 0 210px; min-width: 210px; }
#categoriesGrid > .sk-tile { border-radius: 16px; }

@media (max-width: 380px) {
    .sk-grid-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .sk-bubble { width: 76%; }
}
