/* ====================== لپ‌تاپ کوچک ====================== */
@media (min-width: 1181px) {                 /* منوی ادمین/مشاور لینک زیاد دارد؛ بدون این، در ۱۲۸۰ و ۱۳۶۶ سرریز می‌شد */
    .nav-content { gap: 10px; }
    .nav-links li { padding: 0 8px; }
    .nav-links a:not(.btn-primary), .nav-links .link-btn { font-size: 0.86rem; }
    .nav-links .btn-primary { padding: 6px 14px; font-size: 0.88rem; }
    .nav-upgrade, .agent-chip { padding: 3px 9px; font-size: 0.82rem !important; }
    .logo { font-size: 1.3rem; }
}
@media (max-width: 1280px) {
    .nav-links li { padding: 0 6px; }
    .nav-links a:not(.btn-primary), .nav-links .link-btn { font-size: 0.82rem; }
}

/* ====================== منوی همبرگری (انیمیشنی، روی صفحه) ====================== */
@media (max-width: 1180px) {
    .nav-content { min-height: 60px; }
    .nav-toggle { display: flex; }
    /* بالای صفحه (موبایل / تبلت): «ثبت آگهی» همیشه کنار همبرگری دیده می‌شود، بقیه‌ی منو داخل همبرگری است */
    .nav-actions-mobile { display: flex; align-items: center; gap: 10px; }
    .nav-add { padding: 7px 14px; font-size: 0.9rem; white-space: nowrap; }
    .nav-links li.nav-cta { display: none; }
    /* صفحه‌های داخلی: به‌جای لوگو یک فلش «→ آگهی‌ها» */
    body[data-inner] .logo { display: none; }
    body[data-inner] .nav-back { display: inline-flex; align-items: center; gap: 4px; color: var(--gold-solid); text-decoration: none; font-weight: 700; padding: 8px 4px; }

    /* منو روی محتوا باز می‌شود (position:absolute) پس صفحه‌ی اصلی اصلاً تکان نمی‌خورد */
    .site-nav {
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        background: var(--primary-color);
        border-top: 1px solid rgba(212, 175, 55, 0.35);
        box-shadow: 0 16px 24px rgba(0, 0, 0, 0.28);
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        visibility: hidden;
        transition: max-height 0.45s ease, opacity 0.3s ease, visibility 0s linear 0.45s;
    }
    .site-nav.open {
        max-height: 85vh;
        overflow-y: auto;
        opacity: 1;
        visibility: visible;
        transition: max-height 0.45s ease, opacity 0.3s ease, visibility 0s;
    }

    /* خط‌های جداکننده افقی می‌شوند */
    .nav-links { flex-direction: column; align-items: stretch; padding: 4px 18px 14px; }
    .nav-links li {
        padding: 13px 4px;
        border-inline-start: none;
        border-top: 1px solid rgba(255, 255, 255, 0.16);
        opacity: 0;
        transform: translateY(-10px);
        transition: opacity 0.3s ease, transform 0.3s ease;
    }
    .nav-links li:first-child { padding-inline-start: 4px; border-top: none; }
    .nav-links li:last-child { padding-inline-end: 4px; }
    .site-nav.open .nav-links li { opacity: 1; transform: none; }
    .site-nav.open .nav-links li:nth-child(1) { transition-delay: 0.05s; }
    .site-nav.open .nav-links li:nth-child(2) { transition-delay: 0.09s; }
    .site-nav.open .nav-links li:nth-child(3) { transition-delay: 0.13s; }
    .site-nav.open .nav-links li:nth-child(4) { transition-delay: 0.17s; }
    .site-nav.open .nav-links li:nth-child(5) { transition-delay: 0.21s; }
    .site-nav.open .nav-links li:nth-child(6) { transition-delay: 0.25s; }
    .site-nav.open .nav-links li:nth-child(7) { transition-delay: 0.29s; }
    .site-nav.open .nav-links li:nth-child(8) { transition-delay: 0.33s; }

    .nav-links a:not(.btn-primary), .nav-links .link-btn { font-size: 1rem; width: 100%; text-align: right; }
    .nav-upgrade, .agent-chip { display: inline-block; width: auto !important; }
    .nav-links li.nav-cta .btn-primary { width: 100%; padding: 11px; }
    .inline-form { width: 100%; }
}

