/* ===== BASE HEADER LAYOUT ===== */

.site-header {
    width:100%;
    border-bottom:0.0625em solid #eee;
    background:#fff;
}

.header-inner {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:0 2em;
    min-height:5em;
}

/* LEFT / RIGHT STRUCTURE */
.header-left,
.header-right {
    display:flex;
    align-items:center;
    gap:2em; /* equal spacing */
}

/* ===== MENU BUTTON ===== */
.menu-toggle {
    background:#135266;
    color:#fff;
    border:none;
    padding:0.75em 1em;
    font-size:1.2em;
    border-radius:0.625em;
    cursor:pointer;
}

/* ===== SEARCH BUTTON ===== */
.search-circle {
    width:4.3em;
    height:4.3em;
    border-radius:50%;
    border:0.08em solid #135266;
    background:#fff;
    color:#135266;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:background 0.25s ease, color 0.25s ease;
}

.search-circle:hover {
    background:#135266;
    color:#fff;
}

.search-circle svg {
    width:2em;
    height:2em;
    stroke:currentColor;
    stroke-width:2;
    fill:none;
    stroke-linecap:round;
    stroke-linejoin:round;
}

/* ===== SEARCH DROPDOWN ROW ===== */
.search-row {
    width:100%;
    overflow:hidden;
    max-height:0;
    transition:max-height 0.3s ease;
    border-top:0.0625em solid #eee;
}

.search-row.active {
    max-height:8em;
}

.search-row-inner {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:1em;
    padding:1em 2em;
}

/* INPUT */
.search-row-inner input {
    border:0.08em solid #e5e5e5;
    border-radius:2em;
    padding:0.5em 1em;
    font-size:0.9em;
    width:18em;
}


/* BUTTON */
.search-row-inner button {
    border:none;
    border-radius:2em;
    padding:0.5em 1.2em;
    cursor:pointer;
    background:#135266;
    color:#fff;
    font-size:0.9em;
    transition:background 0.25s ease;
}

.search-row-inner button:hover {
    background:#0f3f50;
}

.side-menu {
    position:fixed;
    top:0;
    left:0;
    width:60vw;
    max-width:40em;
    height:100vh;
    background:#fff;
    transform:translateX(-100%);
    transition:0.3s ease;
    z-index:1002;
}

.side-menu.active {
    transform:translateX(0);
}

/* ===== MENU STRUCTURE ===== */
.menu-content {
    padding:1.875em;
    overflow-y:auto;          
    flex:1;                   
    -webkit-overflow-scrolling:touch;
}

.menu-list { list-style:none; }

.menu-item { 
    border-bottom: 0.0625em solid #eee;
    transition: transform 0.2s ease;
}

.menu-item:hover {
    cursor: pointer; 
    transform:scale(1.025);
}

.menu-main {
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.menu-main > a,
.main-menu-link {
    font-size:1.25em;
    color:#111;
    text-decoration:none;
    cursor:pointer;      
}

.main-menu-link:hover, 
.menu-main > a:hover
{ color:#135266; }

.submenu-toggle {
    background:none;
    border:none;
    font-size:3.125em;
    color:#135266;
    cursor:pointer;
    transition:0.5s ease;
    rotate: 90deg;
}

.submenu {
    list-style:none;
    margin-top:0.625em;
    padding-left:0.9375em;
    max-height:0;
    overflow:hidden;
    transition:max-height 0.3s ease;
}

.submenu li { margin-bottom:0.625em; }

.submenu a {
    font-size:1.125em;
    color:#555;
    text-decoration:none;
    display: block;
    width: 100%;
}
.submenu a:hover { color:#135266; }

.menu-item.active .submenu {
    max-height:18.75em;
}

.menu-item.active .submenu-toggle {
    transform:rotate(180deg);
}

/* FORCE WOO BLOCKS INLINE */
.wp-block-woocommerce-customer-account,
.wp-block-woocommerce-mini-cart {
    margin:0;
}

/* ===== MOBILE ===== */
@media (max-width:48em) {

    .header-inner {
        padding:0 1em;
        justify-content:space-between;
    }

    .header-left,
    .header-right {
        gap:1.5em;
        flex:1;
        justify-content:space-evenly;
    }

    .site-logo img {
        height:3em;
    }
}