/* =========================================================
   GIZMOO HEADER
   ========================================================= */


/* Header */

.gizmoo-header {

    position: relative;

    width: 100%;

    background: var(--gizmoo-bg);

    border-bottom:
        var(--gizmoo-border-width)
        solid
        var(--gizmoo-border);
}


/* Header Layout */

.gizmoo-header .container {

    display: flex;

    align-items: center;

    min-height: 72px;
}


/* Logo */

.gizmoo-header .logo {

    display: flex;

    align-items: center;

    flex-shrink: 0;
}


.gizmoo-header .logo a {

    display: flex;

    align-items: center;
}


.gizmoo-header .logo img {

    display: block;

    width: auto;

    max-width: 180px;

    max-height: 44px;

    object-fit: contain;
}


/* Site Title Fallback */

.gizmoo-site-title {

    color: var(--gizmoo-text);

    font-size: 20px;

    font-weight: 700;

    line-height: 1.2;

    text-decoration: none;

    transition:
        color var(--gizmoo-transition-base);
}


.gizmoo-site-title:hover {

    color: var(--gizmoo-primary);
}


/* =========================================================
   MAIN NAVIGATION
   ========================================================= */


.main-nav {

    flex: 1;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-inline: 40px;
}


.main-nav ul {

    display: flex;

    align-items: center;

    gap: 30px;

    margin: 0;

    padding: 0;

    list-style: none;
}


.main-nav li {

    position: relative;

    margin: 0;

    padding: 0;
}


.main-nav a {

    display: inline-flex;

    align-items: center;

    min-height: 72px;

    color: var(--gizmoo-text-secondary);

    font-size: var(--gizmoo-font-size-sm);

    font-weight: 500;

    line-height: 1.4;

    text-decoration: none;

    transition:
        color var(--gizmoo-transition-base);
}


.main-nav a:hover {

    color: var(--gizmoo-primary);
}


/* Current Menu Item */

.main-nav .current-menu-item > a,
.main-nav .current-menu-ancestor > a,
.main-nav .current_page_item > a {

    color: var(--gizmoo-primary);
}


/* =========================================================
   MOBILE MENU TOGGLE
   ========================================================= */


.menu-toggle {

    display: none;

    align-items: center;

    justify-content: center;

    width: 42px;

    height: 42px;

    padding: 0;

    color: var(--gizmoo-text);

    background: transparent;

    border:
        var(--gizmoo-border-width)
        solid
        transparent;

    border-radius: var(--gizmoo-radius-md);

    font-size: 22px;

    line-height: 1;
}


.menu-toggle:hover {

    color: var(--gizmoo-primary);

    background-color: var(--gizmoo-bg-secondary);

    border-color: var(--gizmoo-border);
}


/* =========================================================
   HEADER RESPONSIVE
   ========================================================= */


@media (max-width: 768px) {


    .gizmoo-header .container {

        min-height: 64px;
    }


    .gizmoo-header .logo img {

        max-width: 150px;

        max-height: 40px;
    }


    /* Mobile Navigation */


    .main-nav {

        position: absolute;

        top: 100%;

        right: 0;

        left: 0;

        z-index: 100;

        display: none;

        margin: 0;

        padding:
            8px
            var(--gizmoo-container-padding);

        background: var(--gizmoo-bg);

        border-bottom:
            var(--gizmoo-border-width)
            solid
            var(--gizmoo-border);

        box-shadow: var(--gizmoo-shadow-soft);
    }


    .main-nav.active {

        display: block;
    }


    .main-nav ul {

        display: flex;

        flex-direction: column;

        align-items: stretch;

        gap: 0;

        width: 100%;
    }


    .main-nav li {

        border-bottom:
            var(--gizmoo-border-width)
            solid
            var(--gizmoo-border);
    }


    .main-nav li:last-child {

        border-bottom: none;
    }


    .main-nav a {

        display: flex;

        align-items: center;

        min-height: 48px;

        padding: 8px 4px;

        font-size: 14px;
    }


    .menu-toggle {

        display: flex;

        flex-shrink: 0;
    }

}


/* Small Mobile */


@media (max-width: 480px) {


    .gizmoo-header .logo img {

        max-width: 135px;

        max-height: 38px;
    }


    .menu-toggle {

        width: 40px;

        height: 40px;

        font-size: 21px;
    }

}