/* ====================== موبایل ====================== */
@media (max-width: 768px) {
    .hero-section { padding: 26px 0 18px; }
    .hero-section h1 { font-size: 1.5rem; }
    .search-bar { flex-direction: column; border-radius: 15px; padding: 14px; }
    .search-bar input { text-align: center; margin-bottom: 10px; }
    .search-bar .btn-primary { width: 100%; border-radius: 8px; }

    .form-container { padding: 22px; margin: 20px auto; }
    .form-row { grid-template-columns: 1fr; gap: 0; }

    /* ---- لیست آگهی‌ها مثل دیوار: هر آگهی یک ردیف بین دو خط ----
       عکس سمت چپ؛ متن‌ها سمت راست: عنوان / مشخصات / محل / قیمت (مشکی) */
    .listings-grid {
        display: block;
        background: #fff;
        border-top: 1px solid #C5D1DC;
        border-radius: 12px;
        overflow: hidden;
        margin-bottom: 60px;
    }
    .listing-card {
        flex-direction: row-reverse;
        align-items: stretch;
        gap: 12px;
        padding: 12px 14px;
        min-height: 142px;
        border: none;
        border-bottom: 1px solid #C5D1DC;
        border-radius: 0;
        box-shadow: none;
        background: #fff;
    }
    .listing-card:hover { transform: none; box-shadow: none; }

    .card-media { width: 118px; height: 118px; flex-shrink: 0; align-self: center; border-radius: 10px; overflow: hidden; }
    .card-category { display: none !important; }
    .card-photos { bottom: 4px; left: 4px; font-size: 0.68rem; }

    /* صفحه‌ی مشاور / ادمین */
    .agent-cover { height: 130px; }
    .agent-head { padding: 0 14px 18px; }
    .agent-avatar { width: 92px; height: 92px; margin-top: -46px; font-size: 2rem; }
    .plans-admin { grid-template-columns: 1fr; }
    .admin-row-actions { width: 100%; }
    .inline-act { flex-wrap: wrap; width: 100%; }
    .inline-act input[type=text] { flex: 1; width: auto; }
    .footer-inner { flex-direction: column; }
    .map-box { height: 280px; }
    .c-replies { margin-right: 24px; }
    .bookmark-btn { top: 6px; left: 6px; width: 30px; height: 30px; font-size: 0.9rem; }

    .card-body { padding: 0; min-width: 0; }
    .card-title {
        order: 1; font-size: 0.98rem; margin: 0 0 4px; line-height: 1.6;
        display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    }
    .card-chips { order: 2; margin: 0 0 3px; gap: 0; }
    .card-chips span { background: none; padding: 0; font-size: 0.82rem; color: var(--text-muted); font-weight: 500; }
    .card-chips span + span::before { content: '·'; margin: 0 6px; }
    .card-location { order: 3; margin: 0 0 6px; font-size: 0.82rem; }
    .price-block { order: 4; margin: auto 0 0; padding: 0; border: none; gap: 1px; }
    .price-line { justify-content: flex-start; gap: 6px; }
    .pl-label { font-size: 0.78rem; }
    .pl-value { font-size: 0.98rem; }
    .card-footer { display: none; }

    /* جزئیات */
    .detail-container { padding: 15px; }
    .detail-grid { grid-template-columns: 1fr; gap: 20px; }
    .detail-carousel { height: 250px; }
    .detail-title { font-size: 1.35rem; }

    /* آگهی‌های من */
    .my-listing { flex-wrap: wrap; }
    .my-listing-actions { width: 100%; justify-content: flex-start; }
    .upgrade-banner { padding: 18px; }

    /* ویزارد */
    .wizard-container { padding: 18px; margin: 14px auto; }
    .category-grid { gap: 10px; }
    .category-card { padding: 14px 8px; }
    .wizard-actions button { min-width: 0; flex: 1; padding: 11px 8px; }
    .chip span { padding: 8px 14px; }

    /* دستیار و لیست بررسی */
    .fab { top: 70px; left: 10px; padding: 8px 13px; font-size: 0.85rem; }
    .sheet-panel { height: 92vh; height: 92dvh; border-radius: 0 0 18px 18px; }
    .sheet-body { padding: 12px; }
    .result-thumb { width: 84px; height: 84px; }
}

