/* ==================== ONLINE MARKET MOBILE RESPONSIVENESS ==================== */

@media (max-width: 768px) {
    .market-tabcontent {
        padding: 1rem;
    }

    .market-filters {
        padding: 1rem;
        gap: 0.75rem;
        margin-bottom: 1.5rem;
    }

    .filter-group {
        min-width: 100%;
        flex: 1 1 100%;
    }

    .refresh-button {
        width: 100%;
        margin-left: 0;
    }

    .listings-container,
    .auctions-container,
    #listingsContainer {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .listing-card,
    .auction-card,
    .server-card {
        border-radius: 12px;
    }

    .listing-header,
    .auction-header,
    .server-header {
        padding: 1rem;
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }

    .listing-body,
    .auction-body,
    .server-body {
        padding: 1rem;
        flex-direction: column;
    }

    .listing-footer,
    .auction-footer,
    .server-footer {
        padding: 1rem;
        flex-direction: column;
    }

    .bid-button,
    .contact-button,
    .details-button,
    .join-button {
        width: 100%;
        min-width: auto;
    }

    .create-listing-form {
        padding: 1.5rem;
        border-radius: 16px;
    }

    .create-listing-form h3 {
        font-size: 1.5rem;
    }

    .form-group input,
    .form-group select,
    .form-group textarea {
        font-size: 16px; /* Prevents zoom on iOS */
    }

    .my-listings-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .servers-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .listing-details-content {
        flex-direction: column;
    }

    .listing-modal-image-container {
        width: 100%;
        max-width: none;
    }
}

@media (max-width: 480px) {
    .market-tabcontent {
        padding: 0.75rem;
    }

    .market-filters {
        padding: 0.75rem;
        border-radius: 12px;
    }

    .filter-group label {
        font-size: 0.8rem;
    }

    .filter-group select,
    .filter-group input {
        padding: 0.625rem 0.75rem;
        font-size: 16px;
    }

    .refresh-button {
        padding: 0.625rem 1rem;
        font-size: 0.85rem;
    }

    .listing-card,
    .auction-card,
    .server-card {
        border-radius: 10px;
    }

    .listing-header,
    .auction-header,
    .server-header {
        padding: 0.75rem;
    }

    .listing-body,
    .auction-body,
    .server-body {
        padding: 0.75rem;
    }

    .listing-footer,
    .auction-footer,
    .server-footer {
        padding: 0.75rem;
    }

    .listing-type,
    .server-status,
    .time-left {
        font-size: 0.75rem;
        padding: 0.15rem 0.5rem;
    }

    .create-listing-form {
        padding: 1.25rem;
    }

    .create-listing-form h3 {
        font-size: 1.35rem;
    }

    .form-group {
        margin-bottom: 1.25rem;
    }

    .form-group label {
        font-size: 0.875rem;
    }

    .form-group input,
    .form-group select,
    .form-group textarea {
        padding: 0.75rem;
        border-radius: 10px;
    }

    .create-button {
        padding: 0.75rem 1.25rem;
        font-size: 0.9rem;
    }
}

/* ==================== ONLINE MARKET ANIMATIONS ==================== */

@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.listing-card,
.auction-card,
.server-card {
    animation: slideInUp 0.4s ease-out forwards;
}

.listing-card:nth-child(1) { animation-delay: 0.05s; }
.listing-card:nth-child(2) { animation-delay: 0.1s; }
.listing-card:nth-child(3) { animation-delay: 0.15s; }
.listing-card:nth-child(4) { animation-delay: 0.2s; }
.listing-card:nth-child(5) { animation-delay: 0.25s; }
.listing-card:nth-child(6) { animation-delay: 0.3s; }

/* Smooth transitions for all interactive elements */
.filter-group select,
.filter-group input,
.form-group input,
.form-group select,
.form-group textarea,
.refresh-button,
.create-button,
.bid-button,
.contact-button,
.details-button,
.join-button,
.delete-button,
.complete-button {
    will-change: transform, box-shadow;
}
