/* =========================================
   1. Core Menu Structure (Desktop - ORIGINAL)
   ========================================= */
.edm-menu-wrapper {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
}

.edm-menu-wrapper .menu {
    display: flex;
    flex-wrap: nowrap;
    list-style: none;
    gap: 38px;
    margin: 0;
    padding: 0;
    align-items: center;
    width: 100%;
}

.edm-menu-wrapper .menu-item {
    display: block;
}

.menu-item.menu-item-type-post_type.menu-item-object-page a:hover, .menu-item.menu-item-type-post_type.menu-item-object-page a:focus{
    color: #EE344D;
}
.current-menu-item.page_item.current_page_item a{
    color: #EE344D !important;
}

.edm-menu-wrapper .menu-item a {
    text-decoration: none;
    transition: color 0.3s ease;
    white-space: nowrap;
}

/* Fix: Isolate Button from Desktop Padding/Margins */
.edm-menu-wrapper.edm-has-button .menu-item:last-child {
    margin-left: auto !important;
    margin-right: 0 !important;
}

/* =========================================
   2. Elite Hamburger UI (Design Update)
   ========================================= */
.edm-hamburger {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    width: 45px;
    height: 45px;
    z-index: 1001;
    gap: 5px;
    margin-left: auto;
}

.edm-hamburger span {
    display: block;
    height: 2px;
    background-color: #525252;
    border-radius: 10px;
    transition: all 0.3s cubic-bezier(0.68, -0.6, 0.32, 1.6);
}

/* Elite Staggered Widths */
.edm-line-top { width: 24px; }
.edm-line-mid { width: 18px; }
.edm-line-bot { width: 24px; }

/* X Animation */
.edm-menu-open .edm-line-top { transform: translateY(7px) rotate(45deg); width: 24px; }
.edm-menu-open .edm-line-mid { opacity: 0; transform: translateX(10px); }
.edm-menu-open .edm-line-bot { transform: translateY(-7px) rotate(-45deg); width: 24px; }

/* =========================================
   3. Elite Mobile Navigation (Full Screen Overlay)
   ========================================= */
:root {
    --sun-cream: #FCF7ED;
    --sun-gray: #525252;
    --sun-yellow: #FAB000;
    --sun-red: #EE344D;
}

.edm-menu-wrapper.edm-is-mobile .menu {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    background: var(--sun-cream);
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 120px 40px 40px 40px;
    z-index: 1000;
    
    /* Animation: Liquid Slide Down */
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.5s cubic-bezier(0.3, 0, 0.2, 1);
    display: flex !important;
    overflow-y: auto;
}

.edm-menu-wrapper.edm-is-mobile.edm-menu-open .menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    gap: 30px;
}

/* Staggered Link Animation */
.edm-menu-wrapper.edm-is-mobile .menu-item {
    opacity: 0;
    transform: translateX(-20px);
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
    width: 100%;
    margin: 0 0 0 0 !important;
}

.edm-menu-wrapper.edm-is-mobile.edm-menu-open .menu-item {
    opacity: 1;
    transform: translateX(0);
    transition-delay: calc(var(--index, 0) * 50ms + 100ms);
}

/* Mobile Typography */
.edm-menu-wrapper.edm-is-mobile .menu-item a {
    font-size: 38px;
    font-weight: 800;
    color: var(--sun-gray);
    padding: 10px 0 !important;
    letter-spacing: -0.02em;
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.edm-menu-wrapper.edm-is-mobile .menu-item a:active {
    color: var(--sun-red);
}

/* Button in Mobile Overlay */
.edm-menu-wrapper.edm-is-mobile .sunshine-btn-container {
    margin-top: auto;
    width: 100%;
    padding-top: 0;
}

.edm-menu-wrapper.edm-is-mobile .sunshine-btn-container a.sunshine-btn {
    padding: 10px 10px 10px 20px !important;
}

.edm-menu-wrapper.edm-is-mobile .sunshine-btn-container .sunshine-btn-icon-box {
    width: 35px;
    height: 35px;
}

.edm-menu-wrapper.edm-is-mobile .sunshine-btn-container a.sunshine-btn span.sunshine-btn-text {
    font-size: 18px;
}

nav.edm-menu-wrapper.edm-has-button button.edm-hamburger {
    background: transparent;
}