/**
 * Mobile Enhancements - BuySellCy
 * Clean, Minimal mobile experience
 * Brand Colors: #1d283a (navy), #f59e0b (accent), #f4f7f9 (bg), #fff (white)
 * 
 * Design Philosophy: 
 * - Minimal & Clean (χωρίς βαρύτητα)
 * - Έντονα χρώματα μόνο σε key actions
 * - Touch-friendly (44px minimum)
 * - Compact & Fast
 */

/* ========================================================================
   MOBILE-ONLY STYLES (max-width: 991px)
   ======================================================================== */

/* Reset body padding for full-width mobile experience */
@media (max-width: 991px) {
    body {
        padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); /* Space for bottom nav */
    }

    /* When the Brand/Model picker is open, lock background scroll */
    body.page-listing.brand-model-dropdown-open {
        overflow: hidden;
    }
    
    /* Minimal container padding */
    .container {
        padding-left: 12px;
        padding-right: 12px;
    }
    
    /* Hide desktop navbar toggler on mobile */
    .navbar-toggler {
        display: none !important;
    }

    /* Toastr notifications: don't cover the mobile header */
    #toast-container {
        top: calc(60px + env(safe-area-inset-top, 0px)) !important;
        left: 12px !important;
        right: 12px !important;
        width: auto !important;
    }

    #toast-container > div {
        width: 100% !important;
        max-width: none !important;
        box-shadow: none !important;
        border-radius: 12px !important;
    }

    /* Listing page: mobile header search is the primary search UI */
}

/* ========================================================================
   MESSAGES (Mobile) - Minimal messenger-like UI
   ======================================================================== */
