:root {
    --market-blue: #818cf8;
    --market-blue-dark: #6366f1;
    --market-cyan: #c084fc;
    --market-ink: #1e1b4b;
    --market-muted: #64748b;
    --market-line: #ddd6fe;
    --market-bg: #eef0ff;
    --market-card: #ffffff;
    --market-radius: 18px;
    --market-shadow: 0 10px 30px rgba(15,23,42,.07);
}

body.marketplace-home,
body {
    background: var(--market-bg) !important;
    color: var(--market-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

a { text-underline-offset: 3px; }
h1, h2, h3, h4, h5, h6 { color: var(--market-ink); letter-spacing: -.025em; }
.text-primary { color: var(--market-blue) !important; }
.bg-primary { background-color: var(--market-blue) !important; }

.clouds-bg { display: none !important; }

.navbar-custom {
    background: rgba(15,23,42,.97) !important;
    color: #fff !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
    box-shadow: 0 8px 24px rgba(15,23,42,.2);
    padding: .7rem 0 !important;
}

.navbar-custom .brand-text {
    background: linear-gradient(135deg, #818cf8, #c084fc) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: #c4b5fd !important;
    letter-spacing: -.04em;
}

.navbar-custom .cloud-icon {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    justify-content: center;
    background: rgba(129,140,248,.16);
}

.navbar-custom .cloud-icon svg { width: 27px; height: 27px; }
.navbar-custom .nav-link { color: #e2e8f0 !important; font-size: .9rem; }
.navbar-custom .nav-link:hover { color: #c4b5fd !important; transform: none !important; }
.navbar-custom .nav-link::after { display: none !important; }
.navbar-custom .navbar-toggler { filter: none; }

.market-hero {
    padding: 2.25rem 0 1.2rem;
    display: flex;
    justify-content: space-between;
    gap: 2rem;
    align-items: flex-end;
}

.market-hero h1 {
    margin: 0 0 .55rem;
    max-width: 700px;
    font-size: clamp(2rem, 5vw, 3.65rem);
    line-height: .98;
    letter-spacing: -.055em;
    font-weight: 850;
}

.market-hero p { margin: 0; color: var(--market-muted); font-size: 1.05rem; }
.market-hero__badge {
    flex: 0 0 auto;
    background: #dbeafe;
    color: var(--market-blue-dark);
    padding: .65rem 1rem;
    border-radius: 999px;
    font-weight: 750;
    font-size: .86rem;
}

.search-section {
    border-radius: 18px !important;
    padding: 1rem !important;
    border: 1px solid var(--market-line);
    box-shadow: 0 8px 28px rgba(15,23,42,.07) !important;
    overflow: visible !important;
}

.search-section .form-label { color: #475569; margin-left: .15rem; }
.search-input, .search-section .input-group-text {
    min-height: 50px;
    border-color: #cbd5e1 !important;
    border-radius: 11px !important;
}
.search-section .input-group-text { border-radius: 11px 0 0 11px !important; }
.search-section .input-group .search-input { border-radius: 0 11px 11px 0 !important; }
.search-input:focus { border-color: var(--market-blue) !important; box-shadow: 0 0 0 3px rgba(37,99,235,.13) !important; }

.btn-primary {
    background: var(--market-blue) !important;
    border-color: var(--market-blue) !important;
    min-height: 48px;
    border-radius: 11px !important;
    box-shadow: none !important;
}
.btn-primary:hover { background: var(--market-blue-dark) !important; transform: none !important; }

.btn {
    border-radius: 11px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease !important;
}
.btn:hover { transform: none !important; }
.btn-outline-primary { color: var(--market-blue) !important; border-color: #93c5fd !important; }
.btn-outline-primary:hover { color: #fff !important; background: var(--market-blue) !important; border-color: var(--market-blue) !important; }

.form-control,
.form-select,
.input-group-text {
    min-height: 48px;
    border-color: #cbd5e1 !important;
    border-radius: 11px !important;
    background-color: #fff;
}
.form-control:focus,
.form-select:focus {
    border-color: var(--market-blue) !important;
    box-shadow: 0 0 0 3px rgba(37,99,235,.13) !important;
}
textarea.form-control { min-height: 120px; }
.form-label { color: #334155; font-weight: 700; }

.card,
.form-card,
.profile-header,
.stat-badge,
.balance-card,
.bonus-alert,
.review-card,
.invite-card,
.price-card,
.service-card,
.details-card,
.seller-card,
.privacy-content,
.upload-card,
.content-card {
    background: var(--market-card) !important;
    border: 1px solid var(--market-line) !important;
    border-radius: var(--market-radius) !important;
    box-shadow: var(--market-shadow) !important;
}

.form-card,
.content-card,
.privacy-content,
.upload-card { border-top: 3px solid var(--market-blue) !important; }

.card,
.form-card,
.content-card,
.privacy-content,
.upload-card { padding: clamp(1rem, 2.5vw, 1.6rem) !important; }

.profile-header {
    color: #fff !important;
    background: linear-gradient(135deg, #4f46e5, #9333ea) !important;
}
.profile-header h1, .profile-header h2, .profile-header h3, .profile-header p, .profile-header .text-muted { color: #fff !important; }
.profile-avatar {
    background: linear-gradient(135deg, var(--market-blue), var(--market-cyan)) !important;
    box-shadow: none !important;
}
.stat-badge { height: 100%; padding: 1.15rem !important; background: linear-gradient(145deg, #fff, #f5f3ff) !important; }
.stat-value { font-weight: 850 !important; }
.stat-label { color: var(--market-muted) !important; }

.nav-tabs {
    gap: .35rem;
    border-bottom: 1px solid var(--market-line) !important;
}
.nav-tabs .nav-link {
    color: #475569 !important;
    border: 0 !important;
    border-radius: 10px 10px 0 0 !important;
    font-weight: 700;
}
.nav-tabs .nav-link.active {
    color: var(--market-blue) !important;
    background: #dbeafe !important;
}

.table-responsive {
    border: 1px solid var(--market-line);
    border-radius: 14px;
}
.table { margin-bottom: 0 !important; }
.table > :not(caption) > * > * { padding: .9rem 1rem; border-color: var(--market-line); vertical-align: middle; }
.table thead th { color: #475569; background: #f8fafc; font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; }

.alert { border: 0 !important; border-radius: 13px !important; }
.badge { border-radius: 999px !important; font-weight: 750; }
.modal-content { border: 0 !important; border-radius: 20px !important; box-shadow: 0 24px 70px rgba(15,23,42,.22); }
.dropdown-menu { border: 1px solid var(--market-line) !important; border-radius: 14px !important; box-shadow: var(--market-shadow) !important; }

.messages-container,
.support-container {
    border: 1px solid var(--market-line) !important;
    border-radius: var(--market-radius) !important;
    box-shadow: var(--market-shadow) !important;
    background: #fff !important;
    overflow: hidden;
}
.dialogs-sidebar,
.dialogs-header,
.chat-header { background: #fff !important; border-color: var(--market-line) !important; }
.dialog-item.active { background: #dbeafe !important; }
.message-wrapper.sent .message-bubble { background: var(--market-blue) !important; }

.wallet-container,
.container.py-4 { padding-top: 1.5rem !important; padding-bottom: 2rem !important; }
.balance-card {
    background: linear-gradient(135deg, #312e81, #7e22ce) !important;
    color: #fff !important;
}
.balance-card .stat-label, .balance-card .balance-label { color: rgba(255,255,255,.72) !important; }

.categories-section { border-top: 1px solid var(--market-line); padding-top: .85rem; }
.category-pill {
    background: #f1f5f9 !important;
    border: 1px solid transparent !important;
    color: #334155 !important;
    padding: .55rem .9rem !important;
    border-radius: 10px !important;
    font-size: .84rem !important;
}
.category-pill:hover, .category-pill.active {
    background: #dbeafe !important;
    color: var(--market-blue-dark) !important;
    border-color: #bfdbfe !important;
    transform: none !important;
}

.stories-bar {
    border: 1px solid var(--market-line);
    border-radius: 16px !important;
    box-shadow: none !important;
}

#ads-container { --bs-gutter-x: 1.25rem; }
.ad-card {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}
.ad-card:hover { transform: none !important; box-shadow: none !important; }
.ad-card .image-wrapper {
    height: 220px !important;
    border-radius: 14px !important;
    background: #e2e8f0;
}
.ad-card .card-img-top { border-radius: 14px !important; }
.ad-card:hover .card-img-top { transform: scale(1.025) !important; }
.ad-card .card-body { padding: .75rem .05rem .25rem !important; }
.ad-card .card-title {
    color: var(--market-ink) !important;
    font-size: .98rem !important;
    line-height: 1.3 !important;
    font-weight: 650 !important;
    margin-bottom: .35rem !important;
}
.ad-price-line { color: var(--market-ink); font-weight: 800; font-size: 1.05rem; margin-bottom: .32rem; }
.ad-card:not(.banner-ad) .price-badge { display: none !important; }
.ad-card .card-text { display: none !important; }
.ad-card .author-avatar-mini { display: none !important; }
.ad-card .author-name, .ad-card .ad-meta { color: var(--market-muted) !important; font-size: .78rem !important; }
.city-badge { left: 9px !important; right: auto !important; bottom: 9px !important; background: rgba(17,24,39,.78) !important; color: white !important; }
.ad-card.highlighted .image-wrapper { outline: 3px solid #86efac; }
.banner-ad { background: #fff7ed !important; border-radius: 14px !important; padding: .6rem; }
.banner-ad .image-wrapper { display: block !important; height: 220px !important; min-height: 180px !important; opacity: 1 !important; visibility: visible !important; }
.banner-ad .card-img-top { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover !important; opacity: 1 !important; visibility: visible !important; }

.footer { background: #0f172a !important; color: #cbd5e1 !important; border-top: 1px solid rgba(255,255,255,.08) !important; }
.footer h4, .footer h5 { color: #fff !important; }
.footer p, .footer li, .footer a { color: #cbd5e1 !important; }

.mobile-market-nav { display: none; }

@media (max-width: 991px) {
    body { padding-bottom: 72px; }
    .navbar-collapse { background: #0f172a !important; border: 1px solid rgba(255,255,255,.1); box-shadow: 0 12px 30px rgba(15,23,42,.3); }
    .navbar-custom .d-lg-none .btn { color: #e2e8f0 !important; }
    .navbar-custom .d-lg-none .auth-login-btn { color: #0f172a !important; }
    .market-hero { padding-top: 1.5rem; }
    .market-hero__badge { display: none; }
    .ad-card .image-wrapper { height: 180px !important; }
    .mobile-market-nav {
        position: fixed;
        z-index: 1100;
        display: grid;
        grid-template-columns: repeat(4,1fr);
        left: 0; right: 0; bottom: 0;
        background: rgba(255,255,255,.97);
        border-top: 1px solid var(--market-line);
        padding: .45rem .5rem calc(.45rem + env(safe-area-inset-bottom));
    }
    .mobile-market-nav a { color: #64748b; text-decoration: none; text-align: center; font-size: .66rem; font-weight: 650; }
    .mobile-market-nav i { display: block; color: #334155; font-size: 1.25rem; margin-bottom: .12rem; }
    .mobile-market-nav .mobile-sell i { color: var(--market-blue); }
}

@media (max-width: 575px) {
    .container { --bs-gutter-x: 1.25rem; }
    .profile-header { padding: 1.15rem !important; }
    .profile-header .row { gap: .75rem; }
    .profile-header .col-auto:last-child { width: 100%; }
    .profile-header .col-auto:last-child .btn { width: 100%; }
    .card, .form-card, .content-card { border-radius: 15px !important; }
    .table > :not(caption) > * > * { padding: .75rem; }
    .market-hero h1 { font-size: 2.2rem; }
    .market-hero p { font-size: .92rem; }
    .search-section { margin-left: -.25rem; margin-right: -.25rem; }
    #ads-container { --bs-gutter-x: .8rem; }
    .ad-card .image-wrapper { height: 150px !important; border-radius: 11px !important; }
    .ad-card .card-img-top { border-radius: 11px !important; }
    .ad-card .card-title { font-size: .88rem !important; -webkit-line-clamp: 2 !important; }
    .ad-price-line { font-size: .92rem; }
}
