/* Projetos Page Styles */

/* Import Montserrat font to match other pages */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap');

/* Container for all sections - matches other pages */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    width: 100%;
    overflow-x: hidden;
}

/* Intro Section */
.intro-section {
    padding: 80px 0;
    background-color: #fff;
}

.intro-content {
    margin: 0 20%; /* 20% side margins for professional "reading-focused" layout */
    text-align: center;
}

.decorative-line {
    width: 40px;
    height: 4px;
    background-color: var(--color-secondary);
    margin: 0 auto 20px;
}

.section-title {
    font-family: 'Montserrat', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    font-size: 48px;
    font-weight: 700;
    color: var(--color-primary);
    margin: 0 0 20px;
    text-align: center;
}

.intro-text {
    font-family: 'Montserrat', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    font-size: 18px;
    color: var(--color-text);
    line-height: 1.6;
    margin: 0;
    text-align: center;
}

/* Project Category Sections */
.project-category-section {
    padding: 80px 0;
}

.project-category-section.section-white {
    background-color: #FFFFFF;
}

.project-category-section.section-grey {
    background-color: #f9f9f9; /* Changed to match home.css pattern */
}

/* Media Object (Flexbox row) */
.media-object {
    display: flex;
    align-items: center;
    gap: 40px;
}

.media-image {
    flex: 1;
    min-width: 0;
}

.project-image {
    width: 100%;
    height: auto;
    border-radius: 8px; /* Changed to match home.css pattern */
    box-shadow: 0 4px 12px rgba(0,0,0,0.1); /* Matches home.css pattern */
    display: block;
}

.media-text {
    flex: 1;
    min-width: 0;
}

.category-title {
    font-family: 'Montserrat', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    font-size: 32px; /* Matches home.css pattern */
    font-weight: 700;
    color: var(--color-primary);
    margin: 0 0 15px;
}

.category-description {
    font-family: 'Montserrat', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    font-size: 18px; /* Matches home.css pattern */
    color: var(--color-text);
    line-height: 1.6;
    margin: 0 0 20px;
}

.project-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.project-links li {
    margin-bottom: 10px;
}

.project-links a {
    display: flex;
    align-items: center;
    color: var(--color-accent);
    text-decoration: none;
    font-family: 'Montserrat', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    font-size: 16px; /* Matches other pages */
    transition: color 0.3s ease;
    font-weight: 600;
}

.project-links a i {
    margin-right: 8px;
    font-size: 0.8rem;
}

.project-links a:hover {
    color: var(--color-primary);
}

/* Responsive Design */
@media (max-width: 1024px) {
    .hero-image {
        height: 35vh;
        min-height: 250px;
    }

    .hero-placeholder {
        height: 35vh;
        min-height: 250px;
        background-attachment: scroll; /* Disable parallax on tablets for performance */
        background-position: center 15%; /* Maintain proper framing */
    }
}

@media (max-width: 768px) {
    .media-object {
        flex-direction: column;
        gap: 20px;
    }

    .intro-content {
        margin: 0 5%; /* Reduced margins on mobile */
    }

    .section-title {
        font-size: 32px; /* Matches home.css mobile pattern */
    }

    .category-title {
        font-size: 28px; /* Matches home.css mobile pattern */
    }

    .hero-image {
        height: 30vh; /* Adjusted for mobile to maintain aspect ratio */
        min-height: 200px; /* Minimum height to maintain proportions */
        object-fit: cover;
    }

    .hero-placeholder {
        height: 30vh; /* Adjusted for mobile to maintain aspect ratio */
        min-height: 200px; /* Minimum height to maintain proportions */
        background-attachment: scroll; /* Disable parallax on mobile for performance */
        background-position: center 15%; /* Maintain proper framing */
    }

    .intro-section {
        padding: 60px 0; /* Matches home.css mobile pattern */
    }

    .project-category-section {
        padding: 60px 0; /* Matches home.css mobile pattern */
    }

    .category-description {
        font-size: 16px; /* Matches home.css mobile pattern */
    }
}