@media (max-width: 991px) {
    body.page-messages {
        background: #fff;
    }

    /* Remove non-essential top sections on mobile */
    body.page-messages .breadcrumb-section,
    body.page-messages .hero-section,
    body.page-messages section.py-4.bg-light.border-bottom,
    body.page-messages main.container.py-5 > .row.mb-5 {
        display: none !important;
    }

    /* Full-width app layout */
    body.page-messages main.container {
        max-width: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    body.page-messages .saved-ad-card {
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    body.page-messages .saved-ad-card:hover {
        box-shadow: none !important;
        border-color: transparent !important;
    }

    /* App viewport (below sticky header, above bottom nav) */
    body.page-messages .saved-ad-card .row.g-0 {
        min-height: 0 !important;
        height: calc(100dvh - 60px - (56px + env(safe-area-inset-bottom, 0px)) - env(safe-area-inset-top, 0px));
    }

    /* Two "screens": list and chat */
    body.page-messages .messages-sidebar,
    body.page-messages .messages-chat {
        height: 100%;
        min-height: 0;
    }

    body.page-messages .messages-sidebar {
        display: flex;
        flex-direction: column;
    }

    body.page-messages .messages-chat {
        display: none;
    }

    body.page-messages.messages-chat-open .messages-sidebar {
        display: none !important;
    }

    body.page-messages.messages-chat-open .messages-chat {
        display: flex !important;
        flex-direction: column;
        min-height: 0;
    }

    /* Sidebar header */
    body.page-messages .messages-sidebar .p-4 {
        padding: 12px !important;
        background: #fff !important;
        border-bottom: 1px solid #e5e7eb !important;
    }

    body.page-messages .messages-sidebar h3 {
        font-size: 14px !important;
        margin: 0 !important;
    }

    body.page-messages .messages-sidebar p {
        margin: 2px 0 0 !important;
    }

    body.page-messages .conversations-list {
        flex: 1;
        max-height: none !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
        background: #fff;
    }

    body.page-messages .conversation-item {
        padding: 12px 14px !important;
        border-bottom: 1px solid #f1f5f9 !important;
    }

    body.page-messages .conversation-item.active {
        border-left: none !important;
        background: #f8fafc !important;
    }

    body.page-messages .conversation-ad-ref {
        display: none !important;
    }

    body.page-messages .conversation-avatar img {
        width: 44px !important;
        height: 44px !important;
        border: none !important;
    }

    /* Chat header */
    body.page-messages .messages-chat > .p-3 {
        padding: 10px 12px !important;
        background: #fff !important;
        border-bottom: 1px solid #e5e7eb !important;
    }

    body.page-messages .mobile-chat-back {
        width: 36px;
        height: 36px;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        border-radius: 10px;
        color: #1d283a;
        text-decoration: none;
    }

    body.page-messages .mobile-chat-back:active {
        background: rgba(29, 40, 58, 0.06);
        transform: scale(0.96);
    }

    /* Messages scroll area + input */
    body.page-messages .messages-container {
        flex: 1;
        height: auto !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
        background: #fff;
        min-height: 0;
    }

    body.page-messages .messages-container .p-4 {
        padding: 12px !important;
    }

    body.page-messages .messages-chat .border-top.bg-light {
        background: #fff !important;
        border-top: 1px solid #e5e7eb !important;
        padding: 10px 12px !important;
    }

    body.page-messages .messages-chat .form-text {
        display: none !important;
    }

    body.page-messages .message-input-group {
        border: 1px solid #e5e7eb !important;
        border-radius: 999px !important;
    }

    body.page-messages .message-input-group textarea {
        font-size: 16px !important; /* iOS no-zoom */
        padding: 10px 12px !important;
    }

    /* Messenger-like bubbles (mobile only) */
    body.page-messages .message-bubble {
        max-width: 78% !important;
        padding: 10px 12px !important;
        border-radius: 18px !important;
    }

    body.page-messages .message-sent .message-bubble {
        background: #2563eb !important;
        color: #fff !important;
        border-bottom-right-radius: 6px !important;
    }

    body.page-messages .message-received .message-bubble {
        background: #f1f5f9 !important;
        color: #0f172a !important;
        border-bottom-left-radius: 6px !important;
    }

    body.page-messages .message-time {
        font-size: 11px !important;
        opacity: 0.65 !important;
    }
}

/* ========================================================================
   SAVED (Mobile) - Favorites + Saved Searches tabs
   ======================================================================== */
@media (max-width: 991px) {
    body.page-saved {
        background: #fff;
    }

    /* Hide heavy desktop sections on mobile */
    body.page-saved .breadcrumb-section,
    body.page-saved .hero-section,
    body.page-saved section.py-4.bg-light.border-bottom,
    body.page-saved main.container.py-4,
    body.page-saved main.container.py-5,
    body.page-saved .container.mt-3 {
        display: none !important;
    }

    body.page-saved .saved-mobile {
        display: block;
        background: #fff;
        padding: 0;
        margin: 0;
    }

    body.page-saved .saved-mobile-tabs {
        background: #fff;
        padding: 10px 12px;
        border-bottom: 1px solid #e5e7eb;
        display: flex;
        gap: 8px;
    }

    body.page-saved .saved-mobile-tab {
        flex: 1;
        height: 38px;
        border-radius: 999px;
        border: 1px solid #e5e7eb;
        background: #f8fafc;
        color: #1d283a;
        font-size: 13px;
        font-weight: 700;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 0 12px;
        white-space: nowrap;
    }

    body.page-saved .saved-mobile-tab.active {
        background: #1d283a;
        border-color: #1d283a;
        color: #fff;
    }

    body.page-saved .saved-mobile-tab i {
        font-size: 16px;
        line-height: 1;
    }

    body.page-saved .saved-mobile-panel {
        display: none;
        padding: 12px;
    }

    body.page-saved .saved-mobile-panel.active {
        display: block;
    }

    body.page-saved .saved-mobile-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    body.page-saved .saved-mobile-card-wrap {
        position: relative;
    }

    body.page-saved .saved-mobile-card {
        display: block;
        text-decoration: none;
        color: inherit;
        border: 1px solid #e5e7eb;
        border-radius: 12px;
        overflow: hidden;
        background: #fff;
    }

    body.page-saved .saved-mobile-thumb {
        width: 100%;
        aspect-ratio: 1 / 1;
        background: #f1f5f9;
        overflow: hidden;
    }

    body.page-saved .saved-mobile-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    body.page-saved .saved-mobile-card-meta {
        padding: 8px;
        display: flex;
        flex-direction: column;
        gap: 4px;
        min-height: 56px;
    }

    body.page-saved .saved-mobile-card-title {
        font-size: 13px;
        font-weight: 600;
        line-height: 1.2;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.page-saved .saved-mobile-card-price {
        font-size: 14px;
        font-weight: 800;
        color: #059669;
    }

    body.page-saved .saved-mobile-remove {
        position: absolute;
        top: 8px;
        right: 8px;
        width: 30px;
        height: 30px;
        border-radius: 999px;
        border: 1px solid rgba(15, 23, 42, 0.12);
        background: rgba(255, 255, 255, 0.96);
        color: #ef4444;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0;
    }

    body.page-saved .saved-mobile-remove:active {
        transform: scale(0.95);
    }

    body.page-saved .saved-mobile-note {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 10px 12px;
        background: #f8fafc;
        border: 1px solid #e5e7eb;
        border-radius: 12px;
        margin-bottom: 12px;
        font-size: 13px;
    }

    body.page-saved .saved-mobile-cta {
        text-decoration: none;
        font-weight: 800;
        color: #1d283a;
        background: #f59e0b;
        padding: 8px 10px;
        border-radius: 10px;
        white-space: nowrap;
    }

    body.page-saved .saved-mobile-empty {
        padding: 18px 12px;
        text-align: center;
        border: 1px dashed #e5e7eb;
        border-radius: 12px;
        background: #fff;
    }

    body.page-saved .saved-mobile-empty-icon {
        font-size: 28px;
        color: #94a3b8;
        margin-bottom: 8px;
    }

    body.page-saved .saved-mobile-empty-title {
        font-weight: 800;
        color: #0f172a;
        margin-bottom: 6px;
    }

    body.page-saved .saved-mobile-empty-text {
        color: #64748b;
        font-size: 13px;
        margin-bottom: 12px;
    }

    body.page-saved .saved-mobile-primary-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        height: 40px;
        padding: 0 14px;
        border-radius: 12px;
        background: #1d283a;
        color: #fff;
        text-decoration: none;
        font-weight: 800;
        font-size: 13px;
    }

    body.page-saved .saved-mobile-secondary-btn {
        width: calc(100% - 24px);
        margin: 12px 12px 0;
        height: 40px;
        border-radius: 12px;
        border: 1px solid #e5e7eb;
        background: #fff;
        color: #1d283a;
        font-weight: 800;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
    }

    body.page-saved .saved-searches-mobile-list {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    body.page-saved .saved-search-item {
        border: 1px solid #e5e7eb;
        border-radius: 12px;
        background: #fff;
        padding: 10px 12px;
    }

    body.page-saved .saved-search-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
    }

    body.page-saved .saved-search-name {
        font-weight: 800;
        font-size: 13px;
        color: #0f172a;
        line-height: 1.2;
        max-width: 54vw;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.page-saved .saved-search-sub {
        font-size: 12px;
        color: #64748b;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        margin-top: 2px;
    }

    body.page-saved .saved-search-status {
        font-weight: 800;
    }

    body.page-saved .saved-search-status.is-active {
        color: #059669;
    }

    body.page-saved .saved-icon-btn {
        width: 36px;
        height: 36px;
        border-radius: 12px;
        border: 1px solid #e5e7eb;
        background: #fff;
        color: #1d283a;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0;
    }

    body.page-saved .saved-icon-btn:active {
        transform: scale(0.95);
        background: #f8fafc;
    }

    body.page-saved .saved-mobile-empty-inline {
        padding: 12px;
        text-align: center;
        color: #64748b;
        border: 1px dashed #e5e7eb;
        border-radius: 12px;
        background: #fff;
    }
}

/* ========================================================================
   PROFILE (Mobile) - Minimal app-like profile screen
   ======================================================================== */
@media (max-width: 991px) {
    body.page-profile {
        background: #fff;
    }

    /* Save space: profile doesn't need header search */
    body.page-profile .mobile-search-bar {
        display: none !important;
    }

    /* Hide heavy desktop sections on mobile */
    body.page-profile .breadcrumb-section,
    body.page-profile .hero-section,
    body.page-profile section.py-4.bg-light.border-bottom,
    body.page-profile section.pt-3,
    body.page-profile main.container.py-5 {
        display: none !important;
    }

    /* In edit mode, show the form but keep it compact */
    body.page-profile.profile-edit-open main.container.py-5 {
        display: block !important;
        max-width: none !important;
        padding: 12px !important;
        margin: 0 !important;
    }

    body.page-profile.profile-edit-open main.container.py-5 > .row.g-5 {
        --bs-gutter-y: 12px;
        --bs-gutter-x: 12px;
    }

    /* Hide right sidebar cards on mobile edit */
    body.page-profile.profile-edit-open main.container.py-5 .row.g-5 > .col-lg-4 {
        display: none !important;
    }
    body.page-profile.profile-edit-open main.container.py-5 .row.g-5 > .col-lg-8 {
        width: 100% !important;
        max-width: none !important;
    }

    body.page-profile.profile-edit-open main.container.py-5 .card-header {
        padding: 12px !important;
    }
    body.page-profile.profile-edit-open main.container.py-5 .card-body {
        padding: 12px !important;
    }
    body.page-profile.profile-edit-open main.container.py-5 .btn.btn-lg {
        width: 100% !important;
    }

    body.page-profile .profile-mobile {
        display: block;
        padding: 12px;
    }

    body.page-profile .profile-mobile-top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 10px 12px;
        border: 1px solid #e5e7eb;
        border-radius: 14px;
        background: #fff;
    }

    body.page-profile .profile-mobile-user {
        display: flex;
        align-items: center;
        gap: 10px;
        min-width: 0;
    }

    body.page-profile .profile-mobile-avatar {
        width: 44px;
        height: 44px;
        border-radius: 999px;
        object-fit: cover;
        border: 1px solid #e5e7eb;
        flex: 0 0 auto;
    }

    body.page-profile .profile-mobile-user-meta {
        min-width: 0;
    }

    body.page-profile .profile-mobile-name {
        font-weight: 900;
        color: #0f172a;
        font-size: 14px;
        line-height: 1.2;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 62vw;
    }

    body.page-profile .profile-mobile-username {
        font-size: 12px;
        color: #64748b;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 62vw;
    }

    body.page-profile .profile-mobile-edit {
        width: 40px;
        height: 40px;
        border-radius: 12px;
        border: 1px solid #e5e7eb;
        background: #f8fafc;
        color: #1d283a;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        text-decoration: none;
    }

    body.page-profile .profile-mobile-warning {
        margin-top: 10px;
        padding: 10px 12px;
        border-radius: 14px;
        border: 1px solid rgba(239, 68, 68, 0.25);
        background: rgba(239, 68, 68, 0.06);
        color: #991b1b;
        display: flex;
        align-items: center;
        gap: 10px;
        font-weight: 700;
        font-size: 13px;
    }

    body.page-profile .profile-mobile-grid {
        margin-top: 12px;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    body.page-profile .profile-mobile-tile {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 12px;
        border: 1px solid #e5e7eb;
        border-radius: 14px;
        background: #fff;
        text-decoration: none;
        color: #0f172a;
        font-weight: 900;
        font-size: 13px;
        min-height: 52px;
    }

    body.page-profile .profile-mobile-tile i {
        font-size: 18px;
        color: #1d283a;
        line-height: 1;
    }

    body.page-profile .profile-mobile-list {
        margin-top: 12px;
        border: 1px solid #e5e7eb;
        border-radius: 14px;
        overflow: hidden;
        background: #fff;
    }

    body.page-profile .profile-mobile-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 12px;
        text-decoration: none;
        color: #0f172a;
        font-weight: 900;
        font-size: 13px;
        border-bottom: 1px solid #f1f5f9;
    }

    body.page-profile .profile-mobile-row:last-child {
        border-bottom: none;
    }

    body.page-profile .profile-mobile-row--danger {
        color: #991b1b;
        background: rgba(239, 68, 68, 0.04);
    }

    body.page-profile .profile-mobile-editbar {
        position: sticky;
        top: calc(60px + env(safe-area-inset-top, 0px));
        z-index: 1012;
        background: #fff;
        border: 1px solid #e5e7eb;
        border-radius: 14px;
        padding: 10px 12px;
        display: flex;
        align-items: center;
        gap: 12px;
        margin-bottom: 10px;
    }

    body.page-profile .profile-mobile-back {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        text-decoration: none;
        color: #1d283a;
        font-weight: 900;
        font-size: 13px;
    }

    body.page-profile .profile-mobile-edit-title {
        font-weight: 900;
        font-size: 13px;
        color: #0f172a;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

/* ========================================================================
   LISTING DETAIL PAGE (Mobile) - Minimal essentials only
   ======================================================================== */
@media (max-width: 991px) {
    body.page-listing-detail {
        background: #fff;
        /* Extra space: bottom nav + fixed contact bar */
        padding-bottom: calc(128px + env(safe-area-inset-bottom, 0px));
    }

    /* Save space: ad page doesn't need header search */
    body.page-listing-detail .mobile-search-bar {
        display: none !important;
    }

    /* Hide breadcrumbs (mobile app-like) */
    body.page-listing-detail .breadcrumb-section {
        display: none !important;
    }

    /* Compact hero */
    body.page-listing-detail .listing-hero-redesign {
        padding: 10px 0 !important;
        background: #fff !important;
        border-bottom: 1px solid #e5e7eb;
    }

    body.page-listing-detail .listing-title-main {
        font-size: 16px !important;
        line-height: 1.25 !important;
        margin: 0 !important;
    }

    body.page-listing-detail .listing-meta-pills {
        flex-wrap: nowrap !important;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        gap: 6px !important;
        padding-bottom: 2px;
    }

    body.page-listing-detail .listing-meta-pills .meta-pill {
        white-space: nowrap;
        font-size: 12px;
        padding: 6px 10px;
        border-radius: 999px;
        background: #f8fafc;
        border: 1px solid #e5e7eb;
    }

    body.page-listing-detail .listing-meta-pills .meta-pill-action,
    body.page-listing-detail .listing-meta-pills .meta-pill--aux,
    body.page-listing-detail .listing-meta-pills .meta-pill.featured {
        display: none !important;
    }

    /* Mobile price + save icon */
    body.page-listing-detail .listing-mobile-topbar {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 10px;
        margin-top: 6px;
    }

    body.page-listing-detail .listing-mobile-price-main {
        font-size: 18px;
        font-weight: 900;
        color: #0f172a;
    }

    body.page-listing-detail .listing-mobile-price-sub {
        font-size: 12px;
        color: #64748b;
        margin-top: 2px;
    }

    body.page-listing-detail .listing-mobile-icon-btn {
        width: 40px;
        height: 40px;
        border-radius: 12px;
        border: 1px solid #e5e7eb;
        background: #fff;
        color: #1d283a;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        flex: 0 0 auto;
    }

    body.page-listing-detail .listing-mobile-icon-btn:active {
        transform: scale(0.95);
        background: #f8fafc;
    }

    body.page-listing-detail .listing-mobile-save-btn i {
        font-size: 18px;
        color: #ef4444;
        line-height: 1;
    }

    /* Tighten main spacing */
    body.page-listing-detail main.container {
        padding-top: 12px !important;
        padding-bottom: 0 !important;
    }

    body.page-listing-detail main.container > .row.g-4 {
        --bs-gutter-y: 12px;
        --bs-gutter-x: 12px;
    }

    /* Hide heavy sidebar on mobile (we show seller row + contact bar instead) */
    body.page-listing-detail main.container > .row.g-4 > .col-lg-4 {
        display: none !important;
    }

    /* Cards: flatter & tighter */
    body.page-listing-detail main.container .card {
        border-radius: 14px;
        border: 1px solid #e5e7eb;
        box-shadow: none !important;
    }

    body.page-listing-detail main.container .card-header {
        padding: 10px 12px !important;
    }

    body.page-listing-detail main.container .card-body {
        padding: 12px !important;
    }

    /* Gallery edge-to-edge */
    body.page-listing-detail .listing-gallery-card {
        border: none !important;
        border-radius: 0 !important;
        margin-left: -12px;
        margin-right: -12px;
    }

    body.page-listing-detail .listing-gallery-card .card-body {
        padding: 0 !important;
    }

    body.page-listing-detail .main-image-redesign {
        width: 100%;
        aspect-ratio: 1 / 1;
        object-fit: cover;
        display: block;
    }

    body.page-listing-detail .thumbnails-wrapper {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding: 10px 12px;
    }

    body.page-listing-detail .thumbnail-redesign {
        flex: 0 0 auto;
        width: 64px;
        height: 64px;
        border-radius: 14px;
        overflow: hidden;
    }

    body.page-listing-detail .thumbnail-redesign img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    /* Description clamp (expandable) */
    body.page-listing-detail .description-text {
        font-size: 14px;
        line-height: 1.45;
    }

    body.page-listing-detail:not(.listing-desc-expanded) .description-text {
        display: -webkit-box;
        -webkit-line-clamp: 6;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    body.page-listing-detail .listing-desc-toggle {
        margin-top: 10px;
        border: none;
        background: transparent;
        color: #1d283a;
        font-weight: 900;
        font-size: 13px;
        padding: 0;
    }

    body.page-listing-detail .listing-desc-toggle:active {
        opacity: 0.7;
    }

    /* Hide non-essential sections on mobile */
    body.page-listing-detail .listing-safety-card,
    body.page-listing-detail .listing-share-card,
    body.page-listing-detail .listing-other-listings-card,
    body.page-listing-detail .listing-similar-section {
        display: none !important;
    }

    /* Mobile seller row */
    body.page-listing-detail .listing-mobile-seller-row {
        display: flex;
        align-items: center;
        gap: 10px;
        text-decoration: none;
        color: #0f172a;
    }

    body.page-listing-detail .listing-mobile-seller-avatar {
        width: 44px;
        height: 44px;
        border-radius: 999px;
        object-fit: cover;
        border: 1px solid #e5e7eb;
        flex: 0 0 auto;
    }

    body.page-listing-detail .listing-mobile-seller-meta {
        flex: 1;
        min-width: 0;
    }

    body.page-listing-detail .listing-mobile-seller-name {
        font-weight: 900;
        font-size: 13px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    body.page-listing-detail .listing-mobile-seller-sub {
        font-size: 12px;
        color: #64748b;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        margin-top: 2px;
    }

    body.page-listing-detail .listing-mobile-seller-report {
        margin-top: 10px;
        width: 100%;
        height: 40px;
        border-radius: 12px;
        border: 1px solid #e5e7eb;
        background: #fff;
        color: #991b1b;
        font-weight: 900;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 0 12px;
    }

    body.page-listing-detail .listing-mobile-seller-report:active {
        transform: scale(0.98);
        background: rgba(239, 68, 68, 0.04);
    }

    /* Fixed contact bar (above bottom nav) */
    body.page-listing-detail .listing-mobile-contactbar {
        position: fixed;
        left: 0;
        right: 0;
        bottom: calc(56px + env(safe-area-inset-bottom, 0px));
        padding: 10px 12px;
        background: rgba(255, 255, 255, 0.96);
        backdrop-filter: blur(8px);
        border-top: 1px solid #e5e7eb;
        display: flex;
        gap: 10px;
        z-index: 1049;
    }

    body.page-listing-detail .listing-mobile-contact-btn {
        flex: 1;
        height: 44px;
        border-radius: 14px;
        border: 1px solid #e5e7eb;
        background: #fff;
        color: #1d283a;
        font-weight: 900;
        font-size: 14px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        text-decoration: none;
        padding: 0 12px;
    }

    body.page-listing-detail .listing-mobile-contact-btn--message {
        background: #f59e0b;
        border-color: #f59e0b;
        color: #1d283a;
    }

    body.page-listing-detail .listing-mobile-contact-btn:active {
        transform: scale(0.97);
    }

    /* Move live support bubble above the contact bar */
    body.page-listing-detail #bscy-live-support-root {
        bottom: calc(76px + 64px + env(safe-area-inset-bottom, 0px)) !important;
    }

    /* Save toast above nav/contact bar */
    body.page-listing-detail .save-toast {
        bottom: calc(56px + 64px + env(safe-area-inset-bottom, 0px) + 12px) !important;
    }
}

/* ========================================================================
   POST AD (Mobile) - Keep only essentials
   ======================================================================== */
@media (max-width: 991px) {
    body.page-post-ad {
        background: #fff;
    }

    /* Save space: no header search while creating */
    body.page-post-ad .mobile-search-bar {
        display: none !important;
    }

    /* Compact hero */
    body.page-post-ad .post-ad-hero {
        padding: 10px 0 !important;
    }

    body.page-post-ad .post-ad-hero h1 {
        font-size: 16px !important;
        margin-bottom: 2px !important;
    }

    body.page-post-ad .post-ad-hero p {
        font-size: 12px !important;
    }

    /* Prevent iOS zoom */
    body.page-post-ad input,
    body.page-post-ad select,
    body.page-post-ad textarea {
        font-size: 16px !important;
    }
}

/* ========================================================================
   EDIT AD (Mobile) - Keep only essentials
   ======================================================================== */
@media (max-width: 991px) {
    body.page-edit-ad {
        background: #fff;
    }

    /* Save space: no header search while editing */
    body.page-edit-ad .mobile-search-bar {
        display: none !important;
    }

    /* Compact hero */
    body.page-edit-ad .edit-ad-hero {
        padding: 10px 0 !important;
    }

    body.page-edit-ad .edit-ad-hero h1 {
        font-size: 16px !important;
        margin-bottom: 2px !important;
    }

    body.page-edit-ad .edit-ad-hero p {
        font-size: 12px !important;
    }

    /* Prevent iOS zoom */
    body.page-edit-ad input,
    body.page-edit-ad select,
    body.page-edit-ad textarea {
        font-size: 16px !important;
    }

    /* Reduce spacing */
    body.page-edit-ad .form-section {
        padding: 12px !important;
        border-radius: 14px !important;
        box-shadow: none !important;
        border: 1px solid #e5e7eb;
        margin-bottom: 12px !important;
    }
}

/* ========================================================================
   MY ADS (Mobile) - Minimal list + status tabs
   ======================================================================== */
@media (max-width: 991px) {
    body.page-my-ads {
        background: #fff;
    }

    /* Save space: no header search on management page */
    body.page-my-ads .mobile-search-bar {
        display: none !important;
    }

    /* Hide desktop sections on mobile */
    body.page-my-ads .breadcrumb-section,
    body.page-my-ads .hero-section,
    body.page-my-ads .container.py-5 {
        display: none !important;
    }

    body.page-my-ads .myads-mobile {
        display: block;
        padding: 12px;
    }

    body.page-my-ads .myads-mobile-top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        margin-bottom: 10px;
    }

    body.page-my-ads .myads-mobile-title {
        font-weight: 700;
        font-size: 16px;
        color: #0f172a;
    }

    body.page-my-ads .myads-mobile-add {
        width: 40px;
        height: 40px;
        border-radius: 12px;
        background: #f59e0b;
        color: #1d283a;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        flex: 0 0 auto;
        box-shadow: 0 6px 16px rgba(245, 158, 11, 0.25);
    }

    body.page-my-ads .myads-mobile-add:active {
        transform: scale(0.96);
        background: #d97706;
    }

    body.page-my-ads .myads-mobile-alert {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 10px 12px;
        border-radius: 14px;
        border: 1px solid rgba(245, 158, 11, 0.35);
        background: rgba(245, 158, 11, 0.10);
        color: #92400e;
        font-weight: 600;
        font-size: 13px;
        margin-bottom: 10px;
    }

    body.page-my-ads .myads-mobile-alert a {
        margin-left: auto;
        color: #1d283a;
        font-weight: 700;
        text-decoration: none;
        background: rgba(255, 255, 255, 0.8);
        padding: 6px 10px;
        border-radius: 10px;
        border: 1px solid rgba(15, 23, 42, 0.12);
    }

    body.page-my-ads .myads-mobile-tabs {
        background: #fff;
        padding: 8px 0 10px;
        margin: 0 -12px 8px;
        border-bottom: 1px solid #e5e7eb;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        white-space: nowrap;
    }

    body.page-my-ads .myads-mobile-tab {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        height: 34px;
        padding: 0 12px;
        margin-left: 12px;
        border-radius: 999px;
        border: 1px solid #e5e7eb;
        background: #f8fafc;
        color: #1d283a;
        font-weight: 600;
        font-size: 12px;
        text-decoration: none;
    }

    body.page-my-ads .myads-mobile-tab.active {
        background: #1d283a;
        border-color: #1d283a;
        color: #fff;
    }

    body.page-my-ads .myads-mobile-tab-count {
        background: rgba(15, 23, 42, 0.08);
        border-radius: 999px;
        padding: 2px 8px;
        font-size: 12px;
        font-weight: 600;
    }

    body.page-my-ads .myads-mobile-tab.active .myads-mobile-tab-count {
        background: rgba(255, 255, 255, 0.18);
    }

    body.page-my-ads .myads-mobile-list {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    body.page-my-ads .myads-mobile-item {
        display: flex;
        align-items: stretch;
        gap: 10px;
        border: 1px solid #e5e7eb;
        border-radius: 14px;
        background: #fff;
        padding: 10px;
    }

    body.page-my-ads .myads-mobile-thumb {
        width: 74px;
        height: 74px;
        border-radius: 12px;
        overflow: hidden;
        background: #f1f5f9;
        flex: 0 0 auto;
        display: block;
    }

    body.page-my-ads .myads-mobile-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    body.page-my-ads .myads-mobile-meta {
        flex: 1;
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 6px;
    }

    body.page-my-ads .myads-mobile-row {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 8px;
    }

    body.page-my-ads .myads-mobile-item-title {
        font-weight: 600;
        font-size: 13px;
        color: #0f172a;
        text-decoration: none;
        line-height: 1.2;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 48vw;
    }

    body.page-my-ads .myads-mobile-status {
        font-size: 11px;
        font-weight: 600;
        padding: 4px 8px;
        border-radius: 999px;
        border: 1px solid #e5e7eb;
        background: #f8fafc;
        white-space: nowrap;
        flex: 0 0 auto;
    }

    body.page-my-ads .myads-mobile-status.status-active { background: rgba(25, 135, 84, 0.10); border-color: rgba(25, 135, 84, 0.20); color: #0f5132; }
    body.page-my-ads .myads-mobile-status.status-pending { background: rgba(245, 158, 11, 0.12); border-color: rgba(245, 158, 11, 0.22); color: #92400e; }
    body.page-my-ads .myads-mobile-status.status-expired { background: rgba(108, 117, 125, 0.12); border-color: rgba(108, 117, 125, 0.22); color: #41464b; }
    body.page-my-ads .myads-mobile-status.status-sold { background: rgba(13, 202, 240, 0.12); border-color: rgba(13, 202, 240, 0.22); color: #087990; }
    body.page-my-ads .myads-mobile-status.status-withdrawn { background: rgba(220, 53, 69, 0.10); border-color: rgba(220, 53, 69, 0.20); color: #842029; }
    body.page-my-ads .myads-mobile-status.status-deleted { background: rgba(100, 116, 139, 0.12); border-color: rgba(100, 116, 139, 0.22); color: #475569; }

    body.page-my-ads .myads-mobile-delete-hint {
        font-size: 11px;
        font-weight: 600;
        color: #475569;
        background: rgba(100, 116, 139, 0.08);
        border: 1px solid rgba(100, 116, 139, 0.18);
        border-radius: 10px;
        padding: 6px 8px;
        line-height: 1.2;
    }

    body.page-my-ads .myads-mobile-price {
        font-weight: 700;
        font-size: 14px;
        color: #0f172a;
    }

    body.page-my-ads .myads-mobile-stats {
        display: flex;
        align-items: center;
        gap: 10px;
        font-size: 12px;
        color: #64748b;
        flex-wrap: wrap;
    }

    body.page-my-ads .myads-mobile-stats i {
        color: #f59e0b;
        margin-right: 4px;
    }

    body.page-my-ads .myads-mobile-badge {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        background: rgba(245, 158, 11, 0.14);
        border: 1px solid rgba(245, 158, 11, 0.22);
        padding: 3px 8px;
        border-radius: 999px;
        font-weight: 600;
        color: #92400e;
    }

    body.page-my-ads .myads-mobile-actions {
        display: flex;
        flex-direction: column;
        gap: 8px;
        align-items: flex-end;
        justify-content: flex-start;
        flex: 0 0 auto;
    }

    body.page-my-ads .myads-icon-btn {
        width: 38px;
        height: 38px;
        border-radius: 12px;
        border: 1px solid #e5e7eb;
        background: #fff;
        color: #1d283a;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        text-decoration: none;
    }

    body.page-my-ads .myads-icon-btn:active {
        transform: scale(0.95);
        background: #f8fafc;
    }

    body.page-my-ads .myads-actions-menu {
        min-width: 220px;
        border-radius: 14px;
        border: 1px solid #e5e7eb;
        box-shadow: 0 12px 30px rgba(0,0,0,0.12);
        padding: 8px;
    }

    body.page-my-ads .myads-actions-menu .dropdown-item {
        border-radius: 10px;
        font-weight: 800;
        padding: 10px 10px;
    }

    body.page-my-ads .myads-mobile-empty {
        padding: 18px 12px;
        text-align: center;
        border: 1px dashed #e5e7eb;
        border-radius: 14px;
        background: #fff;
    }

    body.page-my-ads .myads-mobile-empty-icon {
        font-size: 28px;
        color: #94a3b8;
        margin-bottom: 8px;
    }

    body.page-my-ads .myads-mobile-empty-title {
        font-weight: 700;
        color: #0f172a;
        margin-bottom: 6px;
    }

    body.page-my-ads .myads-mobile-empty-text {
        color: #64748b;
        font-size: 13px;
        margin-bottom: 12px;
    }

    body.page-my-ads .myads-mobile-primary-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        height: 40px;
        padding: 0 14px;
        border-radius: 12px;
        background: #f59e0b;
        color: #1d283a;
        text-decoration: none;
        font-weight: 700;
        font-size: 13px;
    }
}

/* ========================================================================
   LEGACY MOBILE STYLES (for backwards compatibility)
   ======================================================================== */

/* Old mobile quick actions - kept for compatibility but hidden */
.mobile-quick-actions {
    gap: 6px;
    flex-wrap: wrap;
    justify-content: flex-end;
    max-width: 70%;
}

@media (min-width: 992px) {
    .mobile-quick-actions {
        display: none !important;
    }
}

.mobile-user-dropdown {
    position: relative;
}

@media (max-width: 991.98px) {
    .mobile-user-dropdown .dropdown-menu {
        position: absolute;
        right: 0;
        left: auto;
        margin-top: 8px;
    }
}

/* Old quick-btn style - updated to match new design */
.quick-btn {
    width: 38px;
    height: 38px;
    border-radius: 8px; /* Changed from 12px για consistency */
    background: rgba(255, 255, 255, 0.08); /* Cleaner background */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-decoration: none;
    border: none; /* Removed border για cleaner look */
    appearance: none;
    cursor: pointer;
    padding: 0;
    transition: all 0.2s ease;
}

.quick-btn:hover,
.quick-btn:focus {
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    transform: scale(1.05); /* Cleaner hover effect */
}

.quick-btn:active {
    transform: scale(0.95);
    background: rgba(255, 255, 255, 0.2);
}

.quick-btn i {
    font-size: 16px;
}

/* Old mobile-badge - updated to match new design */
.mobile-badge {
    position: absolute;
    top: -2px;
    right: -2px;
    background: #f59e0b; /* Brand accent color */
    color: #fff;
    font-size: 9px;
    padding: 2px 4px;
    border-radius: 8px;
    min-width: 16px;
    text-align: center;
    font-weight: 600;
    line-height: 1.2;
}

/* ========================================================================
   MOBILE HEADER - Compact & Minimal
   ======================================================================== */

@media (max-width: 991px) {
    .navbar-modern {
        padding: 10px 0 !important; /* Compact header */
        background: #1d283a !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }
    
    /* Logo compact */
    .navbar-brand {
        font-size: 18px !important;
        padding: 0 !important;
    }
    
    .navbar-brand img {
        max-height: 28px !important; /* Smaller logo */
    }

    /* Hide desktop nav items - we'll use bottom nav */
    .navbar-modern .navbar-nav {
        display: none !important;
    }
    
    /* Mobile search bar - clean & minimal */
    .mobile-search-bar {
        display: flex !important;
        align-items: center;
        gap: 0;
        flex: 1;
        max-width: 100%;
        min-width: 0;
        position: relative;
    }

    /* Messages page: hide global header search (page has its own chat UI) */
    body.page-messages .mobile-search-bar {
        display: none !important;
    }

    /* Messages page: hide live support bubble (it blocks send button) */
    body.page-messages #bscy-live-support-root {
        display: none !important;
    }
    
    .mobile-header-wrapper {
        display: flex !important;
        align-items: center;
        gap: 8px;
        flex: 1;
        margin-left: auto;
        max-width: none !important;
        min-width: 0;
    }
    
    .mobile-search-input {
        flex: 1;
        height: 38px;
        border: none;
        background: rgba(255, 255, 255, 0.1);
        color: #fff;
        padding: 0 40px 0 44px; /* Space for search icon + clear button (avoid text overlap) */
        border-radius: 8px;
        font-size: 16px; /* Prevent iOS zoom */
        transition: all 0.2s ease;
        min-width: 0;
    }

    /* Prevent native (browser-provided) "X" clear button from showing,
       so we don't end up with a double-clear UI (native + custom). */
    .mobile-search-input[type="search"]::-webkit-search-decoration,
    .mobile-search-input[type="search"]::-webkit-search-cancel-button,
    .mobile-search-input[type="search"]::-webkit-search-results-button,
    .mobile-search-input[type="search"]::-webkit-search-results-decoration {
        -webkit-appearance: none;
        appearance: none;
        display: none;
    }
    
    .mobile-search-input::placeholder {
        color: rgba(255, 255, 255, 0.6);
    }
    
    .mobile-search-input:focus {
        outline: none;
        background: rgba(255, 255, 255, 0.15);
        box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.2);
    }
    
    /* Search icon inside input (mobile header only) */
    .mobile-search-bar .mobile-header-search-icon {
        position: absolute;
        left: 12px;
        top: 50%;
        transform: translateY(-50%);
        color: rgba(255, 255, 255, 0.6);
        font-size: 16px;
        pointer-events: none;
    }

    /* Clear (X) button inside the mobile search input */
    .mobile-search-clear {
        position: absolute;
        right: 6px;
        top: 50%;
        transform: translateY(-50%);
        width: 30px;
        height: 30px;
        border-radius: 8px;
        border: none;
        background: transparent;
        color: rgba(255, 255, 255, 0.75);
        display: none;
        align-items: center;
        justify-content: center;
        padding: 0;
    }

    .mobile-search-input.has-value ~ .mobile-search-clear {
        display: inline-flex;
    }

    .mobile-search-clear:active {
        background: rgba(255, 255, 255, 0.12);
        transform: translateY(-50%) scale(0.95);
    }
    
    /* Hide desktop search section on mobile (mobile header search replaces it) */
    .search-section {
        display: none !important;
    }
    
    /* Mobile action buttons - minimal */
    .mobile-header-actions {
        display: flex;
        gap: 6px;
        align-items: center;
    }
    
    .mobile-icon-btn {
        width: 38px;
        height: 38px;
        border-radius: 8px;
        background: rgba(255, 255, 255, 0.08);
        border: none;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 16px;
        transition: all 0.2s ease;
        position: relative;
    }

    /* Header: highlight only the Filters icon */
    .mobile-icon-btn--filters {
        background: #f59e0b !important;
        color: #1d283a !important;
        box-shadow: 0 6px 14px rgba(245, 158, 11, 0.25);
    }

    .mobile-icon-btn--filters .mobile-icon-dot {
        position: absolute;
        top: 6px;
        right: 6px;
        width: 8px;
        height: 8px;
        border-radius: 999px;
        background: #1d283a;
        box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.55);
        pointer-events: none;
    }

    .mobile-icon-btn--filters:active {
        background: #d97706 !important;
        transform: scale(0.95);
    }
    
    .mobile-icon-btn:active {
        background: rgba(255, 255, 255, 0.15);
        transform: scale(0.95);
    }
    
    /* Badge για notifications */
    .mobile-icon-btn .badge {
        position: absolute;
        top: -2px;
        right: -2px;
        background: #f59e0b;
        color: #fff;
        font-size: 9px;
        padding: 2px 4px;
        border-radius: 8px;
        min-width: 16px;
        font-weight: 600;
    }
}

/* ========================================================================
   BOTTOM NAVIGATION - Modern Style (Clean & Minimal)
   ======================================================================== */
@media (max-width: 991px) {
    .mobile-bottom-nav {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        background: #fff;
        border-top: 1px solid #e5e7eb;
        display: flex;
        justify-content: space-around;
        align-items: center;
        height: calc(56px + env(safe-area-inset-bottom, 0px));
        z-index: 1050;
        box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.05);
        padding: 0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
    }
    
    /* Nav item - minimal & clean */
    .mobile-nav-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        flex: 1;
        height: 100%;
        color: #6b7280;
        text-decoration: none;
        font-size: 11px;
        font-weight: 500;
        transition: all 0.2s ease;
        position: relative;
        gap: 0;
        padding: 0;
    }

    /* Icons-only bottom nav */
    .mobile-nav-item > span:not(.mobile-nav-badge) {
        display: none !important;
    }
    
    .mobile-nav-item i {
        font-size: 20px;
        transition: all 0.2s ease;
    }
    
    /* Active state - minimal accent */
    .mobile-nav-item.active {
        color: #1d283a;
    }
    
    .mobile-nav-item.active i {
        color: #1d283a;
        transform: scale(1.05);
    }
    
    /* Touch feedback */
    .mobile-nav-item:active {
        transform: scale(0.92);
        background: rgba(29, 40, 58, 0.03);
    }
    
    /* Post Ad button - primary action (mobile-only class to avoid desktop .post-ad-btn styles) */
    .mobile-nav-item.mobile-post-btn {
        color: #1d283a !important;
        font-weight: 600;
    }

    .mobile-nav-item.mobile-post-btn span {
        color: #1d283a !important;
    }
    
    .mobile-nav-item.mobile-post-btn i {
        color: #fff !important;
        width: 36px;
        height: 36px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 22px;
        background: #f59e0b !important;
        padding: 0;
        border-radius: 50%;
    }
    
    .mobile-nav-item.mobile-post-btn:active i {
        background: #d97706 !important;
    }
    
    /* Badge για unread counts */
    .mobile-nav-badge {
        position: absolute;
        top: 6px;
        right: calc(50% - 16px);
        background: #f59e0b;
        color: #fff;
        font-size: 9px;
        padding: 2px 5px;
        border-radius: 10px;
        min-width: 16px;
        text-align: center;
        font-weight: 600;
        line-height: 1.2;
    }
    
    /* Hide desktop elements on mobile */
    .desktop-only {
        display: none !important;
    }
}

/* Desktop - hide mobile bottom nav */
@media (min-width: 992px) {
    .mobile-bottom-nav {
        display: none !important;
    }
    
    .mobile-search-bar,
    .mobile-header-actions,
    .mobile-icon-btn {
        display: none !important;
    }
}

/* ========================================================================
   MOBILE SEARCH/FILTER BAR - Horizontal Scroll Chips
   ======================================================================== */
@media (max-width: 991px) {
    /* Filter bar - transform to horizontal chip layout */
    .filter-bar-section {
        background: #fff !important;
        padding: 8px 0 !important;
        border-bottom: 1px solid #e5e7eb !important;
        overflow: visible !important;
    }
    
    .filter-bar-section .container {
        padding: 0 !important;
    }
    
    /* Only the collapsible filters row becomes horizontally scrollable */
    .filter-bar-section .filters-collapse .row {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        gap: 6px !important;
        padding: 0 12px !important;
        margin: 0 !important;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    
    .filter-bar-section .filters-collapse .row::-webkit-scrollbar {
        display: none;
    }

    /* Listing page action bar (List/Map/Sort/Save Search) - compact chips (no dark slab) */
    .filter-actions-outer {
        background: #fff !important;
        border-bottom: 1px solid #e5e7eb !important;
        padding: 8px 0 !important;
    }

    .filter-actions-outer .container {
        padding: 0 !important;
    }

    .filter-actions-bar {
        justify-content: flex-start !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        gap: 8px !important;
        padding: 0 12px !important;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .filter-actions-bar::-webkit-scrollbar {
        display: none;
    }

    .filter-actions-bar .view-toggle-btn,
    .filter-actions-bar .reset-btn,
    .filter-actions-bar .dropdown > .view-toggle-btn {
        height: 36px !important;
        min-height: 36px !important;
        padding: 6px 14px !important;
        background: #f4f7f9 !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 18px !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        color: #1d283a !important;
        white-space: nowrap !important;
    }

    .filter-actions-bar .view-toggle-btn.active {
        background: #1d283a !important;
        border-color: #1d283a !important;
        color: #fff !important;
    }

    .filter-actions-bar .view-toggle-btn i {
        margin-right: 6px !important;
    }

    /* Listing page: keep top controls compact & consistent */
    .listing-main {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    body.page-listing .filter-bar-section {
        /* Mobile listing: filters open as a fixed panel under the header */
        display: none !important; /* opens via header Filters icon */
        position: fixed !important;
        top: calc(60px + env(safe-area-inset-top, 0px)) !important;
        left: 0;
        right: 0;
        z-index: 1025;
        background: #fff !important;
        padding: 10px 0 !important;
        border-bottom: 1px solid #e5e7eb !important;
        box-shadow: 0 10px 30px rgba(15, 23, 42, 0.12);
        max-height: calc(100vh - (60px + env(safe-area-inset-top, 0px)) - (56px + env(safe-area-inset-bottom, 0px)) - 8px);
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    body.page-listing.listing-filters-open .filter-bar-section {
        display: block !important;
    }

    /* Listing: top row inside filters panel (keep only primary filter) */
    body.page-listing .filter-bar-section .listing-top-row {
        display: block !important;
        padding: 0 12px !important;
        margin: 0 0 8px !important;
    }

    body.page-listing .filter-bar-section .listing-top-row .listing-col-search,
    body.page-listing .filter-bar-section .listing-top-row .listing-col-location,
    body.page-listing .filter-bar-section .listing-top-row .listing-col-category {
        display: none !important;
    }

    body.page-listing .filter-bar-section .listing-top-row .listing-col-primary {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Listing: Filters panel (toggled via header icon) */
    body.page-listing .filters-collapse.mobile-hidden .desktop-filter-rows {
        display: none !important;
    }

    body.page-listing .filters-collapse.mobile-visible .desktop-filter-rows {
        display: block !important;
    }

    /* Listing: hide breadcrumbs (category chips replace them) */
    body.page-listing .filter-actions-outer nav[aria-label="breadcrumb"] {
        display: none !important;
    }

    /* Listing: remove clutter buttons on mobile */
    body.page-listing #listViewBtn,
    body.page-listing #mapViewBtn,
    body.page-listing .filter-actions-bar .dropdown,
    body.page-listing .filter-actions-bar .save-search-btn {
        display: none !important;
    }

    /* Listing: keep actions bar minimal (usually only Reset when active) */
    body.page-listing .filter-actions-outer {
        background: transparent !important;
        padding: 0 !important;
        border: none !important;
        box-shadow: none !important;
    }

    body.page-listing #reset-container {
        margin-left: 12px;
        margin-right: 12px;
    }

    body.page-listing #reset-filters-btn {
        width: 38px !important;
        height: 38px !important;
        padding: 0 !important;
        border-radius: 8px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 0 !important; /* hide text, keep icon */
    }

    body.page-listing #reset-filters-btn i {
        font-size: 16px !important;
        margin: 0 !important;
    }

    body.page-listing #reset-filters-btn .filter-count {
        font-size: 12px !important;
        line-height: 1 !important;
        margin-left: 6px;
    }

    body.page-listing .filter-actions-bar {
        justify-content: flex-start !important;
    }

    /* Mobile category/subcategory navigator (listing page) */
    .listing-mobile-catnav {
        position: relative;
        margin: 8px 0 6px !important;
    }

    /* Keep category chips accessible while scrolling results */
    body.page-listing .listing-mobile-catnav {
        position: sticky;
        top: calc(60px + env(safe-area-inset-top, 0px));
        z-index: 1015;
        background: #fff;
        padding-top: 6px;
        border-bottom: 1px solid #e5e7eb;
    }

    /* When filters are open, hide the chips to reduce clutter */
    body.page-listing.listing-filters-open .listing-mobile-catnav {
        display: none !important;
    }

    /* subtle fade hint for horizontal scroll */
    .listing-mobile-catnav::after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 28px;
        pointer-events: none;
        background: linear-gradient(to left, #fff 35%, rgba(255, 255, 255, 0));
    }

    .listing-mobile-subcats-scroll {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        gap: 6px !important;
        padding: 0 12px 8px !important;
        margin: 0 !important;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .listing-mobile-subcats-scroll::-webkit-scrollbar {
        display: none;
    }

    .listing-subcat-chip {
        flex: 0 0 auto !important;
        height: 34px !important;
        padding: 6px 10px !important;
        background: #fff !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 17px !important;
        color: #1d283a !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        text-decoration: none !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        white-space: nowrap !important;
        max-width: 78vw;
    }

    /* Tiny icons inside main category chips (browse-all mode) */
    .listing-chip-icon {
        font-size: 16px !important;
        line-height: 1 !important;
        flex: 0 0 auto !important;
    }

    .listing-chip-icon-img {
        width: 16px !important;
        height: 16px !important;
        flex: 0 0 auto !important;
        object-fit: contain !important;
    }

    .listing-subcat-chip .label {
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 52vw;
    }

    .listing-subcat-chip .count {
        font-size: 12px !important;
        font-weight: 700 !important;
        background: #e2e8f0 !important;
        color: #1d283a !important;
        border-radius: 999px !important;
        padding: 2px 8px !important;
        line-height: 1.2 !important;
    }

    .listing-subcat-chip.active {
        background: #1d283a !important;
        border-color: #1d283a !important;
        color: #fff !important;
    }

    .listing-subcat-chip.active .count {
        background: rgba(255, 255, 255, 0.16) !important;
        color: #fff !important;
    }

    .listing-subcat-chip:active {
        transform: scale(0.98);
    }

    /* Listing: infinite scroll helper */
    body.page-listing .listing-infinite-sentinel {
        height: 1px;
        width: 100%;
    }

    body.page-listing.listing-infinite-scroll #pagination-container {
        display: none !important;
    }

    body.page-listing .listing-loadmore-status {
        padding: 10px 12px;
        text-align: center;
        color: #6b7280;
        font-size: 13px;
    }

    .listing-subcat-chip--action {
        background: #f4f7f9 !important;
    }

    .listing-subcat-chip--action i {
        font-size: 14px !important;
        line-height: 1 !important;
    }

    /* Listing page header/title compaction */
    .listing-main .page-title {
        font-size: 18px !important;
        line-height: 1.2 !important;
    }

    .listing-main .page-title > i,
    .listing-main .page-title > img {
        display: none !important;
    }

    .listing-main .page-title span {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        max-width: 100%;
    }

    /* Hide grid/list mini toggles on mobile (keep List/Map in top bar) */
    .listing-main #view-btn-grid,
    .listing-main #view-btn-list {
        display: none !important;
    }

    .filter-bar-section .listing-top-row {
        margin-bottom: 6px !important;
    }

    /* Hide heavy category mega dropdown on mobile; use category chips instead */
    .filter-bar-section .listing-col-category {
        display: none !important;
    }

    /* 2-field top row: search + location */
    .filter-bar-section .listing-top-row {
        display: grid !important;
        grid-template-columns: 1fr 140px !important;
        gap: 8px !important;
        padding: 0 12px !important;
        margin: 0 !important;
    }

    .filter-bar-section .listing-top-row .listing-col-search,
    .filter-bar-section .listing-top-row .listing-col-location {
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        max-width: none !important;
    }

    .filter-bar-section input[name="q"] {
        width: 100% !important;
        text-align: left !important;
    }

    /* Visible filter chips row (always on) */
    #mobileFiltersCollapse .desktop-filter-rows {
        padding: 0 !important;
        margin: 6px 0 0 !important;
    }

    /* Subcategories: compact 2-column list */
    .listing-main .listing-all-categories-btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: calc(100% - 24px) !important;
        margin: 10px 12px 8px !important;
        height: 40px !important;
        background: #fff !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 12px !important;
        color: #1d283a !important;
        font-weight: 600 !important;
        text-decoration: none !important;
    }

    /* Subcategories: horizontal swipe chips (like reference) */
    .listing-main #subcategories-container .subcategory-list {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        gap: 8px !important;
        padding: 0 12px 10px !important;
        margin: 0 !important;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .listing-main #subcategories-container .subcategory-list::-webkit-scrollbar {
        display: none;
    }

    .listing-main #subcategories-container .subcategory-item {
        padding: 0 !important;
        margin: 0 !important;
        width: auto !important;
        max-width: none !important;
        flex: 0 0 auto !important;
    }

    .listing-main #subcategories-container .subcategory-card {
        height: 40px !important;
        padding: 0 12px !important;
        background: #f4f7f9 !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 999px !important;
        gap: 8px !important;
    }

    .listing-main #subcategories-container .subcategory-icon {
        display: none !important; /* cleaner, like reference */
    }

    .listing-main #subcategories-container .subcategory-name {
        font-size: 13px !important;
        font-weight: 600 !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100%;
    }

    .listing-main #subcategories-container .subcategory-count {
        min-width: 28px !important;
        padding: 2px 8px !important;
        font-size: 12px !important;
    }

    /* Listings should start immediately after subcategories */
    .listing-main #listing-grid {
        margin-top: 10px !important;
    }
    
    /* Filter buttons → chips */
    .filter-bar-section .filters-collapse .col-12,
    .filter-bar-section .filters-collapse .col-6,
    .filter-bar-section .filters-collapse .col-md-2,
    .filter-bar-section .filters-collapse .col-md-3,
    .filter-bar-section .filters-collapse .col-md-4 {
        width: auto !important;
        max-width: none !important;
        flex: 0 0 auto !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    .filter-bar-section .btn,
    .filter-bar-section .form-control,
    .filter-bar-section .form-select,
    .filter-bar-section button,
    .filter-bar-section .location-btn,
    .filter-bar-section .category-mega-dropdown > button {
        height: 36px !important;
        min-height: 36px !important;
        padding: 6px 14px !important;
        background: #f4f7f9 !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 18px !important; /* Pill shape */
        font-size: 13px !important;
        font-weight: 500 !important;
        color: #1d283a !important;
        white-space: nowrap !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
    }
    
    .filter-bar-section .btn.has-value,
    .filter-bar-section .location-btn.has-value {
        background: #1d283a !important;
        color: #fff !important;
        border-color: #1d283a !important;
    }
    
    .filter-bar-section .btn-warning {
        /* Keep consistent chip styling on mobile filter bars */
        background: #f4f7f9 !important;
        color: #1d283a !important;
        border-color: #e5e7eb !important;
    }
    
    .filter-bar-section .btn:active {
        transform: scale(0.95);
    }
    
    /* Search filters - minimal drawer style */
    .mobile-filter-drawer {
        background: #fff;
        padding: 12px;
        border-bottom: 1px solid #e5e7eb;
    }
    
    .mobile-filter-btn {
        width: 100%;
        height: 44px; /* Touch-friendly */
        background: #f4f7f9;
        border: 1px solid #e5e7eb;
        border-radius: 8px;
        color: #1d283a;
        font-weight: 500;
        font-size: 14px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        transition: all 0.2s ease;
    }
    
    .mobile-filter-btn:active {
        background: #e5e7eb;
        transform: scale(0.98);
    }
    
    .mobile-filter-btn i {
        font-size: 16px;
    }
    
    /* Category selector - minimal */
    .mobile-category-selector {
        background: #fff;
        border-bottom: 1px solid #e5e7eb;
        padding: 12px;
    }
    
    .mobile-category-btn {
        width: 100%;
        height: 44px;
        background: #f4f7f9;
        border: 1px solid #e5e7eb;
        border-radius: 8px;
        color: #1d283a;
        font-weight: 500;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 16px;
        font-size: 14px;
    }
    
    /* Category Chips/Pills - Horizontal Scroll */
    .mobile-category-chips {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        overflow-y: hidden;
        padding: 12px;
        margin: 0 -12px; /* Full width */
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    
    .mobile-category-chips::-webkit-scrollbar {
        display: none;
    }
    
    .mobile-category-chip {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 8px 16px;
        background: #f4f7f9;
        color: #1d283a;
        border: 1px solid #e5e7eb;
        border-radius: 20px;
        font-size: 13px;
        font-weight: 500;
        text-decoration: none;
        white-space: nowrap;
        flex-shrink: 0;
        transition: all 0.2s ease;
        scroll-snap-align: start;
    }
    
    .mobile-category-chip:active {
        background: #e5e7eb;
        transform: scale(0.95);
    }
    
    .mobile-category-chip.active {
        background: #1d283a;
        color: #fff;
        border-color: #1d283a;
    }
    
    .mobile-category-chip i {
        font-size: 14px;
    }
    
    /* Location/Filter Pills */
    .mobile-filter-pills {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        padding: 8px 12px;
        background: #f9fafb;
    }
    
    .mobile-filter-pill {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        padding: 6px 12px;
        background: #fff;
        color: #6b7280;
        border: 1px solid #e5e7eb;
        border-radius: 16px;
        font-size: 12px;
        font-weight: 500;
        white-space: nowrap;
    }
    
    .mobile-filter-pill i {
        font-size: 11px;
    }
    
    .mobile-filter-pill .remove {
        margin-left: 4px;
        font-size: 14px;
        cursor: pointer;
        color: #9ca3af;
    }
    
    .mobile-filter-pill .remove:active {
        color: #1d283a;
    }
}

/* ========================================================================
   MOBILE AD CARDS - Clean & Compact (Based on Screenshots)
   ======================================================================== */
@media (max-width: 991px) {
    /* Ad Card Container */
    .mobile-ad-card {
        background: #fff;
        border-radius: 0; /* Flat για cleaner look */
        border-bottom: 1px solid #e5e7eb;
        padding: 12px;
        display: flex;
        gap: 12px;
        transition: background 0.2s ease;
        text-decoration: none;
        color: inherit;
    }
    
    .mobile-ad-card:active {
        background: #f9fafb;
    }
    
    /* Image - compact square */
    .mobile-ad-image {
        width: 100px;
        height: 100px;
        border-radius: 8px;
        object-fit: cover;
        flex-shrink: 0;
        background: #f4f7f9;
    }
    
    /* Content - minimal spacing */
    .mobile-ad-content {
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 4px;
        min-width: 0; /* Για text truncation */
        padding: 0 !important; /* Override Bootstrap */
    }
    
    .mobile-ad-title {
        font-size: 14px !important;
        font-weight: 600 !important;
        color: #1d283a !important;
        line-height: 1.3 !important;
        margin: 0 !important;
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box !important;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }
    
    .mobile-ad-price {
        font-size: 16px !important;
        font-weight: 700 !important;
        color: #1d283a !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    .mobile-ad-meta {
        font-size: 12px !important;
        color: #6b7280 !important;
        display: flex !important;
        align-items: center;
        gap: 8px;
        margin-top: auto !important;
        flex-wrap: wrap;
    }
    
    .mobile-ad-location {
        display: flex;
        align-items: center;
        gap: 4px;
        color: #6b7280 !important;
        font-size: 12px !important;
    }
    
    .mobile-ad-time {
        color: #9ca3af !important;
        font-size: 12px !important;
    }
    
    /* Listing results layout (mobile) */
    body.page-listing #listing-grid {
        background: #fff;
        margin: 0 !important;
    }

    /* Default view = grid (2 columns) */
    body.page-listing #listing-grid.grid-view {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px !important;
    }

    body.page-listing #listing-grid.grid-view > [class*="col-"],
    body.page-listing #listing-grid.grid-view .listing-item-col {
        width: auto !important;
        max-width: none !important;
        padding: 0 !important;
        margin: 0 !important;
        flex: none !important;
    }

    body.page-listing #listing-grid.grid-view .listing-card {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        padding: 0 !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 12px !important;
        background: #fff !important;
        box-shadow: none !important;
        overflow: hidden !important;
        margin: 0 !important;
    }

    body.page-listing #listing-grid.grid-view .listing-image,
    body.page-listing #listing-grid.grid-view .listing-card .listing-image {
        width: 100% !important;
        height: 126px !important;
        min-width: 0 !important;
        border-radius: 0 !important;
        overflow: hidden !important;
        position: relative !important;
        margin: 0 !important;
    }

    body.page-listing #listing-grid.grid-view .listing-image img,
    body.page-listing #listing-grid.grid-view .listing-card .listing-image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        border-radius: 0 !important;
    }

    body.page-listing #listing-grid.grid-view .listing-content {
        padding: 8px !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 4px !important;
        min-width: 0 !important;
    }

    body.page-listing #listing-grid.grid-view .listing-title {
        font-size: 13px !important;
        font-weight: 600 !important;
        line-height: 1.25 !important;
        margin: 0 !important;
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box !important;
        -webkit-line-clamp: 1 !important;
        -webkit-box-orient: vertical !important;
    }

    body.page-listing #listing-grid.grid-view .listing-price {
        font-size: 14px !important;
        font-weight: 700 !important;
        margin: 0 !important;
    }

    body.page-listing #listing-grid.grid-view .listing-attributes,
    body.page-listing #listing-grid.grid-view .listing-meta {
        display: none !important;
    }

    /* List view (one per row) */
    body.page-listing #listing-grid.list-view {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }

    body.page-listing #listing-grid.list-view > [class*="col-"],
    body.page-listing #listing-grid.list-view .listing-item-col {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        flex: 0 0 auto !important;
    }

    body.page-listing #listing-grid.list-view .listing-card {
        display: flex !important;
        flex-direction: row !important;
        gap: 12px !important;
        padding: 10px 12px !important;
        border: none !important;
        border-bottom: 1px solid #e5e7eb !important;
        border-radius: 0 !important;
        background: #fff !important;
        box-shadow: none !important;
        margin: 0 !important;
    }

    body.page-listing #listing-grid.list-view .listing-card:active {
        background: #f9fafb !important;
    }

    body.page-listing #listing-grid.list-view .listing-image,
    body.page-listing #listing-grid.list-view .listing-card .listing-image {
        width: 100px !important;
        height: 100px !important;
        min-width: 100px !important;
        flex-shrink: 0 !important;
        border-radius: 10px !important;
        overflow: hidden !important;
        position: relative !important;
        margin: 0 !important;
    }

    body.page-listing #listing-grid.list-view .listing-image img,
    body.page-listing #listing-grid.list-view .listing-card .listing-image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        border-radius: 10px !important;
    }

    body.page-listing #listing-grid.list-view .listing-content {
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 4px !important;
        min-width: 0 !important;
        padding: 0 !important;
    }

    body.page-listing #listing-grid.list-view .listing-title {
        font-size: 14px !important;
        font-weight: 600 !important;
        line-height: 1.3 !important;
        margin: 0 !important;
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
    }

    body.page-listing #listing-grid.list-view .listing-title a {
        color: #1d283a !important;
        text-decoration: none !important;
    }

    body.page-listing #listing-grid.list-view .listing-price {
        font-size: 16px !important;
        font-weight: 700 !important;
        color: #1d283a !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.page-listing #listing-grid.list-view .listing-attributes {
        display: none !important;
    }

    body.page-listing #listing-grid.list-view .listing-meta {
        font-size: 12px !important;
        color: #6b7280 !important;
        display: flex !important;
        align-items: center;
        gap: 8px !important;
        margin-top: auto !important;
        flex-wrap: wrap !important;
    }

    body.page-listing #listing-grid.list-view .listing-meta i {
        display: none !important;
    }
    
    /* Badges - repositioned για mobile */
    .premium-badge,
    .listing-card .premium-badge {
        position: absolute !important;
        top: 6px !important;
        left: 6px !important;
        padding: 3px 6px !important;
        font-size: 9px !important;
        border-radius: 4px !important;
        z-index: 5 !important;
    }
    
    .premium-badge.featured-badge {
        background: #f59e0b !important;
        color: #fff !important;
    }
    
    .premium-badge.top-badge {
        background: #7c3aed !important;
    }
    
    /* Favorite button - repositioned */
    .listing-overlay,
    .fav-btn {
        position: absolute !important;
        top: 6px !important;
        right: 6px !important;
        width: 26px !important;
        height: 26px !important;
        background: rgba(255, 255, 255, 0.95) !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        border: none !important;
        font-size: 13px !important;
        color: #6b7280 !important;
        z-index: 5 !important;
        padding: 0 !important;
    }

    /* Make sure the icon is always visible (incl. active state) */
    .fav-btn i {
        color: currentColor !important;
    }
    
    .fav-btn.active,
    .fav-btn.is-saved {
        color: #dc2626 !important;
        border: 1px solid rgba(220, 38, 38, 0.25) !important;
    }
    
    .fav-btn:active {
        transform: scale(0.9) !important;
    }
    
    /* Condition badge */
    .condition-badge {
        position: absolute !important;
        bottom: 6px !important;
        left: 6px !important;
        padding: 3px 6px !important;
        background: rgba(255, 255, 255, 0.95) !important;
        border-radius: 4px !important;
        font-size: 9px !important;
        font-weight: 600 !important;
        color: #1d283a !important;
        z-index: 5 !important;
    }
    
    /* Ad badges (VIP, Featured, etc.) */
    .mobile-ad-badge,
    .ad-badge {
        position: absolute;
        top: 8px;
        left: 8px;
        background: #f59e0b;
        color: #fff;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 10px;
        font-weight: 700;
        text-transform: uppercase;
        z-index: 10;
    }
    
    .mobile-ad-badge.featured {
        background: #f59e0b;
    }
    
    .mobile-ad-badge.urgent {
        background: #dc2626;
    }
    
    .mobile-ad-badge.vip {
        background: #7c3aed;
    }
    
    /* Favorite heart icon */
    .mobile-ad-favorite,
    .ad-favorite {
        position: absolute;
        top: 8px;
        right: 8px;
        width: 32px;
        height: 32px;
        background: rgba(255, 255, 255, 0.9);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 16px;
        color: #6b7280;
        z-index: 10;
        transition: all 0.2s ease;
        cursor: pointer;
    }
    
    .mobile-ad-favorite:active,
    .ad-favorite:active {
        transform: scale(0.9);
    }
    
    .mobile-ad-favorite.active,
    .ad-favorite.active {
        color: #dc2626;
    }
    
    /* Image wrapper for position context */
    .mobile-ad-image-wrapper {
        position: relative;
        width: 100px;
        height: 100px;
        flex-shrink: 0;
    }
}

