/* ================================
   File: /public_html/css/header/header-base.css
   Version: 1.8
   Last Updated: 2025-01-05
   
   HEADER BASE STYLES
   Core header layout, positioning, and logo section
   ================================ */
/* General Header Styling */
header {
    background-color: #ffffff;
    color: #333333;
    padding: 0;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    width: 100%;
    z-index: 1000;
    position: sticky;
    top: 0;
}
/* Header Container - Centered with max-width */
header .container {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    max-width: 1400px;
    margin: 0 auto;
    padding: 15px 40px;
    width: 100%;
    box-sizing: border-box;
}
/* Logo and Title Section */
.logo-section {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    min-width: 0;
    margin-right: 20px; /* Add spacing between logo and navigation */
}
/* Updated logo link styling to contain both image and text */
header .logo {
    display: flex; /* Changed from inline-block to flex */
    align-items: center; /* Center align the logo and text */
    margin-right: 15px;
    flex-shrink: 0;
    text-decoration: none; /* Remove link underline */
    color: inherit; /* Inherit text color */
    transition: opacity 0.2s ease; /* Smooth hover effect */
}
/* Hover effect for entire logo area */
header .logo:hover {
    opacity: 0.8;
    text-decoration: none; /* Ensure no underline on hover */
}
/* Logo image styling */
header .logo img {
    height: 40px;
    width: auto;
    margin-right: 12px; /* Add space between logo and text */
}
/* Site title styling (now inside the link) */
header .logo span {
    font-size: 1.8em;
    font-weight: 600;
    color: #2c3e50;
    white-space: nowrap;
    margin: 0; /* Reset any default margins */
}

/* Site title - Full name (default) */
header .logo .site-title-full {
    display: inline;
}

/* Site title - Abbreviated (hidden by default) */
header .logo .site-title-short {
    display: none;
}

/* Backup h1 styling (in case it's used elsewhere) */
header h1 {
    margin: 0;
    font-size: 1.8em;
    font-weight: 600;
    color: #2c3e50;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* Navigation and Controls Section */
.nav-controls {
    display: flex;
    align-items: center;
    gap: 15px;
    flex: 0 0 auto; /* Prevent shrinking - give nav fixed space */
    flex-wrap: nowrap; /* CRITICAL: Prevent wrapping */
}

/* ================================
   SUBMIT TOOL BUTTON
   ================================ */
.submit-tool-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    background-color: #1f2937;
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 8px;
    white-space: nowrap;
    transition: background-color 0.2s ease;
    flex-shrink: 0;
}

.submit-tool-btn:hover {
    background-color: #374151;
    text-decoration: none;
    color: #ffffff;
}

.submit-tool-btn:visited {
    color: #ffffff;
}

/* ================================
   DESKTOP HEADER LAYOUT FIXES
   ================================ */
@media (min-width: 769px) {
    /* Ensure proper desktop spacing */
    header .container {
        gap: 20px;
        padding: 15px 40px;
    }
    
    .logo-section {
        flex: 0 0 auto;
        margin-right: 20px;
    }
    
    .nav-controls {
        flex: 1;
        min-width: 0;
        justify-content: flex-start;
    }
    
    /* Push search and right items to the end */
    .nav-controls .header-search {
        margin-left: auto;
    }
}

/* ================================
   MEDIUM SCREENS - Switch to A & T
   ================================ */
@media (max-width: 1100px) and (min-width: 769px) {
    header .container {
        padding: 15px 20px;
        gap: 15px;
    }
    
    /* Switch to abbreviated title */
    header .logo .site-title-full {
        display: none;
    }
    
    header .logo .site-title-short {
        display: inline;
    }
    
    .nav-controls {
        gap: 10px;
    }
}

/* ================================
   MOBILE HEADER LAYOUT FIXES
   ================================ */
@media (max-width: 768px) {
    /* Adjust header container padding for mobile */
    header .container {
        padding: 12px 15px; /* Reduce side padding */
        gap: 8px; /* Add gap between elements */
        max-width: 100%; /* Full width on mobile */
    }
    
    /* Logo section adjustments */
    .logo-section {
        flex: 1;
        min-width: 0;
        margin-right: 8px; /* Add margin to separate from nav controls */
        max-width: none; /* Remove max-width constraint on mobile */
    }
    
    /* Logo adjustments for mobile */
    header .logo {
        margin-right: 0; /* Remove right margin on mobile */
    }
    
    header .logo img {
        height: 35px; /* Slightly smaller logo */
        margin-right: 10px; /* Reduce spacing */
    }
    
    /* Site title adjustments for mobile */
    header .logo span {
        font-size: 1.5em; /* Slightly smaller text */
        max-width: none; /* Allow full width on mobile */
        overflow: hidden;
        text-overflow: ellipsis;
    }
    
    /* Show full title on mobile */
    header .logo .site-title-full {
        display: inline;
    }
    
    header .logo .site-title-short {
        display: none;
    }
    
    /* Nav controls spacing for mobile */
    .nav-controls {
        gap: 10px; /* Reduce gap between elements */
        flex-shrink: 0;
        margin-left: auto; /* Push to right */
    }
    
    /* Hide Submit Tool button on mobile */
    .submit-tool-btn {
        display: none !important;
    }
}
/* Small mobile screens - more aggressive spacing */
@media (max-width: 480px) {
    header .container {
        padding: 10px 12px; /* Even tighter padding */
        gap: 6px;
    }
    
    header .logo img {
        height: 32px; /* Smaller logo */
        margin-right: 8px; /* Less spacing */
    }
    
    header .logo span {
        font-size: 1.4em; /* Smaller title */
    }
    
    .nav-controls {
        gap: 8px; /* Minimal gap */
    }
}