/* ============================================
   HEADER LAYOUT SYSTEM
   Container widths and element arrangements
   ============================================ */

/* ============================================
   CONTAINER WIDTHS
   ============================================ */

.navbar .container-wide {
    max-width: 1400px;
    margin: 0 auto;
    width: 100%;
    padding: 0 1rem;
}

.navbar .container-narrow {
    max-width: 960px;
    margin: 0 auto;
    width: 100%;
    padding: 0 1rem;
}

.navbar .container-fluid {
    max-width: 100%;
    width: 100%;
    padding: 0 2rem;
}

/* ============================================
   SPACING VARIANTS
   ============================================ */

.navbar.navbar-spacing-compact > div {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

.navbar.navbar-spacing-normal > div {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.navbar.navbar-spacing-comfortable > div {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}

.navbar.navbar-spacing-spacious > div {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

/* ============================================
   LAYOUT VARIANTS
   ============================================ */

/* Default: Logo Left, Menu Right, Actions Right */
.navbar.navbar-layout-default .navbar-container,
.navbar.navbar-layout-default > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.navbar.navbar-layout-default .navbar-menu {
    margin-left: auto;
    margin-right: 1rem;
}

.navbar.navbar-layout-default .navbar-actions {
    margin-left: 0;
}

/* Centered Menu: Logo Left, Menu Center, Actions Right */
.navbar.navbar-layout-centered-menu .navbar-container,
.navbar.navbar-layout-centered-menu > div {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 2rem;
}

.navbar.navbar-layout-centered-menu .navbar-brand {
    justify-self: start;
}

.navbar.navbar-layout-centered-menu .navbar-menu {
    justify-self: center;
}

.navbar.navbar-layout-centered-menu .navbar-actions {
    justify-self: end;
}

/* Logo Center: Menu Left, Logo Center, Actions Right */
.navbar.navbar-layout-logo-center .navbar-container,
.navbar.navbar-layout-logo-center > div {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 2rem;
}

.navbar.navbar-layout-logo-center .navbar-menu {
    justify-self: start;
    order: 1;
}

.navbar.navbar-layout-logo-center .navbar-brand {
    justify-self: center;
    order: 2;
}

.navbar.navbar-layout-logo-center .navbar-actions {
    justify-self: end;
    order: 3;
}

/* Split: Logo Left, Menu and Actions Right (side by side) */
.navbar.navbar-layout-split .navbar-container,
.navbar.navbar-layout-split > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.navbar.navbar-layout-split .navbar-menu {
    margin-left: auto;
    margin-right: 2rem;
}

.navbar.navbar-layout-split .navbar-actions {
    margin-left: 0;
}

/* ============================================
   RESPONSIVE ADJUSTMENTS
   ============================================ */

@media (max-width: 1024px) {
    /* Collapse centered/logo-center layouts to default on tablets */
    .navbar.navbar-layout-centered-menu .navbar-container,
    .navbar.navbar-layout-centered-menu > div,
    .navbar.navbar-layout-logo-center .navbar-container,
    .navbar.navbar-layout-logo-center > div {
        display: flex;
        justify-content: space-between;
    }
    
    .navbar.navbar-layout-centered-menu .navbar-menu,
    .navbar.navbar-layout-logo-center .navbar-menu {
        margin-left: auto;
        margin-right: 1rem;
        order: initial;
        justify-self: initial;
    }
    
    .navbar.navbar-layout-centered-menu .navbar-brand,
    .navbar.navbar-layout-logo-center .navbar-brand {
        order: initial;
        justify-self: initial;
    }
    
    .navbar.navbar-layout-centered-menu .navbar-actions,
    .navbar.navbar-layout-logo-center .navbar-actions {
        order: initial;
        justify-self: initial;
    }
}

@media (max-width: 768px) {
    /* Reduce container padding on mobile */
    .navbar .container-fluid {
        padding: 0 1rem;
    }
    
    /* Reduce spacing on mobile */
    .navbar.navbar-spacing-spacious > div {
        padding-top: 1rem;
        padding-bottom: 1rem;
    }
    
    .navbar.navbar-spacing-comfortable > div {
        padding-top: 0.75rem;
        padding-bottom: 0.75rem;
    }
}