/* ========================================================================
   MOBILE SAVED ADS (Favorites) - Compact & Functional
   ======================================================================== */
@media (max-width: 991px) {
    /* Saved Ads page uses hover-based controls; make them visible on touch devices */
    .saved-ad-item .saved-ad-card {
        border-radius: 0 !important;
        border: none !important;
        border-bottom: 1px solid #e5e7eb !important;
        box-shadow: none !important;
        transform: none !important;
    }

    .saved-ad-item .saved-ad-card:hover {
        transform: none !important;
        box-shadow: none !important;
        border-color: #e5e7eb !important;
    }

    .saved-ad-item .ad-image-container {
        height: 140px !important;
        border-radius: 10px !important;
        overflow: hidden !important;
    }

    .saved-ad-item .ad-overlay {
        opacity: 1 !important; /* Ensure remove button is usable on mobile */
        background: linear-gradient(
            to bottom,
            rgba(0, 0, 0, 0.22) 0%,
            transparent 55%,
            rgba(0, 0, 0, 0.06) 100%
        ) !important;
        padding: 10px !important;
    }

    .saved-ad-item .remove-saved {
        width: 34px !important;
        height: 34px !important;
        border-radius: 50% !important;
    }

    .saved-ad-item .ad-category {
        top: 10px !important;
        right: 10px !important;
    }

    .saved-ad-item .ad-content {
        padding: 12px !important;
    }

    .saved-ad-item .ad-title {
        font-size: 14px !important;
        font-weight: 600 !important;
        line-height: 1.3 !important;
        margin: 0 !important;
    }

    .saved-ad-item .ad-price {
        font-size: 16px !important;
        font-weight: 700 !important;
        color: #1d283a !important;
    }

    .saved-ad-item .meta-item {
        font-size: 12px !important;
        margin-bottom: 4px !important;
    }

    .saved-ad-item .ad-actions {
        gap: 8px !important;
        margin-bottom: 10px !important;
    }

    .saved-ad-item .ad-actions .btn {
        min-height: 40px !important;
        padding: 10px 12px !important;
        font-size: 14px !important;
        border-radius: 10px !important;
    }

    .saved-ad-item .ad-footer {
        padding-top: 10px !important;
        font-size: 12px !important;
    }
}

