/* =================================================================
   Layout Styles (Header, Footer, Sections, Containers)
   ================================================================= */

header {
    display: flex;
    border-bottom: 3px solid #333;
    background-color: #1e1e1e;
}

body.light-mode header {
    border-bottom-color: #ccc;
    background-color: #fff;
}

.header-left {
    padding: 1rem 2rem;
    border-right: 3px solid #333;
}

body.light-mode .header-left {
    border-right-color: #ccc;
}

.header-right {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 1rem 2rem;
    flex-grow: 1;
    gap: 10px;
}



main {
    padding: 20px;
    max-width: 1200px;
    margin: 0 auto;
}

section {
    padding: 60px 20px;
    border-bottom: 1px solid #333;
}

section:last-child {
    border-bottom: none;
}

footer {
    text-align: center;
    padding: 40px 20px;
    margin-top: 50px;
}

.grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
}

/* --- Section Specific Layouts --- */

#about .about-container {
    display: flex;
    align-items: center;
    gap: 40px;
}

#about .about-text { flex: 2; }
#about .about-image { flex: 1; }

.about-buttons {
    margin-top: 30px;
}

#skills .skills-container {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}

#works h3 {
    text-align: center;
    font-size: 1.8em;
    margin-top: 60px;
    margin-bottom: 20px;
}

#contact .contact-form {
    max-width: 600px;
    margin: 40px auto 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* --- Responsive Design --- */
@media (max-width: 768px) {
    .desktop-nav { display: none; }
    .mobile-nav-toggle { display: block; }
    #about .about-container { flex-direction: column; }
    #skills .skills-container { flex-direction: column; }
    .details-grid { grid-template-columns: 1fr; }
    .detail-card.full-width { grid-column: span 1; }
    .hero-text h1 { font-size: 2em; }
    .hero-text p { font-size: 1em; }
}
