/*
Theme Name: My Portfolio Theme
Theme URI: http://example.com/my-portfolio-theme
Author: Belarmino Nicolau Monteiro Simão
Author URI: http://example.com
Description: A custom portfolio theme to showcase soft and hard skills.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: my-portfolio-theme
*/

/* General Body and Container Styles */
body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    background: #f9f9f9;
    color: #333;
}

/* Header Styling */
header {
    background: #333;
    color: white;
    padding: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

header .site-branding {
    text-align: left;
}

header h1 {
    margin: 0;
}

header h1 a {
    color: white;
    text-decoration: none;
}

header p {
    margin: 0;
}

/* Primary Navigation in Header */
.primary-navigation {
    display: flex;
    align-items: center;
}

.primary-menu-container {
    list-style: none;
    margin: 0;
    padding: 0;
}

.primary-menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 15px;
}

.primary-menu li {
    margin: 0;
}

.primary-menu a {
    color: white;
    text-decoration: none;
    padding: 5px 10px;
    transition: background-color 0.3s ease;
}

.primary-menu a:hover {
    background-color: #555;
    border-radius: 3px;
}

/* --- Content Area (example) --- */
.content {
    padding: 2rem;
}

.portfolio-item {
    margin-bottom: 2rem;
}

.skills {
    display: flex;
    gap: 2rem;
}

.skill {
    background: #f4f4f4;
    padding: 1rem;
    border-radius: 5px;
    flex: 1;
}

/* --- General Footer Styling --- */
.site-footer {
    background: #333;
    color: #fff;
    text-align: center;
    padding: 1rem;
    margin-top: 2rem;
}

.copyright {
    margin-top: 1rem;
    font-size: 0.9em;
}

/* --- Footer Sections Wrapper --- */
.footer-sections-wrapper {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    gap: 20px;
}

/* --- Individual Footer Sections --- */
.footer-section {
    flex: 1;
    min-width: 250px;
    padding: 15px;
    box-sizing: border-box;
}

.footer-section h3 {
    color: #00bcd4;
    margin-bottom: 15px;
    font-size: 1.2em;
}

.footer-section h4 {
    color: #76d2e0;
    margin-top: 15px;
    margin-bottom: 10px;
    font-size: 1.1em;
}

/* --- List Styling within Footer Sections --- */
.footer-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-list li {
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.footer-list li p {
    margin-top: 5px;
    margin-bottom: 0;
}

/* --- Image/Icon Styling for Partners, Services, and Skills --- */
.partner-logo,
.service-icon,
.skill-icon {
    max-width: 80px;
    height: auto;
    display: block;
    margin-bottom: 5px;
}

.service-list li a {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: #fff;
}

.service-list li a:hover {
    color: #00bcd4;
}

.skill-list li {
    text-align: center;
}

.skill-list .skill-icon {
    max-width: 50px;
    margin-left: auto;
    margin-right: auto;
}

/* Social Media Menu Container and List in Footer */
.footer-social-media .social-menu-container {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-social-media .social-menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 10px;
    justify-content: center; /* Center social icons in the footer */
}

.footer-social-media .social-menu li {
    margin: 0;
}

.footer-social-media .social-menu a {
    color: white;
    text-decoration: none;
    padding: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer-social-media .social-menu a:hover {
    opacity: 0.8;
}

/* Social media icon styling (requires Font Awesome or similar) */
.footer-social-media .social-menu .fab {
    font-size: 1.5em;
}

.footer-social-media .social-menu .screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

/* --- Responsive Adjustments --- */
@media (max-width: 768px) {
    /* Header Responsive */
    header {
        flex-direction: column;
        text-align: center;
    }
    .site-branding {
        text-align: center;
        margin-bottom: 1rem;
    }
    .primary-navigation {
        flex-direction: column;
        width: 100%;
        margin-top: 1rem;
        align-items: center;
    }
    .primary-menu {
        flex-direction: column;
        align-items: center;
        width: 100%;
    }
    .primary-menu li {
        width: 100%;
        text-align: center;
    }
    .primary-menu a {
        display: block;
    }

    /* Footer Responsive */
    .footer-sections-wrapper {
        flex-direction: column;
        align-items: center;
    }

    .footer-section {
        min-width: 100%;
    }

    .footer-social-media .social-menu {
        flex-direction: row; /* Keep social icons in a row even on small screens */
        justify-content: center;
    }
}