/* assets/css/layout.css */
* { box-sizing: border-box; margin: 0; padding: 0; font-family: var(--font-primary); }

body { 
    background-color: var(--bg-color); 
    color: var(--text-main); 
    padding-bottom: 80px; /* Space for mobile nav */
}

/* --- Top Navigation --- */
.top-nav { 
    background: var(--bg-color); 
    border-bottom: 1px solid var(--border-color); 
    padding: 15px 20px; 
    position: sticky; 
    top: 0; 
    z-index: 100; 
}

.nav-container { 
    max-width: 1200px; 
    margin: 0 auto; 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
}

.desktop-links { display: none; gap: 20px; }

/* --- Mobile Bottom Nav --- */
.bottom-nav { 
    position: fixed; 
    bottom: 0; 
    left: 0; 
    width: 100%; 
    background: var(--card-bg); 
    border-top: 1px solid var(--border-color); 
    display: flex; 
    justify-content: space-around; 
    padding: 10px 0; 
    z-index: 100; 
    padding-bottom: env(safe-area-inset-bottom); 
}

/* --- Main Layout --- */
.main-content { 
    max-width: 1200px; 
    margin: 0 auto; 
    padding: 20px; 
}

.feed-grid { 
    display: grid; 
    grid-template-columns: 1fr; 
    gap: 20px; 
}

/* --- Desktop Breakpoints --- */
@media (min-width: 768px) {
    body { padding-bottom: 0; }
    .bottom-nav { display: none; }
    .desktop-links { display: flex; }
    .feed-grid { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
}