/* ========================================================================
   MOBILE FORMS - Touch-Friendly & Clean
   ======================================================================== */
@media (max-width: 991px) {
    /* --------------------------------------------------------------------
       Forms on mobile should be touch-friendly but MUST NOT break
       Bootstrap utility layouts (e.g. .mb-3/.row.g-3 grids) site-wide.
       Keep rules scoped to real form controls and preserve layout.
       -------------------------------------------------------------------- */
    .form-label {
        font-size: 14px !important;
        font-weight: 600 !important;
        color: #1d283a !important;
        margin-bottom: 6px !important;
    }

    .form-text {
        font-size: 12px;
    }

    /* Touch-friendly inputs (keep normal widths / Bootstrap grid intact) */
    .form-control,
    .form-select,
    textarea {
        min-height: 44px !important;
        font-size: 16px !important; /* Prevent zoom on iOS */
        border-radius: 10px !important;
    }

    textarea {
        min-height: 120px !important;
    }

    .form-control:focus,
    .form-select:focus {
        border-color: rgba(29, 40, 58, 0.55) !important;
        box-shadow: 0 0 0 0.15rem rgba(29, 40, 58, 0.16) !important;
    }

    /* Buttons - touch-friendly sizing (do NOT nuke borders globally) */
    .btn {
        min-height: 44px !important;
        padding: 12px 18px !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        border-radius: 10px !important;
    }

    /* Primary button - accent */
    .btn-primary {
        background: #1d283a !important;
        border-color: #1d283a !important;
        color: #fff !important;
    }

    .btn-primary:active,
    .btn-primary:hover {
        background: #0f172a !important;
        border-color: #0f172a !important;
    }

    /* Success button */
    .btn-success {
        background: #10b981 !important;
        border-color: #10b981 !important;
        color: #fff !important;
    }

    .btn-success:active,
    .btn-success:hover {
        background: #059669 !important;
        border-color: #059669 !important;
    }

    /* Full width buttons on mobile */
    .btn-block,
    .w-100 {
        width: 100% !important;
    }
}

/* ========================================================================
   MOBILE CARDS - Bootstrap Cards Override
   ======================================================================== */
