/*
 * SHARED HEADER STYLES - SINGLE SOURCE OF TRUTH
 * Extracted from index.html as the reference implementation
 * Used across: index.html, blog.html, and all blog articles
 */

/* Basic header structure */
header {
    background-color: #fff; /* Changed to white */
    color: #333; /* Changed text color */
    padding: 10px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: sticky; /* Make the header sticky */
    top: 0; /* Stick it to the top of the viewport */
    z-index: 1000; /* Set z-index to ensure it appears above other elements */
}

.logo {
    margin-right: auto;
}

.menu {
    display: flex;
    align-items: center;
    position: relative;
    height: 50px; /* Adjust height as needed */
}

.menu button {
    border: none;
    color: black; /* Text color set to black */
    font-family: 'Montserrat', sans-serif; /* Using Montserrat font */
    padding: 10px 20px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    margin: 4px 2px;
    cursor: pointer;
    border-radius: 5px;
    background-color: white; /* Set background color of all buttons to white */
    position: relative; /* Make the buttons relative for positioning */
}

.menu-item {
    padding: 10px 20px;
    cursor: pointer;
    position: relative; /* Required for the absolute positioning of the pseudo-element */
    display: inline-block;
}

.menu-item span {
    position: relative;
    display: inline;
}

.menu-item span::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    height: 1px;
    background-color: black;
    width: 0;
    transition: width 0.25s ease;
}

.menu-item:hover span::after {
    width: 100%;
}

/* Mobile Responsive Styles */
@media (max-width: 1000px) {
    .menu button {
        padding: 10px 5px; /* Reduced padding */
        font-size: 1.1rem; /* Smaller font size */
    }
}

@media (max-width: 768px) {
    .menu button {
        padding: 10px 5px; /* Reduced padding */
        font-size: 1.1rem; /* Smaller font size */
    }
}

@media (max-width: 480px) {
    header {
        padding: 8px 12px;
    }
}