/* Start custom CSS for html, class: .elementor-element-9ee3888 *//* === موبایل فیکس — اضافه بشه به انتهای <style> === */

html, body {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100vw !important;
}

/* المان‌های fixed/atmo که overflow ایجاد می‌کنن */
.atmo,
.atmo::before,
.atmo::after,
.grid-bg,
.grain {
    max-width: 100vw !important;
    overflow: hidden !important;
}

/* hero pseudo-element */
.hero::before {
    max-width: 90vw !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}

/* cta pseudo-element */
.cta::before {
    right: -10% !important;
    max-width: 200px !important;
    width: 200px !important;
    height: 200px !important;
}

/* toc pseudo-element */
.toc::before {
    width: 150px !important;
    height: 150px !important;
}

/* باکس‌ها و کارت‌ها */
.hbox,
.topic-card,
.tip-card,
.sign-card,
.danger-item,
.step,
.era-card,
.cmp-card,
.room-item,
.scam-card,
.faq-item {
    max-width: 100% !important;
    overflow: hidden !important;
}

/* جدول زمانی */
.timeline::before {
    right: 17px !important;
}

/* wrap اصلی */
.wrap {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

/* فوتر و ناو */
.nav-in {
    max-width: 100% !important;
    overflow: hidden !important;
}

/* بلوک‌کوتاه و نقل‌قول */
.art blockquote {
    max-width: 100% !important;
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    word-break: break-word !important;
}

/* متن‌های طولانی */
.art p,
.art li,
.faq-a-inner,
.hbox p,
.tl-body p,
.step-body p {
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    word-break: break-word !important;
}

/* گرید روی موبایل تک‌ستونه */
@media (max-width: 640px) {
    *,
    *::before,
    *::after {
        max-width: 100vw !important;
    }

    .atmo::before {
        width: 300px !important;
        height: 300px !important;
        right: -10% !important;
        top: -5% !important;
    }

    .atmo::after {
        width: 250px !important;
        height: 250px !important;
        left: -10% !important;
        bottom: -5% !important;
    }

    .hero::before {
        width: 300px !important;
        height: 250px !important;
    }

    .cmp-grid,
    .era-grid {
        grid-template-columns: 1fr !important;
    }

    .danger-grid,
    .sign-grid,
    .tip-grid,
    .rule-grid,
    .scam-grid {
        grid-template-columns: 1fr !important;
    }

    .art h1 {
        word-break: break-word !important;
        overflow-wrap: break-word !important;
    }

    /* hero از overflow جلوگیری کنه */
    .hero {
        overflow: hidden !important;
    }

    /* CTA از overflow جلوگیری کنه */
    .cta {
        overflow: hidden !important;
    }

    /* badge موبایل */
    .badge {
        font-size: 10.5px !important;
        padding: 6px 14px !important;
    }

    /* meta-row */
    .meta-row {
        gap: 14px !important;
    }

    .meta-tag {
        font-size: 11px !important;
    }

    /* audience tabs */
    .audience-tabs {
        flex-wrap: wrap !important;
        gap: 8px !important;
    }

    .aud-tab {
        padding: 8px 20px !important;
        font-size: 12px !important;
    }

    /* topic card */
    .topic-header {
        flex-wrap: wrap !important;
    }

    /* nav logo */
    .logo-sub {
        display: none !important;
    }

    /* step number */
    .step-num {
        min-width: 36px !important;
        height: 36px !important;
        font-size: 13px !important;
    }

    /* timeline dot */
    .tl-dot {
        min-width: 34px !important;
        height: 34px !important;
        font-size: 10px !important;
    }
}/* End custom CSS */