/**
 * Responsive Styles
 * Mobile, tablet, and desktop specific styles
 */

/* Mobile First Base Styles */
/* Default styles are for mobile (< 768px) */

/* === LAYOUT === */
.grid-responsive {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--spacing-lg);
}

/* === TABLET (768px and up) === */
@media (min-width: 768px) {
    .grid-responsive {
        grid-template-columns: repeat(2, 1fr);
    }

    .md\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .md\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .md\:flex {
        display: flex;
    }

    .md\:hidden {
        display: none;
    }

    .md\:block {
        display: block;
    }
}

/* === DESKTOP (1024px and up) === */
@media (min-width: 1024px) {
    .grid-responsive {
        grid-template-columns: repeat(3, 1fr);
    }

    .lg\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .lg\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .lg\:flex {
        display: flex;
    }

    .lg\:hidden {
        display: none;
    }

    .lg\:block {
        display: block;
    }

    /* Enable hover effects on desktop only */
    .card:hover {
        transform: translateY(-2px);
        box-shadow: var(--shadow-lg);
    }

    .btn-primary:hover:not(:disabled) {
        transform: scale(1.02);
    }
}

/* === TOP BAR RESPONSIVE === */
.top-bar {
    position: sticky;
    top: 0;
    z-index: var(--z-sticky);
    background-color: var(--card);
    border-bottom: 1px solid var(--border);
}

.top-bar-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: var(--max-width);
    margin: 0 auto;
    padding: var(--spacing-md) var(--spacing-lg);
}

.top-bar-search {
    display: none;
}

@media (min-width: 768px) {
    .top-bar-search {
        display: flex;
        flex: 1;
        max-width: 28rem;
        margin: 0 var(--spacing-xl);
    }
}

/* === MODAL RESPONSIVE === */
@media (max-width: 767px) {
    .modal {
        width: 95%;
        max-height: 95vh;
    }

    .modal-backdrop {
        padding: var(--spacing-sm);
    }
}

/* === TOAST RESPONSIVE === */
@media (max-width: 767px) {
    .toast-container {
        top: var(--spacing-sm);
        right: var(--spacing-sm);
        left: var(--spacing-sm);
    }

    .toast {
        min-width: 100%;
    }
}

/* === GRID COLLECTION CARDS === */
.collections-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--spacing-lg);
}

@media (min-width: 768px) {
    .collections-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .collections-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* === STATISTICS CARDS === */
.stats-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--spacing-md);
}

@media (min-width: 768px) {
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

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

/* === BREADCRUMB RESPONSIVE === */
@media (max-width: 767px) {
    .breadcrumb {
        font-size: var(--text-xs);
    }

    .breadcrumb-item:not(:last-child):not(:first-child) {
        display: none;
    }
}

/* === FORM RESPONSIVE === */
.form-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--spacing-md);
}

@media (min-width: 768px) {
    .form-row-2 {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* === TABLE RESPONSIVE === */
.table-responsive {
    overflow-x: auto;
}

@media (max-width: 767px) {
    .table-responsive table {
        font-size: var(--text-sm);
    }

    .table-responsive th,
    .table-responsive td {
        padding: var(--spacing-sm);
    }
}

/* === HIDE ON MOBILE === */
@media (max-width: 767px) {
    .hide-mobile {
        display: none;
    }
}

/* === HIDE ON DESKTOP === */
@media (min-width: 1024px) {
    .hide-desktop {
        display: none;
    }
}

/* === CONTAINER RESPONSIVE PADDING === */
.container {
    padding-left: var(--spacing-md);
    padding-right: var(--spacing-md);
}

@media (min-width: 768px) {
    .container {
        padding-left: var(--spacing-lg);
        padding-right: var(--spacing-lg);
    }
}

@media (min-width: 1024px) {
    .container {
        padding-left: var(--spacing-xl);
        padding-right: var(--spacing-xl);
    }
}

/* === TEXT RESPONSIVE === */
@media (max-width: 767px) {
    h1 {
        font-size: var(--text-3xl);
    }

    h2 {
        font-size: var(--text-2xl);
    }

    h3 {
        font-size: var(--text-xl);
    }
}

