/* ==========================================================================
   MEDIA QUERIES
   ========================================================================== */

@media (max-width: 768px) {
    .container {
        padding: var(--space-sm);
    }

    nav {
        flex-direction: column;
        padding: var(--space-sm);
    }

    nav ul {
        margin-top: var(--space-sm);
        gap: var(--space-sm);
    }

    /* Responsive Typography */
    .blog-section > h1 {
        font-size: 2rem;
    }

    .blog-post h2 {
        font-size: 1.8rem;
    }

    .post-content h1 { font-size: 1.5em; }
    .post-content h2 { font-size: 1.25em; }
    .post-content h3 { font-size: 1.1em; }

    /* Chat Buttons on Mobile */
    .question-buttons-wrapper {
        position: relative;
    }

    .question-buttons-wrapper::after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 50px;
        background: linear-gradient(to right, rgba(44, 44, 44, 0), var(--color-surface));
        pointer-events: none;
    }

    #question-buttons {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        padding: var(--space-md);
        gap: var(--space-sm);
        
        /* Hide scrollbar */
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    #question-buttons::-webkit-scrollbar {
        display: none;
    }

    #question-buttons button {
        /* Fully defined style to prevent weird inheritance/rendering bugs */
        background: var(--color-surface-light);
        color: var(--color-text-on-accent);
        border: var(--border-width) solid #555;
        padding: 0.75rem 1.5rem;
        border-radius: var(--border-radius-lg);
        cursor: pointer;
        transition: var(--transition-base);
        flex-shrink: 0;
        white-space: nowrap;
    }

    /* Admin Panel Media Queries */
    .tabs {
        font-size: 0.9rem;
        flex-wrap: wrap;
    }

    .responsive-table thead {
        display: none;
    }

    .responsive-table tr {
        display: block;
        margin-bottom: var(--space-md);
        border: var(--border-width) solid var(--color-border);
        border-radius: var(--border-radius-sm);
        padding: var(--space-sm);
    }
    
    .responsive-table tbody, .responsive-table tr, .responsive-table td {
        display: block;
        width: 100%;
    }

    .responsive-table td {
        text-align: right;
        padding-left: 50%;
        position: relative;
        border-bottom: var(--border-width) solid var(--color-border);
    }

    .responsive-table td:last-child {
        border-bottom: 0;
    }

    .responsive-table td::before {
        content: attr(data-label);
        position: absolute;
        left: var(--space-sm);
        width: 45%;
        padding-right: var(--space-sm);
        white-space: nowrap;
        text-align: left;
        font-weight: bold;
        color: var(--color-primary);
    }

    .blog-post {
        padding: var(--space-md);
    }

    .post-content,
    .post-content-preview {
        font-size: 1rem;
    }

    .post-meta {
        font-size: 0.8rem;
        padding-bottom: var(--space-xs);
        margin-bottom: var(--space-sm);
    }

    .chat-message {
        max-width: 90%;
        padding: var(--space-xs) var(--space-sm);
    }

    footer {
        padding: var(--space-sm);
        margin-top: var(--space-lg);
    }
}

@media (max-width: 480px) {
    body {
        font-size: 15px;
    }

    .blog-post {
        padding: var(--space-sm);
    }

    .post-content,
    .post-content-preview {
        font-size: 0.95rem;
    }

    #chat-container {
        height: 80vh;
    }

    .chat-message {
        max-width: 95%;
    }
}

/* Adjustments for responsive layout */
@media (max-width: 1024px) { /* A wider breakpoint for this layout */
    .admin-posts-layout {
        grid-template-columns: 1fr; /* Stack them on tablets and smaller */
    }
}