@media (max-width: 991px) {
    /* Generic cards - clean & flat */
    .card {
        border-radius: 12px !important;
        border: 1px solid #e5e7eb !important;
        box-shadow: none !important;
        margin-bottom: 12px !important;
        background: #fff !important;
    }
    
    .card-header {
        background: #f9fafb !important;
        border-bottom: 1px solid #e5e7eb !important;
        padding: 12px 16px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        border-radius: 12px 12px 0 0 !important;
    }
    
    .card-body {
        padding: 16px !important;
    }
    
    .card-footer {
        background: #f9fafb !important;
        border-top: 1px solid #e5e7eb !important;
        padding: 12px 16px !important;
        border-radius: 0 0 12px 12px !important;
    }
    
    .card-title {
        font-size: 16px !important;
        font-weight: 600 !important;
        margin-bottom: 8px !important;
    }
    
    .card-text {
        font-size: 14px !important;
        line-height: 1.5 !important;
        color: #4b5563 !important;
    }
    
    /* Stat cards in dashboard */
    .stat-card,
    .stats-card {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        padding: 16px !important;
        background: #f9fafb !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 12px !important;
        min-height: 120px !important;
        justify-content: center !important;
    }
    
    .stat-card h3,
    .stat-card h4 {
        font-size: 24px !important;
        font-weight: 700 !important;
        color: #1d283a !important;
        margin: 8px 0 4px !important;
    }
    
    .stat-card p,
    .stat-card small {
        font-size: 12px !important;
        color: #6b7280 !important;
        margin: 0 !important;
    }
}

/* ========================================================================
   MOBILE MODALS & OVERLAYS - Full-screen για καλύτερη UX
   ======================================================================== */
@media (max-width: 991px) {
    .modal-dialog {
        margin: 0 !important;
        max-width: 100% !important;
        min-height: 100vh !important;
    }
    
    .modal-content {
        border-radius: 0 !important;
        border: none !important;
        min-height: 100vh !important;
    }
    
    .modal-header {
        background: #1d283a !important;
        color: #fff !important;
        border-radius: 0 !important;
        padding: 14px 16px !important;
        border-bottom: none !important;
    }
    
    .modal-title {
        font-size: 16px !important;
        font-weight: 600 !important;
        color: #fff !important;
    }
    
    .modal-body {
        padding: 16px !important;
    }
    
    .modal-footer {
        padding: 12px 16px !important;
        border-top: 1px solid #e5e7eb !important;
    }
    
    .btn-close {
        filter: brightness(0) invert(1) !important; /* White close button */
    }
}

/* ========================================================================
   MOBILE LISTING PAGE - Compact & Swipeable
   ======================================================================== */
@media (max-width: 991px) {
    /* Image gallery - swipeable */
    .mobile-image-gallery {
        position: relative;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        border-radius: 0;
    }
    
    .mobile-image-gallery::-webkit-scrollbar {
        display: none;
    }
    
    .mobile-gallery-slide {
        scroll-snap-align: start;
        width: 100%;
        height: 280px;
        object-fit: cover;
    }
    
    /* Image indicators - minimal dots */
    .mobile-gallery-indicators {
        position: absolute;
        bottom: 12px;
        left: 50%;
        transform: translateX(-50%);
        display: flex;
        gap: 6px;
    }
    
    .gallery-dot {
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.5);
        transition: all 0.2s ease;
    }
    
    .gallery-dot.active {
        width: 16px;
        border-radius: 3px;
        background: #fff;
    }
    
    /* Ad details - clean layout */
    .mobile-ad-header {
        padding: 16px 12px;
        background: #fff;
        border-bottom: 1px solid #e5e7eb;
    }
    
    .mobile-ad-price-tag {
        font-size: 24px;
        font-weight: 700;
        color: #1d283a;
        margin-bottom: 8px;
    }
    
    .mobile-ad-description {
        padding: 16px 12px;
        background: #fff;
        font-size: 14px;
        line-height: 1.6;
        color: #374151;
    }
    
    /* Contact seller - sticky bottom */
    .mobile-contact-bar {
        position: fixed;
        bottom: 60px; /* Above bottom nav */
        left: 0;
        right: 0;
        background: #fff;
        border-top: 1px solid #e5e7eb;
        padding: 12px;
        display: flex;
        gap: 8px;
        z-index: 1040;
        box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.05);
    }
    
    .mobile-contact-btn {
        flex: 1;
        height: 48px;
        border-radius: 8px;
        font-weight: 600;
        font-size: 15px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        border: none;
        transition: all 0.2s ease;
    }
    
    .mobile-contact-btn-primary {
        background: #f59e0b;
        color: #fff;
    }
    
    .mobile-contact-btn-secondary {
        background: #f4f7f9;
        color: #1d283a;
        border: 1px solid #e5e7eb;
    }
    
    .mobile-contact-btn:active {
        transform: scale(0.97);
    }
}

/* ========================================================================
   MOBILE FOOTER - MINIMAL & COMPACT (Hide Most Sections)
   ======================================================================== */
@media (max-width: 991px) {
    /* Mobile footer: keep it visible but ultra-minimal */
    .footer-modern {
        display: block !important;
    }

    .footer-modern,
    .footer-main {
        padding: 18px 0 0 !important;
        background: #1d283a !important;
    }
    
    /* Hide ΟΛΕΣ τις στήλες - κρατάμε μόνο company info & legal */
    .footer-main .row > div:not(:first-child):not(:last-child) {
        display: none !important;
    }
    
    /* Hide newsletter, categories, support columns (footer only) */
    .footer-main .col-lg-2,
    .footer-main .col-lg-3,
    .footer-main .col-md-6:not(:first-child) {
        display: none !important;
    }
    
    /* Company info - minimal */
    .footer-section {
        margin-bottom: 24px;
        text-align: center;
    }
    
    .footer-brand {
        margin-bottom: 16px !important;
        text-align: center;
    }
    
    .footer-logo {
        max-height: 36px !important;
        margin: 0 auto;
        display: block;
    }
    
    .footer-description {
        font-size: 13px !important;
        line-height: 1.6;
        color: rgba(255, 255, 255, 0.65) !important;
        margin-top: 12px !important;
        display: none !important; /* Hide description on mobile για extra clean look */
    }

    /* Hide app store badges on mobile footer (keep it ultra-minimal) */
    .footer-apps,
    .footer-app-badges,
    .footer-store-badge {
        display: none !important;
    }
    
    /* Social links - horizontal centered */
    .social-links {
        display: flex !important;
        gap: 16px;
        margin-top: 16px;
        justify-content: center !important;
    }
    
    .social-link {
        width: 40px !important;
        height: 40px !important;
        border-radius: 50% !important;
        background: rgba(255, 255, 255, 0.08) !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        color: #fff !important;
        font-size: 18px !important;
        transition: all 0.2s ease;
        border: 1px solid rgba(255, 255, 255, 0.1);
    }
    
    .social-link:active {
        background: rgba(255, 255, 255, 0.15) !important;
        transform: scale(0.92);
    }
    
    /* Footer links - hide most */
    .footer-links {
        display: none !important; /* Hide all footer link lists για minimal look */
    }
    
    .footer-title {
        display: none !important; /* Hide section titles */
    }
    
    /* Footer bottom - minimal copyright */
    .footer-bottom {
        border-top: 1px solid rgba(255, 255, 255, 0.08);
        padding: 20px 16px 0;
        margin-top: 24px;
        text-align: center;
        font-size: 11px;
        color: rgba(255, 255, 255, 0.5);
    }
    
    .footer-bottom p {
        margin-bottom: 12px !important;
        font-size: 11px !important;
    }
    
    .footer-bottom-links {
        display: flex;
        justify-content: center;
        gap: 16px;
        flex-wrap: wrap;
        margin-top: 12px;
    }
    
    .footer-bottom-links a {
        font-size: 11px !important;
        color: rgba(255, 255, 255, 0.5) !important;
        text-decoration: none;
    }
    
    .footer-bottom-links a:active {
        color: #fff !important;
    }
    
    /* Hide newsletter signup on mobile */
    .footer-newsletter,
    .newsletter-section {
        display: none !important;
    }
    
    /* Hide stats/counters on mobile */
    .footer-stats {
        display: none !important;
    }
    
    /* Minimal footer: Logo + Social + Copyright only */
    .footer-main .container {
        padding: 0 24px !important;
    }

    /* Full-screen mobile pages: keep footer hidden to avoid extra scroll */
    body.page-messages .footer-modern,
    body.page-listing-detail .footer-modern {
        display: none !important;
    }
}

/* ========================================================================
   MOBILE PAGE SECTIONS - Clean Spacing
   ======================================================================== */
@media (max-width: 991px) {
    /* Page headers */
    .page-header {
        padding: 16px 12px !important;
        background: #fff;
        border-bottom: 1px solid #e5e7eb;
    }
    
    .page-title {
        font-size: 20px !important;
        font-weight: 700 !important;
        color: #1d283a !important;
        margin: 0 !important;
    }
    
    /* Section spacing */
    .section {
        padding: 16px 0 !important;
    }
    
    .section-title {
        font-size: 16px !important;
        font-weight: 600 !important;
        color: #1d283a !important;
        margin-bottom: 12px !important;
        padding: 0 12px;
    }
    
    /* Content containers */
    .content-wrapper {
        background: #fff;
        margin-bottom: 8px;
    }
    
    /* Dividers */
    .mobile-divider {
        height: 8px;
        background: #f4f7f9;
        margin: 0;
    }
    
    /* Empty states */
    .mobile-empty-state {
        padding: 48px 24px;
        text-align: center;
    }
    
    .mobile-empty-icon {
        font-size: 48px;
        color: #9ca3af;
        margin-bottom: 16px;
    }
    
    .mobile-empty-title {
        font-size: 16px;
        font-weight: 600;
        color: #1d283a;
        margin-bottom: 8px;
    }
    
    .mobile-empty-text {
        font-size: 14px;
        color: #6b7280;
        line-height: 1.5;
    }
}

/* ========================================================================
   HIDE UNNECESSARY ELEMENTS ON MOBILE (Minimal & Clean)
   ======================================================================== */
