/**
 * Header styles
 */

/* Base header styles */
.site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
    background-color: #ffffff !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
    padding: 15px 0 !important;
    margin: 0 !important;
    transition: all 0.3s ease !important;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

/* Ensure body has padding to account for fixed header */
body {
    padding-top: 100px !important;
}

/* Admin bar adjustment */
body.admin-bar .site-header {
    top: 32px !important;
}

@media screen and (max-width: 782px) {
    body.admin-bar .site-header {
        top: 46px !important;
    }
    
    body {
        padding-top: 140px !important;
    }
}

/* Site branding */
.site-branding {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 20px;
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
    box-sizing: border-box;
}

/* Site title */
.site-title {
    margin: 0;
    font-size: 24px;
    line-height: 1.2;
}

.site-title a {
    color: #333333;
    text-decoration: none;
    font-weight: 700;
    transition: color 0.3s ease;
}

.site-title a:hover {
    color: #0073aa;
}

/* Site description */
.site-description {
    margin: 5px 0 0;
    font-size: 14px;
    color: #666666;
    font-weight: 400;
}

/* Logo */
.custom-logo {
    max-height: 60px;
    width: auto;
    display: block;
}

/* Page content adjustment for fixed header */
.site {
    padding-top: 100px; /* Adjust this value based on your header height */
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .site-header {
        padding: 10px 0;
    }
    
    .site-branding {
        padding: 0 15px;
    }
    
    .site-title {
        font-size: 20px;
    }
    
    .site-description {
        font-size: 13px;
    }
    
    .custom-logo {
        max-height: 50px;
    }
    
    .site {
        padding-top: 80px; /* Adjust for mobile */
    }
}
