/* ed-header.css */

header#main-header {
    position: fixed;
    top:0;
    left:0;
    right:0;
    z-index:101;
}

.header--container{
    display:flex;
    align-items:center;
    justify-content: space-between;
    padding:16px 32px;
    border-radius:0 0 32px 32px;
    background:#FFF;
}

.main-menu--list{
    display:flex;
    align-items:center;
    gap:40px;
    list-style:none;
    margin:0;
    padding:0;
}

.main-menu--list .menu-item{
    position:relative;
}

.main-menu--list .menu-item > a{
    display:flex;
    align-items:center;
    gap:6px;
    color:#1E1E1E;
    font-size:16px;
    font-weight:300;
    text-decoration:none;
    line-height:1;
    padding:8px 0;
}

.main-menu--list .menu-item > a:hover{
    color:#C68F6E;
}

.main-menu--list .menu-item-has-children > a::after{
    content:'';
    width:8px;
    height:8px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:rotate(45deg) translateY(-2px);
    transition:transform 0.2s ease;
}

.main-menu--list .menu-item-has-children:hover > a::after{
    transform:rotate(225deg) translateY(2px);
}

.main-menu--list .sub-menu{
    position:absolute;
    top:calc(100% + 16px);
    left:50%;
    transform:translateX(-50%);
    min-width:200px;
    list-style:none;
    margin:0;
    padding:8px 24px;
    background:#FFF;
    border-radius:16px;
    box-shadow:0 16px 40px rgba(0,0,0,0.12);
    opacity:0;
    visibility:hidden;
    transition:opacity 0.2s ease, visibility 0.2s ease;
    z-index:10;
}

.main-menu--list .menu-item-has-children:hover > .sub-menu{
    opacity:1;
    visibility:visible;
}

.main-menu--list .sub-menu .menu-item{
    border-bottom:1px solid #EEE;
}

.main-menu--list .sub-menu .menu-item:last-child{
    border-bottom:none;
}

.main-menu--list .sub-menu .menu-item > a{
    display:block;
    padding:14px 0;
    color:#1A1A1A;
    font-size:15px;
    font-weight:400;
    white-space:nowrap;
}

.main-menu--list .sub-menu .menu-item > a:hover{
    color:#C68F6E;
}

/* Hamburger */

.hamburger{
    display:none;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:5px;
    width:44px;
    height:44px;
    padding:0;
    border:none;
    background:transparent;
    cursor:pointer;
    z-index:20;
}

.hamburger--line{
    width:24px;
    height:2px;
    background:#1A1A1A;
    border-radius:2px;
    transition:transform 0.25s ease, opacity 0.25s ease;
}

body.mobile-nav-open .hamburger--line:nth-child(1){
    transform:translateY(7px) rotate(45deg);
}

body.mobile-nav-open .hamburger--line:nth-child(2){
    opacity:0;
}

body.mobile-nav-open .hamburger--line:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
}

/* Mobile fullscreen overlay */

.mobile-nav{
    position:fixed;
    inset:0;
    display:flex;
    flex-direction:column;
    background:#FFF;
    opacity:0;
    visibility:hidden;
    transform:translateY(-16px);
    transition:opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
    z-index:200;
}

.mobile-nav .header--container{
    border-radius:0;
}

.mobile-nav--body{
    flex:1;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:48px;
}

body.mobile-nav-open .mobile-nav{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

body.mobile-nav-open{
    overflow:hidden;
}

.mobile-nav--list{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:28px;
    list-style:none;
    margin:0;
    padding:0;
    text-align:center;
}

.mobile-nav--list .menu-item > a{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#1A1A1A;
    font-size:24px;
    font-weight:500;
    text-decoration:none;
}

.mobile-nav--list .menu-item-has-children > a::after{
    content:'';
    width:8px;
    height:8px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:rotate(45deg);
    transition:transform 0.2s ease;
}

.mobile-nav--list .menu-item-has-children.sub-menu-open > a::after{
    transform:rotate(225deg);
}

.mobile-nav--list .sub-menu{
    display:none;
    list-style:none;
    margin:16px 0 0;
    padding:0;
    flex-direction:column;
    align-items:center;
    gap:16px;
}

.mobile-nav--list .menu-item-has-children.sub-menu-open > .sub-menu{
    display:flex;
}

.mobile-nav--list .sub-menu .menu-item > a{
    font-size:18px;
    font-weight:400;
    color:#6B6B6B;
}

@media (max-width: 1024px){
    .main-menu{
        display:none;
    }

    .hamburger{
        display:flex;
    }
}

@media (max-width: 767px){
    .menu .header--cta{
        display:none;
    }
}