@media (max-width: 991px) {
    /* Hide sidebars on mobile */
    aside,
    .sidebar,
    .sidebar-widget,
    .widget-area {
        display: none !important;
    }
    
    /* Hide breadcrumbs - δεν χρειάζονται σε mobile */
    .breadcrumb,
    .breadcrumb-section,
    nav[aria-label="breadcrumb"] {
        display: none !important;
    }

    /* Listing/search view toggles are redundant on mobile (compact list layout is enforced) */
    #view-btn-grid,
    #view-btn-list {
        display: none !important;
    }

    /* Footer: app-like mobile (no footer; bottom nav is the primary navigation) */
    footer.footer-modern,
    .footer-modern {
        display: none !important;
    }

    /* Homepage: keep it minimal/compact (show only essentials) */
    .home-main .recommendations-section,
    .home-main .module-section,
    .home-main .popular-locations-section,
    .home-main .top-sellers-section,
    .home-main .trending-searches-section,
    .home-main .trust-safety-section,
    .home-main .cta-section,
    .home-main .premium-section,
    .home-main .float-btn {
        display: none !important;
    }

    /* Homepage floating action button is redundant (bottom nav already has primary action) */
    .float-btn {
        display: none !important;
    }

    /* Make favorite button usable on touch devices */
    .fav-btn {
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    /* Homepage feed: keep it simple like an app (no tabs on mobile) */
    .home-main .feed-section .feed-tabs,
    .home-main .feed-section .view-all {
        display: none !important;
    }

    /* Homepage cards: hide attribute chips for a cleaner, faster scan */
    .home-main .listing-card .attributes,
    .home-main .ad-card .attributes {
        display: none !important;
    }

    /* Homepage: show only Latest feed on mobile */
    .home-main #panel-popular {
        display: none !important;
    }

    /* Latest: infinite scroll (hide the button UI) */
    .home-main .load-more-wrap {
        display: none !important;
    }

    .home-main .home-infinite-sentinel {
        height: 1px;
        width: 100%;
    }

    /* Spotlight (paid listings) - keep slider, remove extra clutter */
    .home-main .spotlight-section .module-header {
        display: none !important; /* remove title area (saves vertical space) */
    }

    .home-main .spotlight-section .arrow,
    .home-main .spotlight-section .boost-cta {
        display: none !important;
    }

    .home-main .spotlight-section {
        padding: 12px 0 !important;
    }

    .home-main .feed-section {
        padding: 12px 0 0 !important;
    }

    .home-main .spotlight-section .track-wrapper {
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .home-main .spotlight-section .track-wrapper::-webkit-scrollbar {
        display: none;
    }

    .home-main .spotlight-section .track {
        scroll-snap-type: x proximity;
    }

    .home-main .spotlight-section .mod-card {
        flex: 0 0 82% !important; /* show 1 card + a peek */
        min-width: 260px !important;
        max-width: 360px !important;
        scroll-snap-align: start;
    }

    /* Premium card: more compact like app */
    .home-main .spotlight-section .mod-card .card-img {
        height: 150px !important;
    }

    .home-main .spotlight-section .mod-card .card-body {
        padding: 10px !important;
    }

    .home-main .spotlight-section .mod-card .price {
        font-size: 15px !important;
        margin-bottom: 2px !important;
    }

    .home-main .spotlight-section .mod-card .card-body h3 {
        font-size: 13px !important;
        line-height: 1.2 !important;
        margin: 0 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 1 !important; /* keep uniform height */
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        height: 1.2em !important;
    }

    .home-main .spotlight-section .mod-card .meta {
        display: none !important; /* remove location line (saves space) */
    }

    /* Homepage cards: reduce height (no wrapping meta) */
    .home-main .listing-card .card-img {
        height: 108px !important;
    }

    .home-main .listing-card .card-body {
        padding: 6px !important;
    }

    .home-main .listing-card .card-body .price {
        margin-bottom: 2px !important;
    }

    .home-main .listing-card .card-body h3 {
        font-size: 13px !important;
        margin: 0 0 4px !important;
        line-height: 1.2 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 1 !important; /* keep uniform height */
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        height: 1.2em !important;
    }

    .home-main .listing-card .card-body .meta {
        flex-wrap: nowrap !important;
        gap: 6px !important;
        font-size: 0.72rem !important;
    }

    .home-main .listing-card .card-body .meta i {
        display: none !important; /* cleaner + less height */
    }

    .home-main .listing-card .card-body .meta span {
        min-width: 0;
    }

    .home-main .listing-card .card-body .meta span:first-child {
        flex: 1 1 auto;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .home-main .listing-card .card-body .meta span:last-child {
        flex: 0 0 auto;
    }
    
    /* Compact page headers - no huge display-4 */
    .display-1,
    .display-2,
    .display-3,
    .display-4 {
        font-size: 24px !important; /* Much smaller on mobile */
        font-weight: 700 !important;
        margin-bottom: 12px !important;
        line-height: 1.2 !important;
    }
    
    /* Compact/Hide hero sections - too large για mobile */
    .hero-section,
    .hero-header,
    .page-hero {
        padding: 16px 12px !important;
        text-align: center;
        background: #fff !important;
        margin-bottom: 0 !important;
    }
    
    .hero-subtitle,
    .hero-description {
        font-size: 13px !important;
        color: #6b7280 !important;
        margin-bottom: 0 !important;
    }
    
    /* Hide hero stats/badges */
    .saved-stats,
    .hero-stats,
    .stat-item {
        display: none !important; /* Too much info για mobile */
    }
    
    /* Hide "col-lg-4" side content in heroes */
    .hero-section .col-lg-4,
    .hero-section .col-md-4 {
        display: none !important;
    }
    
    /* Hero content - full width */
    .hero-section .col-lg-8 {
        width: 100% !important;
        max-width: 100% !important;
        text-align: center !important;
    }
    
    /* Hide large profile avatars - use smaller version */
    .profile-avatar-large {
        width: 80px !important;
        height: 80px !important;
        margin: 0 auto !important;
    }
    
    .profile-avatar-large img {
        width: 80px !important;
        height: 80px !important;
        border-width: 2px !important;
    }
    
    /* Hide desktop pagination - use infinite scroll or simple prev/next */
    .pagination.desktop-style {
        display: none !important;
    }
    
    /* Hide tooltips on mobile */
    .tooltip {
        display: none !important;
    }
    
    /* Hide hover-only elements */
    .hover-only {
        pointer-events: none;
    }
    
    /* Hide desktop filters sidebar */
    .filters-sidebar,
    .desktop-filters {
        display: none !important;
    }
    
    /* Hide desktop ads/banners */
    .desktop-ad-banner,
    .sidebar-ad {
        display: none !important;
    }
    
    /* Hide "Back to top" button - native scroll is better on mobile */
    .back-to-top,
    .scroll-to-top {
        display: none !important;
    }
    
    /* Hide extra user info που δεν χρειάζεται */
    .user-stats-extended,
    .detailed-info-desktop {
        display: none !important;
    }
    
    /* Hide desktop dropdown menus (use mobile alternatives) */
    .navbar-collapse {
        display: none !important;
    }
    
    /* Hide desktop user dropdown */
    .dropdown-menu.desktop {
        display: none !important;
    }
}

/* ========================================================================
   UTILITY CLASSES - Mobile Specific
   ======================================================================== */
@media (max-width: 991px) {
    .mobile-show {
        display: block !important;
    }
    
    .mobile-hide {
        display: none !important;
    }
    
    .desktop-only {
        display: none !important;
    }
    
    .mobile-p-12 {
        padding: 12px !important;
    }
    
    .mobile-mt-0 {
        margin-top: 0 !important;
    }
    
    .mobile-full-width {
        width: 100% !important;
    }
    
    /* Safe area για notch devices */
    .safe-top {
        padding-top: env(safe-area-inset-top);
    }
    
    .safe-bottom {
        padding-bottom: env(safe-area-inset-bottom);
    }
    
    /* Spacing utilities */
    .mobile-spacing-sm {
        padding: 8px !important;
    }
    
    .mobile-spacing-md {
        padding: 12px !important;
    }
    
    .mobile-spacing-lg {
        padding: 16px !important;
    }
    
    /* Background colors */
    .mobile-bg-white {
        background: #fff !important;
    }
    
    .mobile-bg-gray {
        background: #f4f7f9 !important;
    }
}

/* ========================================================================
   MOBILE LIST SCREENS - Categories, Locations, Subcategories
   ======================================================================== */
@media (max-width: 991px) {
    /* Generic list item - clean & minimal */
    .mobile-list-item,
    .list-group-item {
        display: flex !important;
        align-items: center;
        gap: 12px;
        padding: 14px 16px !important;
        background: #fff !important;
        border: none !important;
        border-bottom: 1px solid #e5e7eb !important;
        min-height: 56px; /* Touch-friendly */
        color: #1d283a !important;
        text-decoration: none;
        transition: background 0.2s ease;
    }
    
    .mobile-list-item:active,
    .list-group-item:active {
        background: #f9fafb !important;
    }
    
    /* Icon in list */
    .mobile-list-icon {
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        font-size: 24px;
        color: #6b7280;
    }
    
    .mobile-list-icon img {
        width: 32px;
        height: 32px;
        object-fit: contain;
    }
    
    /* Text content */
    .mobile-list-content {
        flex: 1;
        min-width: 0;
    }
    
    .mobile-list-title {
        font-size: 15px;
        font-weight: 500;
        color: #1d283a;
        margin: 0;
    }
    
    .mobile-list-subtitle {
        font-size: 13px;
        color: #6b7280;
        margin-top: 2px;
    }
    
    /* Arrow indicator */
    .mobile-list-arrow {
        color: #d1d5db;
        font-size: 18px;
        flex-shrink: 0;
    }
    
    /* Section headers in lists */
    .mobile-list-section-header {
        padding: 8px 16px;
        background: #f4f7f9;
        font-size: 12px;
        font-weight: 600;
        color: #6b7280;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        border-bottom: 1px solid #e5e7eb;
    }
    
    /* Radio/Checkbox lists */
    .mobile-radio-item,
    .mobile-checkbox-item {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 16px;
        background: #fff;
        border-bottom: 1px solid #e5e7eb;
        min-height: 56px;
        cursor: pointer;
        transition: background 0.2s ease;
    }
    
    .mobile-radio-item:active,
    .mobile-checkbox-item:active {
        background: #f9fafb;
    }
    
    .mobile-radio-item label,
    .mobile-checkbox-item label {
        flex: 1;
        font-size: 15px;
        font-weight: 400;
        color: #1d283a;
        margin: 0;
        cursor: pointer;
    }
    
    /* Custom radio button */
    .mobile-radio-input,
    .mobile-checkbox-input {
        width: 24px;
        height: 24px;
        flex-shrink: 0;
        cursor: pointer;
    }
    
    /* Search in lists */
    .mobile-list-search {
        padding: 12px;
        background: #fff;
        border-bottom: 1px solid #e5e7eb;
        position: sticky;
        top: 0;
        z-index: 10;
    }
    
    .mobile-list-search input {
        width: 100%;
        height: 44px;
        padding: 0 16px 0 40px;
        background: #f4f7f9;
        border: 1px solid #e5e7eb;
        border-radius: 8px;
        font-size: 15px;
        color: #1d283a;
    }
    
    .mobile-list-search .search-icon {
        position: absolute;
        left: 28px;
        top: 24px;
        color: #9ca3af;
        font-size: 16px;
        pointer-events: none;
    }
}

/* ========================================================================
   MOBILE CATEGORY GRID - Homepage Style (Based on Screenshots)
   ======================================================================== */
@media (max-width: 991px) {
    /* Homepage quick categories (6 tiles) */
    .mobile-home-categories {
        position: relative;
        background: #fff !important;
        padding: 10px 0 6px !important;
        margin: 0 !important;
    }

    .mobile-home-categories .container {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    /* Subtle fade to hint horizontal scrolling */
    .mobile-home-categories::after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 36px;
        pointer-events: none;
        background: linear-gradient(to left, #fff 30%, rgba(255, 255, 255, 0));
    }

    .mobile-home-category-scroll {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        gap: 8px !important;
        padding: 2px 0 8px !important;
        margin: 0 !important;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        scroll-snap-type: x mandatory;
    }

    .mobile-home-category-scroll::-webkit-scrollbar {
        display: none;
    }

    .mobile-home-category-pill {
        flex: 0 0 auto !important;
        width: 94px !important;
        min-height: 74px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        padding: 10px 8px !important;
        background: #f4f7f9 !important;
        border: 1px solid #eef2f7 !important;
        border-radius: 12px !important;
        text-decoration: none !important;
        color: #1d283a !important;
        box-shadow: none !important;
        margin: 0 !important;
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0.04);
        scroll-snap-align: start;
    }

    /* "All Categories" pill - subtle accent to signal the primary browse action */
    .mobile-home-category-pill--all {
        background: #fff !important;
        border: 1px solid rgba(245, 158, 11, 0.35) !important;
    }

    .mobile-home-category-pill--all .mobile-home-category-pill__icon {
        color: #f59e0b !important;
    }

    .mobile-home-category-pill:active {
        transform: scale(0.98);
        background: #e9eef3 !important;
    }

    .mobile-home-category-pill__icon {
        width: 34px !important;
        height: 34px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: #1d283a !important;
    }

    .mobile-home-category-pill__icon i {
        font-size: 28px !important;
        line-height: 1 !important;
    }

    .mobile-home-category-icon-img {
        width: 30px !important;
        height: 30px !important;
        object-fit: contain !important;
        display: block;
    }

    .mobile-home-category-pill__label {
        font-size: 12px !important;
        font-weight: 500 !important;
        text-align: center !important;
        line-height: 1.2 !important;
        margin: 0 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* Categories section - clean background (homepage only) */
    .home-main .categories-section {
        background: #f9fafb !important;
        padding: 12px 0 !important;
        margin: 0 !important;
    }
    
    .home-main .categories-section .container {
        padding: 0 !important;
    }
    
    /* Main category grid - 3 columns */
    .home-main .mobile-category-grid,
    .home-main .categories-grid,
    .home-main .category-grid,
    .home-main .mega-grid {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 8px !important;
        padding: 12px !important;
        background: #f9fafb !important;
        margin: 0 !important;
    }
    
    .home-main .mobile-category-card,
    .home-main .category-card,
    .home-main .cat-card,
    .home-main .mega-category-item,
    .home-main .category-item {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        padding: 14px 8px !important;
        background: #fff !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 10px !important;
        text-decoration: none !important;
        transition: all 0.2s ease;
        min-height: 95px !important;
        box-shadow: none !important;
        margin: 0 !important;
    }
    
    .home-main .mobile-category-card:active,
    .home-main .category-card:active {
        background: #f9fafb !important;
        transform: scale(0.97);
    }
    
    .home-main .mobile-category-icon,
    .home-main .category-icon,
    .home-main .cat-icon {
        font-size: 32px !important;
        margin-bottom: 4px;
        width: 40px !important;
        height: 40px !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
    }
    
    .home-main .category-icon img {
        max-width: 40px !important;
        max-height: 40px !important;
    }
    
    .home-main .mobile-category-name,
    .home-main .category-name,
    .home-main .cat-name {
        font-size: 12px !important;
        font-weight: 500 !important;
        color: #1d283a !important;
        text-align: center !important;
        line-height: 1.2 !important;
        margin: 0 !important;
    }
    
    .home-main .mobile-category-count,
    .home-main .category-count {
        font-size: 11px !important;
        color: #9ca3af !important;
        margin: 0 !important;
    }
    
    /* Hide desktop category menu - use grid on mobile */
    .home-main .category-mega-menu,
    .home-main .category-dropdown-menu {
        display: none !important;
    }
}

/* ========================================================================
   MOBILE TABS - Favorites Style
   ======================================================================== */
@media (max-width: 991px) {
    .mobile-tabs {
        display: flex;
        background: #fff;
        border-bottom: 1px solid #e5e7eb;
        position: sticky;
        top: 0;
        z-index: 100;
    }
    
    .mobile-tab {
        flex: 1;
        padding: 14px 16px;
        text-align: center;
        font-size: 14px;
        font-weight: 500;
        color: #6b7280;
        background: #fff;
        border: none;
        border-bottom: 2px solid transparent;
        cursor: pointer;
        transition: all 0.2s ease;
    }
    
    .mobile-tab:active {
        background: #f9fafb;
    }
    
    .mobile-tab.active {
        color: #1d283a;
        border-bottom-color: #1d283a;
        font-weight: 600;
    }
    
    /* Tab content */
    .mobile-tab-content {
        display: none;
    }
    
    .mobile-tab-content.active {
        display: block;
    }
}

/* ========================================================================
   MOBILE WALLET/PAYMENTS SCREENS
   ======================================================================== */
@media (max-width: 991px) {
    /* Wallet balance card */
    .mobile-wallet-balance {
        padding: 24px 16px;
        background: linear-gradient(135deg, #1d283a 0%, #374151 100%);
        color: #fff;
        text-align: center;
        margin-bottom: 8px;
    }
    
    .mobile-wallet-label {
        font-size: 13px;
        color: rgba(255, 255, 255, 0.7);
        margin-bottom: 8px;
    }
    
    .mobile-wallet-amount {
        font-size: 32px;
        font-weight: 700;
        color: #fff;
        margin: 0;
    }
    
    /* Payment method list */
    .mobile-payment-method {
        display: flex;
        align-items: center;
        gap: 16px;
        padding: 16px;
        background: #fff;
        border-bottom: 1px solid #e5e7eb;
        min-height: 72px;
        cursor: pointer;
        transition: background 0.2s ease;
    }
    
    .mobile-payment-method:active {
        background: #f9fafb;
    }
    
    .mobile-payment-icon {
        width: 48px;
        height: 48px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #f4f7f9;
        border-radius: 12px;
        flex-shrink: 0;
    }
    
    .mobile-payment-icon img {
        max-width: 32px;
        max-height: 32px;
    }
    
    .mobile-payment-name {
        font-size: 15px;
        font-weight: 500;
        color: #1d283a;
    }
    
    /* Transaction list item */
    .mobile-transaction-item {
        display: flex;
        gap: 12px;
        padding: 14px 16px;
        background: #fff;
        border-bottom: 1px solid #e5e7eb;
    }
    
    .mobile-transaction-icon {
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #f4f7f9;
        border-radius: 50%;
        flex-shrink: 0;
        font-size: 18px;
    }
    
    .mobile-transaction-icon.success {
        background: rgba(16, 185, 129, 0.1);
        color: #10b981;
    }
    
    .mobile-transaction-icon.pending {
        background: rgba(245, 158, 11, 0.1);
        color: #f59e0b;
    }
    
    .mobile-transaction-icon.failed {
        background: rgba(239, 68, 68, 0.1);
        color: #ef4444;
    }
    
    .mobile-transaction-content {
        flex: 1;
        min-width: 0;
    }
    
    .mobile-transaction-title {
        font-size: 14px;
        font-weight: 500;
        color: #1d283a;
        margin-bottom: 4px;
    }
    
    .mobile-transaction-meta {
        font-size: 12px;
        color: #9ca3af;
    }
    
    .mobile-transaction-amount {
        font-size: 16px;
        font-weight: 700;
        color: #1d283a;
        text-align: right;
        flex-shrink: 0;
    }
    
    .mobile-transaction-amount.positive {
        color: #10b981;
    }
    
    .mobile-transaction-amount.negative {
        color: #ef4444;
    }
}

/* ========================================================================
   MOBILE PROFILE/SETTINGS SCREENS
   ======================================================================== */
@media (max-width: 991px) {
    /* Profile header */
    .mobile-profile-header {
        padding: 24px 16px;
        background: #fff;
        text-align: center;
        border-bottom: 8px solid #f4f7f9;
    }
    
    .mobile-profile-avatar {
        width: 80px;
        height: 80px;
        border-radius: 50%;
        background: #e5e7eb;
        margin: 0 auto 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 32px;
        color: #9ca3af;
    }
    
    .mobile-profile-name {
        font-size: 20px;
        font-weight: 700;
        color: #1d283a;
        margin-bottom: 4px;
    }
    
    .mobile-profile-phone {
        font-size: 14px;
        color: #6b7280;
    }
    
    /* Stats cards */
    .mobile-stats-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
        padding: 16px;
        background: #fff;
        border-bottom: 8px solid #f4f7f9;
    }
    
    .mobile-stat-card {
        padding: 16px;
        background: #f9fafb;
        border: 1px solid #e5e7eb;
        border-radius: 12px;
        text-align: center;
    }
    
    .mobile-stat-icon {
        width: 40px;
        height: 40px;
        margin: 0 auto 8px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #fff;
        border-radius: 10px;
        font-size: 20px;
    }
    
    .mobile-stat-value {
        font-size: 24px;
        font-weight: 700;
        color: #1d283a;
        margin-bottom: 4px;
    }
    
    .mobile-stat-label {
        font-size: 12px;
        color: #6b7280;
        font-weight: 500;
    }
    
    /* Settings/Menu items */
    .mobile-menu-item {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 16px;
        background: #fff;
        border-bottom: 1px solid #e5e7eb;
        min-height: 56px;
        color: #1d283a;
        text-decoration: none;
        transition: background 0.2s ease;
    }
    
    .mobile-menu-item:active {
        background: #f9fafb;
    }
    
    .mobile-menu-item.danger {
        color: #dc2626;
    }
    
    .mobile-menu-icon {
        width: 32px;
        height: 32px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #f4f7f9;
        border-radius: 8px;
        font-size: 16px;
        flex-shrink: 0;
    }
    
    .mobile-menu-icon.danger {
        background: rgba(220, 38, 38, 0.1);
        color: #dc2626;
    }
    
    .mobile-menu-label {
        flex: 1;
        font-size: 15px;
        font-weight: 400;
    }
    
    .mobile-menu-value {
        font-size: 14px;
        color: #6b7280;
        margin-right: 8px;
    }
    
    /* Toggle switch in settings */
    .mobile-toggle {
        position: relative;
        width: 51px;
        height: 31px;
        flex-shrink: 0;
    }
    
    .mobile-toggle input {
        opacity: 0;
        width: 0;
        height: 0;
    }
    
    .mobile-toggle-slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #d1d5db;
        transition: .3s;
        border-radius: 31px;
    }
    
    .mobile-toggle-slider:before {
        position: absolute;
        content: "";
        height: 27px;
        width: 27px;
        left: 2px;
        bottom: 2px;
        background-color: white;
        transition: .3s;
        border-radius: 50%;
    }
    
    .mobile-toggle input:checked + .mobile-toggle-slider {
        background-color: #10b981;
    }
    
    .mobile-toggle input:checked + .mobile-toggle-slider:before {
        transform: translateX(20px);
    }
}

/* ========================================================================
   MOBILE CHAT/MESSAGES SCREENS
   ======================================================================== */
@media (max-width: 991px) {
    /* Conversations list - full width on mobile */
    .conversations-list,
    .messages-sidebar {
        width: 100% !important;
        max-width: 100% !important;
        border-right: none !important;
    }
    
    /* Hide messages panel on conversation list view */
    .messages-panel {
        display: none !important; /* Show only when conversation selected */
    }
    
    /* When conversation selected, hide list */
    body.conversation-active .conversations-list {
        display: none !important;
    }
    
    body.conversation-active .messages-panel {
        display: flex !important;
    }
    
    /* Chat list item */
    .mobile-chat-item,
    .conversation-item {
        display: flex !important;
        gap: 12px !important;
        padding: 12px 16px !important;
        background: #fff !important;
        border-bottom: 1px solid #e5e7eb !important;
        cursor: pointer;
        transition: background 0.2s ease;
        border-radius: 0 !important;
        border-left: none !important;
        border-right: none !important;
        border-top: none !important;
        margin: 0 !important;
    }
    
    .mobile-chat-item:active,
    .conversation-item:active,
    .conversation-item:hover {
        background: #f9fafb !important;
    }
    
    .mobile-chat-item.unread,
    .conversation-item.has-unread {
        background: #f0fdf4 !important;
    }
    
    .conversation-item.active {
        background: #eff6ff !important;
        border-left: 3px solid #3b82f6 !important;
    }
    
    .mobile-chat-avatar,
    .conversation-avatar {
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        border-radius: 50% !important;
        background: #e5e7eb !important;
        flex-shrink: 0 !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        font-size: 20px;
        color: #9ca3af;
        overflow: hidden !important;
        margin: 0 !important;
    }
    
    .conversation-avatar img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
    
    .mobile-chat-content {
        flex: 1;
        min-width: 0;
    }
    
    .mobile-chat-header {
        display: flex;
        justify-content: space-between;
        margin-bottom: 4px;
    }
    
    .mobile-chat-name {
        font-size: 14px;
        font-weight: 600;
        color: #1d283a;
    }
    
    .mobile-chat-time {
        font-size: 11px;
        color: #9ca3af;
        flex-shrink: 0;
    }
    
    .mobile-chat-preview {
        font-size: 13px;
        color: #6b7280;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    
    .mobile-chat-preview.unread {
        color: #1d283a;
        font-weight: 500;
    }
    
    /* Chat messages screen */
    .mobile-chat-messages {
        padding: 12px;
        background: #f9fafb;
        min-height: calc(100vh - 160px);
    }
    
    .mobile-message-bubble {
        max-width: 75%;
        padding: 10px 14px;
        border-radius: 16px;
        margin-bottom: 8px;
        font-size: 14px;
        line-height: 1.4;
        word-wrap: break-word;
    }
    
    .mobile-message-bubble.sent {
        background: #1d283a;
        color: #fff;
        margin-left: auto;
        border-bottom-right-radius: 4px;
    }
    
    .mobile-message-bubble.received {
        background: #fff;
        color: #1d283a;
        margin-right: auto;
        border-bottom-left-radius: 4px;
        border: 1px solid #e5e7eb;
    }
    
    .mobile-message-time {
        font-size: 10px;
        color: rgba(255, 255, 255, 0.6);
        margin-top: 4px;
        display: flex;
        align-items: center;
        gap: 4px;
    }
    
    .mobile-message-bubble.received .mobile-message-time {
        color: #9ca3af;
    }
    
    /* Chat input */
    .mobile-chat-input-bar {
        position: fixed;
        bottom: 60px; /* Above bottom nav */
        left: 0;
        right: 0;
        background: #fff;
        border-top: 1px solid #e5e7eb;
        padding: 8px 12px;
        display: flex;
        gap: 8px;
        align-items: center;
        z-index: 1040;
    }
    
    .mobile-chat-input {
        flex: 1;
        min-height: 40px;
        max-height: 100px;
        padding: 10px 14px;
        background: #f4f7f9;
        border: 1px solid #e5e7eb;
        border-radius: 20px;
        font-size: 15px;
        resize: none;
        overflow-y: auto;
    }
    
    .mobile-chat-send-btn {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: #f59e0b;
        color: #fff;
        border: none;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 18px;
        flex-shrink: 0;
        transition: all 0.2s ease;
    }
    
    .mobile-chat-send-btn:active {
        transform: scale(0.9);
        background: #d97706;
    }
    
    .mobile-chat-send-btn:disabled {
        background: #d1d5db;
        color: #9ca3af;
    }
    
    /* Chat policy modal/alert */
    .mobile-chat-policy {
        padding: 24px;
        background: #eff6ff;
        border: 1px solid #dbeafe;
        border-radius: 12px;
        margin: 16px 12px;
    }
    
    .mobile-chat-policy-icon {
        width: 48px;
        height: 48px;
        margin: 0 auto 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #3b82f6;
        border-radius: 50%;
        font-size: 24px;
        color: #fff;
    }
    
    .mobile-chat-policy-title {
        font-size: 18px;
        font-weight: 700;
        color: #1d283a;
        text-align: center;
        margin-bottom: 12px;
    }
    
    .mobile-chat-policy-text {
        font-size: 14px;
        color: #4b5563;
        line-height: 1.6;
        text-align: center;
    }
}

/* ========================================================================
   RESPONSIVE IMAGES - Optimize για Mobile
   ======================================================================== */
@media (max-width: 991px) {
    /* All images - responsive */
    img {
        max-width: 100% !important;
        height: auto !important;
    }
    
    /* Prevent layout shift */
    img[width],
    img[height] {
        width: auto !important;
        height: auto !important;
        max-width: 100% !important;
    }
    
    /* Logo images */
    .navbar-logo,
    .footer-logo,
    .brand-logo {
        max-height: 32px !important;
        width: auto !important;
    }
    
    /* Ad thumbnail images (list layouts) */
    .listing-card .listing-image img,
    .mobile-ad-image {
        width: 100px !important;
        height: 100px !important;
        object-fit: cover !important;
    }
    
    /* Avatar images */
    .avatar,
    .user-avatar,
    .conversation-avatar img,
    .profile-avatar img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
}

/* ========================================================================
   PERFORMANCE OPTIMIZATIONS
   ======================================================================== */
@media (max-width: 991px) {
    /* Reduce animations για καλύτερη performance */
    * {
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0.05);
    }
    
    /* Smooth scrolling */
    html {
        scroll-behavior: smooth;
    }
    
    /* GPU acceleration για animations */
    .mobile-nav-item,
    .mobile-icon-btn,
    .mobile-ad-card,
    .listing-card,
    .mobile-list-item {
        will-change: transform;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }
    
    /* Optimize scrolling */
    .mobile-category-chips,
    .mobile-filter-pills,
    .filter-bar-section .row {
        -webkit-overflow-scrolling: touch;
    }
    
    /* Reduce motion για users με preference */
    @media (prefers-reduced-motion: reduce) {
        *,
        *::before,
        *::after {
            animation-duration: 0.01ms !important;
            animation-iteration-count: 1 !important;
            transition-duration: 0.01ms !important;
        }
    }
}

/* ========================================================================
   MOBILE POST AD / FORM SCREENS
   ======================================================================== */
@media (max-width: 991px) {
    /* Form page header με title + next button */
    .mobile-form-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 12px 16px;
        background: #fff;
        border-bottom: 1px solid #e5e7eb;
        position: sticky;
        top: 0;
        z-index: 100;
    }
    
    .mobile-form-back {
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #1d283a;
        font-size: 20px;
        background: none;
        border: none;
        cursor: pointer;
    }
    
    .mobile-form-title {
        font-size: 16px;
        font-weight: 600;
        color: #1d283a;
        flex: 1;
        text-align: center;
    }
    
    .mobile-form-next {
        font-size: 15px;
        font-weight: 600;
        color: #f59e0b;
        background: none;
        border: none;
        padding: 8px 12px;
        cursor: pointer;
    }
    
    .mobile-form-next:disabled {
        color: #d1d5db;
    }
    
    /* Form sections με labels */
    .mobile-form-section {
        background: #fff;
        margin-bottom: 8px;
    }
    
    .mobile-form-section-label {
        padding: 8px 16px;
        font-size: 11px;
        font-weight: 600;
        color: #9ca3af;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        background: #f9fafb;
    }
    
    .mobile-form-field {
        padding: 14px 16px;
        border-bottom: 1px solid #e5e7eb;
        min-height: 56px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
    }
    
    .mobile-form-field:last-child {
        border-bottom: none;
    }
    
    .mobile-form-field-label {
        font-size: 15px;
        font-weight: 400;
        color: #1d283a;
        flex-shrink: 0;
    }
    
    .mobile-form-field-value {
        font-size: 15px;
        color: #6b7280;
        text-align: right;
        flex: 1;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    
    .mobile-form-field-input {
        flex: 1;
        border: none;
        background: none;
        font-size: 15px;
        color: #1d283a;
        text-align: right;
        padding: 0;
    }
    
    .mobile-form-field-input::placeholder {
        color: #d1d5db;
    }
    
    .mobile-form-field-input:focus {
        outline: none;
    }
    
    /* Breadcrumb path */
    .mobile-breadcrumb {
        padding: 12px 16px;
        background: #fff;
        border-bottom: 1px solid #e5e7eb;
        font-size: 13px;
        color: #6b7280;
        overflow-x: auto;
        white-space: nowrap;
    }
    
    .mobile-breadcrumb a {
        color: #6b7280;
        text-decoration: none;
    }
    
    .mobile-breadcrumb .separator {
        margin: 0 6px;
        color: #d1d5db;
    }
    
    /* Image upload area */
    .mobile-upload-area {
        padding: 32px 24px;
        background: #f9fafb;
        border: 2px dashed #d1d5db;
        border-radius: 12px;
        margin: 16px;
        text-align: center;
        cursor: pointer;
        transition: all 0.2s ease;
    }
    
    .mobile-upload-area:active {
        background: #f4f7f9;
        border-color: #9ca3af;
    }
    
    .mobile-upload-icon {
        width: 64px;
        height: 64px;
        margin: 0 auto 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #fff;
        border-radius: 50%;
        font-size: 28px;
        color: #9ca3af;
    }
    
    .mobile-upload-text {
        font-size: 15px;
        font-weight: 500;
        color: #1d283a;
        margin-bottom: 4px;
    }
    
    .mobile-upload-hint {
        font-size: 12px;
        color: #6b7280;
        line-height: 1.5;
    }
    
    /* Uploaded images preview */
    .mobile-images-preview {
        display: flex;
        gap: 8px;
        padding: 16px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    
    .mobile-images-preview::-webkit-scrollbar {
        display: none;
    }
    
    .mobile-preview-image {
        position: relative;
        width: 80px;
        height: 80px;
        flex-shrink: 0;
        border-radius: 8px;
        overflow: hidden;
    }
    
    .mobile-preview-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    
    .mobile-preview-remove {
        position: absolute;
        top: 4px;
        right: 4px;
        width: 24px;
        height: 24px;
        background: rgba(0, 0, 0, 0.6);
        color: #fff;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 12px;
        cursor: pointer;
    }
    
    /* Grid selector (body types, etc.) */
    .mobile-grid-selector {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
        padding: 16px;
        background: #fff;
    }
    
    .mobile-grid-option {
        padding: 14px;
        background: #fff;
        border: 2px solid #e5e7eb;
        border-radius: 10px;
        text-align: center;
        font-size: 14px;
        font-weight: 500;
        color: #1d283a;
        cursor: pointer;
        transition: all 0.2s ease;
    }
    
    .mobile-grid-option:active {
        transform: scale(0.97);
    }
    
    .mobile-grid-option.selected {
        border-color: #1d283a;
        background: #f9fafb;
        color: #1d283a;
    }
}

/* ========================================================================
   MOBILE AD DETAIL SCREEN
   ======================================================================== */
@media (max-width: 991px) {
    /* Ad detail header με actions */
    .mobile-ad-detail-header {
        position: sticky;
        top: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 12px 16px;
        background: #fff;
        border-bottom: 1px solid #e5e7eb;
        z-index: 100;
    }
    
    .mobile-ad-detail-actions {
        display: flex;
        gap: 8px;
    }
    
    .mobile-ad-action-btn {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: #f4f7f9;
        border: none;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 18px;
        color: #1d283a;
        cursor: pointer;
    }
    
    .mobile-ad-action-btn.favorite.active {
        color: #dc2626;
        background: rgba(220, 38, 38, 0.1);
    }
    
    /* Price section */
    .mobile-price-section {
        padding: 16px;
        background: #fff;
        border-bottom: 8px solid #f4f7f9;
    }
    
    .mobile-current-price {
        font-size: 28px;
        font-weight: 700;
        color: #1d283a;
        margin-bottom: 4px;
    }
    
    .mobile-original-price {
        font-size: 14px;
        color: #9ca3af;
        text-decoration: line-through;
        margin-left: 8px;
    }
    
    .mobile-negotiable-badge {
        display: inline-block;
        padding: 4px 10px;
        background: #f0fdf4;
        color: #10b981;
        border-radius: 6px;
        font-size: 11px;
        font-weight: 600;
        margin-top: 8px;
    }
    
    /* Verified seller badge */
    .mobile-verified-badge {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        padding: 6px 12px;
        background: #f0fdf4;
        color: #10b981;
        border-radius: 20px;
        font-size: 12px;
        font-weight: 600;
        margin-bottom: 12px;
    }
    
    /* Specs table */
    .mobile-specs-table {
        background: #fff;
        border-bottom: 8px solid #f4f7f9;
    }
    
    .mobile-spec-row {
        display: flex;
        justify-content: space-between;
        padding: 14px 16px;
        border-bottom: 1px solid #e5e7eb;
    }
    
    .mobile-spec-label {
        font-size: 14px;
        color: #6b7280;
    }
    
    .mobile-spec-value {
        font-size: 14px;
        font-weight: 600;
        color: #1d283a;
        text-align: right;
    }
    
    /* Description section */
    .mobile-description-section {
        padding: 16px;
        background: #fff;
        border-bottom: 8px solid #f4f7f9;
    }
    
    .mobile-section-title {
        font-size: 16px;
        font-weight: 600;
        color: #1d283a;
        margin-bottom: 12px;
    }
    
    .mobile-description-text {
        font-size: 14px;
        color: #4b5563;
        line-height: 1.6;
        word-wrap: break-word;
    }
    
    /* Seller info card */
    .mobile-seller-card {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 16px;
        background: #fff;
        border-bottom: 8px solid #f4f7f9;
    }
    
    .mobile-seller-avatar {
        width: 48px;
        height: 48px;
        border-radius: 50%;
        background: #e5e7eb;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 20px;
        color: #9ca3af;
        flex-shrink: 0;
    }
    
    .mobile-seller-info {
        flex: 1;
    }
    
    .mobile-seller-name {
        font-size: 15px;
        font-weight: 600;
        color: #1d283a;
        margin-bottom: 2px;
    }
    
    .mobile-seller-meta {
        font-size: 12px;
        color: #6b7280;
    }
}

/* ========================================================================
   MOBILE MODAL/BOTTOM SHEETS - Full Screen Overlays
   ======================================================================== */
@media (max-width: 991px) {
    /* Category selector bottom sheet */
    .mobile-bottom-sheet {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        background: #fff;
        border-radius: 20px 20px 0 0;
        max-height: 70vh;
        z-index: 1060;
        transform: translateY(100%);
        transition: transform 0.3s ease;
        overflow: hidden;
    }
    
    .mobile-bottom-sheet.show {
        transform: translateY(0);
    }
    
    .mobile-bottom-sheet-handle {
        width: 40px;
        height: 4px;
        background: #d1d5db;
        border-radius: 2px;
        margin: 12px auto;
    }
    
    .mobile-bottom-sheet-header {
        padding: 16px;
        border-bottom: 1px solid #e5e7eb;
        text-align: center;
        font-size: 16px;
        font-weight: 600;
        color: #1d283a;
    }
    
    .mobile-bottom-sheet-content {
        overflow-y: auto;
        max-height: calc(70vh - 60px);
        -webkit-overflow-scrolling: touch;
    }
    
    /* Close button για bottom sheet */
    .mobile-bottom-sheet-close {
        position: absolute;
        top: 16px;
        right: 16px;
        width: 32px;
        height: 32px;
        border-radius: 50%;
        background: #f4f7f9;
        border: none;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 18px;
        color: #6b7280;
        cursor: pointer;
    }
    
    /* Backdrop overlay */
    .mobile-backdrop {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 1055;
        opacity: 0;
        transition: opacity 0.3s ease;
        pointer-events: none;
    }
    
    .mobile-backdrop.show {
        opacity: 1;
        pointer-events: auto;
    }
    
    /* Filter modal content */
    .mobile-filter-section {
        padding: 16px;
        border-bottom: 8px solid #f4f7f9;
    }
    
    .mobile-filter-title {
        font-size: 14px;
        font-weight: 600;
        color: #1d283a;
        margin-bottom: 12px;
    }
    
    .mobile-filter-options {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }
    
    /* Price range inputs */
    .mobile-price-range {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }
    
    .mobile-price-input {
        position: relative;
    }
    
    .mobile-price-input label {
        display: block;
        font-size: 12px;
        color: #6b7280;
        margin-bottom: 6px;
    }
    
    .mobile-price-input input {
        width: 100%;
        height: 48px;
        padding: 0 12px 0 32px;
        background: #f4f7f9;
        border: 1px solid #e5e7eb;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        color: #1d283a;
    }
    
    .mobile-price-input .currency {
        position: absolute;
        left: 12px;
        top: 38px;
        font-size: 16px;
        color: #6b7280;
        font-weight: 400;
    }
    
    /* Filter footer με actions */
    .mobile-filter-footer {
        position: sticky;
        bottom: 0;
        padding: 12px 16px;
        background: #fff;
        border-top: 1px solid #e5e7eb;
        display: flex;
        gap: 12px;
    }
    
    .mobile-filter-reset {
        flex: 1;
        height: 48px;
        background: #f4f7f9;
        border: 1px solid #e5e7eb;
        border-radius: 8px;
        font-size: 15px;
        font-weight: 600;
        color: #1d283a;
        cursor: pointer;
    }
    
    .mobile-filter-apply {
        flex: 2;
        height: 48px;
        background: #10b981;
        border: none;
        border-radius: 8px;
        font-size: 15px;
        font-weight: 600;
        color: #fff;
        cursor: pointer;
    }
    
    .mobile-filter-apply:active {
        background: #059669;
        transform: scale(0.98);
    }
}

/* ========================================================================
   MOBILE MAP INTEGRATION
   ======================================================================== */
@media (max-width: 991px) {
    .mobile-map-container {
        position: relative;
        width: 100%;
        height: calc(100vh - 180px);
        background: #f4f7f9;
    }
    
    .mobile-map-controls {
        position: absolute;
        right: 12px;
        top: 50%;
        transform: translateY(-50%);
        display: flex;
        flex-direction: column;
        gap: 8px;
        z-index: 10;
    }
    
    .mobile-map-btn {
        width: 48px;
        height: 48px;
        background: #fff;
        border: 1px solid #e5e7eb;
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 20px;
        color: #1d283a;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        cursor: pointer;
    }
    
    .mobile-map-btn:active {
        background: #f9fafb;
        transform: scale(0.95);
    }
    
    /* Location search bar on map */
    .mobile-map-search {
        position: absolute;
        top: 12px;
        left: 12px;
        right: 12px;
        z-index: 10;
    }
    
    .mobile-map-search-input {
        width: 100%;
        height: 48px;
        padding: 0 16px;
        background: #fff;
        border: 1px solid #e5e7eb;
        border-radius: 12px;
        font-size: 15px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    }
    
    /* Radius selector chips */
    .mobile-radius-chips {
        position: absolute;
        bottom: 80px;
        left: 0;
        right: 0;
        display: flex;
        gap: 8px;
        padding: 0 12px;
        overflow-x: auto;
        scrollbar-width: none;
        z-index: 10;
    }
    
    .mobile-radius-chips::-webkit-scrollbar {
        display: none;
    }
    
    .mobile-radius-chip {
        padding: 10px 16px;
        background: #fff;
        border: 1px solid #e5e7eb;
        border-radius: 20px;
        font-size: 14px;
        font-weight: 500;
        color: #1d283a;
        white-space: nowrap;
        flex-shrink: 0;
        cursor: pointer;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
    }
    
    .mobile-radius-chip.active {
        background: #f59e0b;
        color: #fff;
        border-color: #f59e0b;
    }
    
    /* Apply location button */
    .mobile-map-apply {
        position: absolute;
        bottom: 12px;
        left: 12px;
        right: 12px;
        height: 56px;
        background: #10b981;
        border: none;
        border-radius: 12px;
        font-size: 16px;
        font-weight: 600;
        color: #fff;
        box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
        z-index: 10;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
    }
    
    .mobile-map-apply .badge {
        background: rgba(255, 255, 255, 0.2);
        padding: 4px 8px;
        border-radius: 12px;
        font-size: 12px;
    }
}

/* ========================================================================
   MOBILE ALERT/INFO BOXES
   ======================================================================== */
@media (max-width: 991px) {
    .mobile-alert {
        padding: 16px;
        margin: 12px;
        border-radius: 12px;
        display: flex;
        align-items: flex-start;
        gap: 12px;
    }
    
    .mobile-alert-icon {
        width: 24px;
        height: 24px;
        flex-shrink: 0;
        font-size: 20px;
    }
    
    .mobile-alert-content {
        flex: 1;
    }
    
    .mobile-alert-title {
        font-size: 14px;
        font-weight: 600;
        margin-bottom: 4px;
    }
    
    .mobile-alert-text {
        font-size: 13px;
        line-height: 1.5;
    }
    
    /* Alert variants */
    .mobile-alert.info {
        background: #eff6ff;
        border: 1px solid #dbeafe;
    }
    
    .mobile-alert.info .mobile-alert-icon {
        color: #3b82f6;
    }
    
    .mobile-alert.info .mobile-alert-title {
        color: #1e40af;
    }
    
    .mobile-alert.info .mobile-alert-text {
        color: #3b82f6;
    }
    
    .mobile-alert.warning {
        background: #fffbeb;
        border: 1px solid #fde68a;
    }
    
    .mobile-alert.warning .mobile-alert-icon {
        color: #f59e0b;
    }
    
    .mobile-alert.warning .mobile-alert-title {
        color: #92400e;
    }
    
    .mobile-alert.warning .mobile-alert-text {
        color: #d97706;
    }
    
    .mobile-alert.danger {
        background: #fef2f2;
        border: 1px solid #fecaca;
    }
    
    .mobile-alert.danger .mobile-alert-icon {
        color: #dc2626;
    }
    
    .mobile-alert.danger .mobile-alert-title {
        color: #991b1b;
    }
    
    .mobile-alert.danger .mobile-alert-text {
        color: #dc2626;
    }
    
    .mobile-alert.success {
        background: #f0fdf4;
        border: 1px solid #bbf7d0;
    }
    
    .mobile-alert.success .mobile-alert-icon {
        color: #10b981;
    }
    
    .mobile-alert.success .mobile-alert-title {
        color: #065f46;
    }
    
    .mobile-alert.success .mobile-alert-text {
        color: #059669;
    }
}

/* ========================================================================
   PAYMENTS / WALLET / PROMOTE (Mobile) - Compact layouts
   ======================================================================== */
@media (max-width: 991px) {
    body.page-wallet .breadcrumb-section,
    body.page-checkout .breadcrumb-section,
    body.page-premium-marketplace .breadcrumb-section {
        display: none !important;
    }

    /* Hide heavy desktop heroes and footers on these flows */
    body.page-wallet .hero-section,
    body.page-checkout .hero-section,
    body.page-premium-marketplace .hero-section,
    body.page-wallet .footer-modern,
    body.page-checkout .footer-modern,
    body.page-premium-marketplace .footer-modern {
        display: none !important;
    }

    /* These flows don't need the mobile header search bar */
    body.page-wallet .mobile-search-bar,
    body.page-checkout .mobile-search-bar,
    body.page-premium-marketplace .mobile-search-bar,
    body.page-subscription-checkout .mobile-search-bar {
        display: none !important;
    }

    /* Promote marketplace: hide desktop card grid container on mobile */
    body.page-premium-marketplace > div.container.mt-4 {
        display: none !important;
    }

    /* Promote marketplace (mobile app screen) */
    body.page-premium-marketplace .promote-mobile {
        padding: 12px 12px 16px !important;
        background: #fff;
    }

    body.page-premium-marketplace .promote-mobile-top {
        position: sticky;
        top: calc(60px + env(safe-area-inset-top, 0px));
        z-index: 1010;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 10px 0;
        background: #fff;
        border-bottom: 1px solid #eef2f7;
    }

    body.page-premium-marketplace .promote-mobile-back,
    body.page-premium-marketplace .promote-mobile-wallet {
        width: 40px;
        height: 40px;
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #1d283a;
        background: #f4f7f9;
        border: 1px solid #eef2f7;
        text-decoration: none;
    }

    body.page-premium-marketplace .promote-mobile-title {
        flex: 1;
        text-align: center;
        font-weight: 800;
        font-size: 14px;
        color: #1d283a;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    body.page-premium-marketplace .promote-mobile-ad {
        padding: 12px 0;
    }

    body.page-premium-marketplace .promote-mobile-ad-label {
        font-size: 12px;
        color: #64748b;
        margin-bottom: 4px;
    }

    body.page-premium-marketplace .promote-mobile-ad-title {
        font-size: 14px;
        font-weight: 700;
        color: #0f172a;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    body.page-premium-marketplace .promote-mobile-balance {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 12px;
        border: 1px solid #eef2f7;
        background: #fff;
        border-radius: 14px;
        box-shadow: 0 1px 0 rgba(15, 23, 42, 0.03);
        margin-bottom: 12px;
    }

    body.page-premium-marketplace .promote-mobile-balance-label {
        font-size: 12px;
        color: #64748b;
    }

    body.page-premium-marketplace .promote-mobile-balance-value {
        font-size: 16px;
        font-weight: 900;
        color: #0f172a;
        line-height: 1.2;
    }

    body.page-premium-marketplace .promote-mobile-balance-btn {
        white-space: nowrap;
        padding: 10px 12px;
        border-radius: 12px;
        background: #f4f7f9;
        color: #1d283a;
        border: 1px solid #eef2f7;
        text-decoration: none;
        font-weight: 700;
        font-size: 12px;
    }

    body.page-premium-marketplace .promote-mobile-list {
        display: flex;
        flex-direction: column;
        gap: 10px;
        padding-top: 6px;
    }

    body.page-premium-marketplace .promote-mobile-item {
        display: flex;
        align-items: stretch;
        justify-content: space-between;
        gap: 12px;
        padding: 12px;
        border: 1px solid #eef2f7;
        border-radius: 14px;
        background: #fff;
        box-shadow: 0 1px 0 rgba(15, 23, 42, 0.03);
    }

    body.page-premium-marketplace .promote-mobile-item.is-active {
        border-color: rgba(16, 185, 129, 0.35);
        background: rgba(16, 185, 129, 0.04);
    }

    body.page-premium-marketplace .promote-mobile-item-main {
        min-width: 0;
        flex: 1;
    }

    body.page-premium-marketplace .promote-mobile-item-name {
        display: flex;
        align-items: center;
        gap: 8px;
        font-weight: 800;
        font-size: 14px;
        color: #0f172a;
        margin-bottom: 4px;
    }

    body.page-premium-marketplace .promote-mobile-item-name i {
        color: #f59e0b;
        font-size: 16px;
    }

    body.page-premium-marketplace .promote-mobile-item-desc {
        font-size: 12px;
        color: #64748b;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        margin-bottom: 8px;
    }

    body.page-premium-marketplace .promote-mobile-item-meta {
        display: flex;
        align-items: center;
        gap: 6px;
        font-size: 12px;
        color: #475569;
    }

    body.page-premium-marketplace .promote-mobile-item-price {
        font-weight: 900;
        color: #1d283a;
    }

    body.page-premium-marketplace .promote-mobile-item-dot {
        color: #cbd5e1;
    }

    body.page-premium-marketplace .promote-mobile-item-actions {
        display: flex;
        align-items: center;
    }

    body.page-premium-marketplace .promote-mobile-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 10px 12px;
        border-radius: 12px;
        font-weight: 800;
        font-size: 12px;
        text-decoration: none;
        border: 1px solid transparent;
        min-width: 84px;
    }

    body.page-premium-marketplace .promote-mobile-btn-primary {
        background: #f59e0b;
        color: #fff;
        border-color: #f59e0b;
    }

    body.page-premium-marketplace .promote-mobile-btn-muted {
        background: #e2e8f0;
        color: #475569;
        border-color: #e2e8f0;
    }

    /* Checkout (mobile app screen) */
    body.page-checkout .checkout-mobile {
        padding: 12px 12px 8px !important;
        background: #fff;
    }

    body.page-checkout .checkout-mobile-top {
        position: sticky;
        top: calc(60px + env(safe-area-inset-top, 0px));
        z-index: 1010;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 10px 0;
        background: #fff;
        border-bottom: 1px solid #eef2f7;
    }

    body.page-checkout .checkout-mobile-back,
    body.page-checkout .checkout-mobile-wallet {
        width: 40px;
        height: 40px;
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #1d283a;
        background: #f4f7f9;
        border: 1px solid #eef2f7;
        text-decoration: none;
    }

    body.page-checkout .checkout-mobile-title {
        flex: 1;
        text-align: center;
        font-weight: 800;
        font-size: 14px;
        color: #1d283a;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    body.page-checkout .checkout-mobile-summary {
        padding: 12px 0 0;
    }

    body.page-checkout .checkout-mobile-row {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 10px;
    }

    body.page-checkout .checkout-mobile-feature {
        font-weight: 900;
        font-size: 14px;
        color: #0f172a;
        min-width: 0;
        flex: 1;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.page-checkout .checkout-mobile-price {
        font-weight: 900;
        font-size: 14px;
        color: #1d283a;
        white-space: nowrap;
    }

    body.page-checkout .checkout-mobile-ad {
        margin-top: 6px;
        font-size: 12px;
        color: #64748b;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    body.page-checkout .checkout-mobile-sub {
        margin-top: 8px;
        display: flex;
        gap: 8px;
        flex-wrap: wrap;
        font-size: 12px;
        color: #475569;
    }

    body.page-checkout .checkout-mobile-sub-warn {
        color: #d97706;
        font-weight: 800;
    }

    /* Checkout: hide heavy order summary column on mobile */
    body.page-checkout .container.py-4 .row.g-4 > .col-md-7 {
        display: none !important;
    }

    /* Checkout: compact payment method card on mobile */
    body.page-checkout .container.py-4 {
        padding-top: 10px !important;
    }

    body.page-checkout .container.py-4 .row.justify-content-center {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body.page-checkout .container.py-4 .col-lg-8 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body.page-checkout .container.py-4 .col-md-5 {
        width: 100%;
    }

    body.page-checkout .container.py-4 .col-md-5 .card {
        box-shadow: none !important;
        border: 1px solid #eef2f7 !important;
        border-radius: 14px !important;
        overflow: hidden;
    }

    body.page-checkout .container.py-4 .col-md-5 .card-header {
        display: none !important;
    }

    body.page-checkout .container.py-4 .col-md-5 .card-body {
        padding: 12px !important;
    }

    body.page-checkout .container.py-4 .col-md-5 .payment-option .form-check {
        border-radius: 12px !important;
    }

    body.page-checkout .container.py-4 .col-md-5 img[alt="Visa"],
    body.page-checkout .container.py-4 .col-md-5 img[alt="Mastercard"] {
        display: none !important;
    }

    body.page-checkout .container.py-4 .col-md-5 .btn.btn-lg {
        border-radius: 12px !important;
        padding: 12px 14px !important;
        font-weight: 800;
    }

    body.page-checkout .container.py-4 .col-md-5 .btn.btn-outline-secondary {
        display: none !important; /* back is in topbar */
    }

    body.page-checkout .container.py-4 .col-md-5 .text-center.mt-3 small {
        display: none !important;
    }

    /* Wallet (mobile app screen) */
    body.page-wallet .wallet-page {
        padding-top: 8px !important;
    }

    body.page-wallet .wallet-mobile-top {
        position: sticky;
        top: calc(60px + env(safe-area-inset-top, 0px));
        z-index: 1010;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 10px 0;
        background: #fff;
        border-bottom: 1px solid #eef2f7;
        margin-bottom: 10px;
    }

    body.page-wallet .wallet-mobile-back,
    body.page-wallet .wallet-mobile-link {
        width: 40px;
        height: 40px;
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #1d283a;
        background: #f4f7f9;
        border: 1px solid #eef2f7;
        text-decoration: none;
    }

    body.page-wallet .wallet-mobile-title {
        flex: 1;
        text-align: center;
        font-weight: 800;
        font-size: 14px;
        color: #1d283a;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* Wallet: hide non-essential desktop-heavy sections on mobile */
    body.page-wallet .wallet-page .col-lg-4 .section-card {
        display: none !important; /* quick actions */
    }

    body.page-wallet .wallet-page .col-lg-8 > .row.g-3.mb-4 {
        display: none !important; /* stats */
    }

    /* Wallet: AI credits store as horizontal scroll (kept, but compact) */
    body.page-wallet #ai-credits-store .row.g-3 {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        gap: 10px;
        padding-bottom: 6px;
    }

    body.page-wallet #ai-credits-store .row.g-3::-webkit-scrollbar {
        display: none;
    }

    body.page-wallet #ai-credits-store .col-6.col-xl-3 {
        flex: 0 0 70%;
        max-width: 70%;
    }

    /* Wallet: transaction list */
    body.page-wallet .wallet-txlist {
        padding: 10px 12px 14px;
    }

    body.page-wallet .wallet-txitem {
        padding: 12px;
        border: 1px solid #eef2f7;
        border-radius: 14px;
        background: #fff;
        box-shadow: 0 1px 0 rgba(15, 23, 42, 0.03);
        margin: 0 0 10px 0;
    }

    body.page-wallet .wallet-txrow {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 10px;
    }

    body.page-wallet .wallet-txdesc {
        flex: 1;
        min-width: 0;
        font-size: 13px;
        font-weight: 700;
        color: #0f172a;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    body.page-wallet .wallet-txamount {
        white-space: nowrap;
        font-size: 13px;
        font-weight: 900;
    }

    body.page-wallet .wallet-txamount.is-credit {
        color: #059669;
    }

    body.page-wallet .wallet-txamount.is-debit {
        color: #1d283a;
    }

    body.page-wallet .wallet-txmeta {
        margin-top: 8px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        font-size: 12px;
        color: #64748b;
    }

    body.page-wallet .wallet-txstatus {
        padding: 3px 8px;
        border-radius: 999px;
        font-weight: 800;
        font-size: 11px;
        border: 1px solid #e2e8f0;
        background: #f8fafc;
        color: #475569;
        white-space: nowrap;
    }

    body.page-wallet .wallet-txstatus.is-ok {
        border-color: rgba(16, 185, 129, 0.35);
        background: rgba(16, 185, 129, 0.08);
        color: #065f46;
    }

    body.page-wallet .wallet-txstatus.is-pending {
        border-color: rgba(245, 158, 11, 0.4);
        background: rgba(245, 158, 11, 0.10);
        color: #92400e;
    }

    body.page-wallet .wallet-txstatus.is-failed {
        border-color: rgba(220, 38, 38, 0.35);
        background: rgba(220, 38, 38, 0.08);
        color: #991b1b;
    }

    /* Wallet: bottom-sheet style modal for topup */
    body.page-wallet #topupModal .modal-dialog {
        margin: 0;
        position: fixed;
        left: 0;
        right: 0;
        bottom: calc(56px + env(safe-area-inset-bottom, 0px));
        max-width: none;
        width: 100%;
    }

    body.page-wallet #topupModal .modal-content {
        border-radius: 18px 18px 0 0 !important;
    }

    body.page-wallet #topupModal .modal-body {
        max-height: calc(100dvh - 60px - (56px + env(safe-area-inset-bottom, 0px)) - 140px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* Subscription checkout (mobile) */
    body.page-subscription-checkout .breadcrumb-section,
    body.page-subscription-checkout .hero-section {
        display: none !important;
    }

    body.page-subscription-checkout .subcheckout-mobile {
        padding: 12px 12px 8px !important;
        background: #fff;
    }

    body.page-subscription-checkout .subcheckout-mobile-top {
        position: sticky;
        top: calc(60px + env(safe-area-inset-top, 0px));
        z-index: 1010;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 10px 0;
        background: #fff;
        border-bottom: 1px solid #eef2f7;
    }

    body.page-subscription-checkout .subcheckout-mobile-back,
    body.page-subscription-checkout .subcheckout-mobile-wallet {
        width: 40px;
        height: 40px;
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #1d283a;
        background: #f4f7f9;
        border: 1px solid #eef2f7;
        text-decoration: none;
    }

    body.page-subscription-checkout .subcheckout-mobile-title {
        flex: 1;
        text-align: center;
        font-weight: 800;
        font-size: 14px;
        color: #1d283a;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    body.page-subscription-checkout .subcheckout-mobile-summary {
        padding-top: 10px;
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 10px;
    }

    body.page-subscription-checkout .subcheckout-mobile-plan {
        font-weight: 900;
        font-size: 14px;
        color: #0f172a;
        min-width: 0;
        flex: 1;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.page-subscription-checkout .subcheckout-mobile-price {
        font-weight: 900;
        font-size: 14px;
        color: #1d283a;
        white-space: nowrap;
    }

    /* Subscription checkout: hide plan details column on mobile */
    body.page-subscription-checkout .container.py-4 .row.g-4 > .col-md-6:first-child {
        display: none !important;
    }

    body.page-subscription-checkout .container.py-4 {
        padding-top: 10px !important;
    }

    body.page-subscription-checkout .container.py-4 .col-lg-10 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body.page-subscription-checkout .container.py-4 .row.g-4 > .col-md-6 {
        width: 100%;
    }

    body.page-subscription-checkout .container.py-4 .card {
        box-shadow: none !important;
        border: 1px solid #eef2f7 !important;
        border-radius: 14px !important;
        overflow: hidden;
    }

    body.page-subscription-checkout .container.py-4 .card-header {
        display: none !important;
    }

    body.page-subscription-checkout .container.py-4 .card-body {
        padding: 12px !important;
    }

    /* Subscription checkout: remove long price breakdown on mobile (we show summary in topbar) */
    body.page-subscription-checkout .container.py-4 .bg-light.p-3.rounded.mb-4 {
        display: none !important;
    }

    body.page-subscription-checkout .container.py-4 img[alt="Visa"],
    body.page-subscription-checkout .container.py-4 img[alt="Mastercard"] {
        display: none !important;
    }

    body.page-subscription-checkout .container.py-4 a.btn.btn-outline-secondary.w-100.mt-3 {
        display: none !important; /* back is in topbar */
    }
}

/* ========================================================================
   SMALL PHONES (max-width: 375px) - Extra Compact
   ======================================================================== */
@media (max-width: 375px) {
    .mobile-nav-item {
        font-size: 10px;
        padding: 6px 2px;
    }
    
    .mobile-nav-item i {
        font-size: 18px;
    }
    
    .mobile-ad-image {
        width: 80px;
        height: 80px;
    }
    
    .mobile-ad-title {
        font-size: 13px;
    }
    
    .mobile-ad-price {
        font-size: 15px;
    }
}