@media (min-width: 769px) {
    .category-grid { grid-template-columns: repeat(4, 1fr); }
}

/* ====================== تکمیل ریسپانسیو (همه‌ی صفحه‌ها) ====================== */
html { -webkit-text-size-adjust: 100%; }
body { overflow-x: clip; }
img, video, iframe, canvas, svg { max-width: 100%; }
.page-main, .container { min-width: 0; }
.admin-row-info, .card-body, .bubble, .faq-title { min-width: 0; }
.admin-table td, .admin-table th { overflow-wrap: anywhere; }
.admin-table .nowrap { overflow-wrap: normal; }

/* تبلت و لپ‌تاپ کوچک */
@media (max-width: 1024px) {
    .container { padding: 0 16px; }
    .detail-grid { grid-template-columns: 1fr; gap: 22px; }
    .plans-admin, .admin-two-col { grid-template-columns: 1fr; }
    .chart-wrap { height: 240px; }
    .form-container { max-width: 100%; }
}

/* موبایل */
@media (max-width: 768px) {
    .container { padding: 0 12px; }
    .section-title { font-size: 1.25rem; }
    .form-container { padding: 18px 16px; margin: 14px auto; border-radius: 14px; }
    .form-group input, .form-group textarea, .form-group select, .pw-field input,
    .admin-filter input, .admin-filter select, .search-bar input { font-size: 16px; }     /* جلوگیری از زوم خودکار iOS */
    .btn-primary, .btn-outline, .btn-danger { min-height: 44px; }
    .btn-sm { min-height: 36px; }

    /* ادمین */
    .admin-nav { flex-wrap: nowrap; overflow-x: auto; gap: 6px; padding-bottom: 6px; margin-inline: -12px; padding-inline: 12px; scrollbar-width: none; }
    .admin-nav::-webkit-scrollbar { display: none; }
    .admin-nav a { white-space: nowrap; flex: 0 0 auto; padding: 7px 14px; }
    .admin-filter { flex-direction: column; align-items: stretch; }
    .admin-filter input[type=text] { min-width: 0; }
    .admin-row { padding: 12px; gap: 10px; }
    .admin-row-info { min-width: 0; flex-basis: 100%; }
    .admin-row-actions { flex-direction: row; flex-wrap: wrap; align-items: center; }
    .support-meta { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 8px; }
    .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .stat-card { padding: 14px 10px; }
    .chart-card { padding: 12px; }
    .chart-controls { gap: 8px; }
    .chart-controls .seg { max-width: 100%; overflow-x: auto; }
    .seg button, .seg-link { padding: 7px 12px; white-space: nowrap; }
    .chart-controls label { flex: 1 1 140px; }
    .chart-controls input[type=date] { flex: 1; min-width: 0; }
    .chart-wrap { height: 210px; }
    .alias-form input[type=text] { flex: 1 1 100%; }
    .user-card { grid-template-columns: 1fr 1fr; }
    .user-card-actions { grid-column: 1 / -1; }
    .charge-row { grid-template-columns: 1fr; }

    /* جدول پرداخت‌ها در موبایل: هر ردیف یک کارت */
    .pay-table, .pay-table tbody, .pay-table tr, .pay-table td { display: block; width: 100%; }
    .pay-table thead { display: none; }
    .pay-table tr { padding: 10px 12px; border-top: 1px solid #EEF2F6; }
    .pay-table td { border: none; padding: 3px 0; display: flex; justify-content: space-between; gap: 12px; }
    .pay-table td::before { content: attr(data-label); color: var(--text-muted); font-size: 0.82rem; flex: 0 0 auto; }
    .pay-table td[colspan] { display: block; }
    .pay-table td[colspan]::before { content: none; }
}

@media (max-width: 380px) {
    .stats-grid { grid-template-columns: 1fr 1fr; }
    .stat-number { font-size: 1.4rem; }
    .logo { font-size: 1.15rem; }
    .nav-add { padding: 6px 10px; font-size: 0.82rem; }
}
