/* Menu Website v3.0.0 - Frontend Styles */

* {
    box-sizing: border-box !important;
}

.mw-menu-website {
    position: relative !important;
    z-index: 99999 !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif !important;
    width: 100% !important;
}

.mw-menu-container {
    position: relative !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: var(--mw-primary-align) !important;
}

/* Primary Menu */
.mw-menu-primary {
    list-style: none !important;
    margin: 0 !important;
    padding: var(--mw-primary-padding) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: var(--mw-primary-align) !important;
    gap: var(--mw-primary-h-spacing) !important;
    background: var(--mw-primary-bg-desktop) !important;
    border-radius: var(--mw-primary-radius) !important;
    border: var(--mw-primary-border-width) solid var(--mw-primary-border-color) !important;
    flex-wrap: wrap !important;
    width: var(--mw-primary-container-width) !important;
    transition: background 0s ease !important;
}

.mw-menu-primary:hover {
    background: var(--mw-primary-bg-hover-desktop) !important;
}

.mw-menu-item {
    position: relative !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.mw-menu-link {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 8px 16px !important;
    color: var(--mw-primary-link-desktop) !important;
    text-decoration: none !important;
    font-size: var(--mw-primary-font-desktop) !important;
    font-weight: 500 !important;
    transition: color 0s ease !important;
    border-radius: 6px !important;
    position: relative !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    text-transform: var(--mw-primary-text-transform) !important;
    outline: none !important;
    -webkit-tap-highlight-color: transparent !important;
}

.mw-menu-link-parent {
    cursor: default !important;
}

.mw-menu-link:hover {
    color: var(--mw-primary-link-hover-desktop) !important;
}

.mw-menu-link:focus {
    color: var(--mw-primary-link-focus-desktop) !important;
    outline: none !important;
}

.mw-menu-link:active {
    outline: none !important;
}

/* Chevron Icon */
.mw-chevron {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    color: var(--mw-chevron-color-desktop) !important;
}

.mw-chevron svg {
    width: var(--mw-chevron-size-desktop) !important;
    height: var(--mw-chevron-size-desktop) !important;
    display: block !important;
}

.mw-menu-link:hover .mw-chevron {
    color: var(--mw-chevron-hover-desktop) !important;
}

.mw-menu-link:focus .mw-chevron {
    color: var(--mw-chevron-focus-desktop) !important;
}

.mw-has-children:hover .mw-chevron {
    transform: rotate(180deg) !important;
}

/* Secondary Menu (Dropdown) */
.mw-menu-secondary {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 0 !important;
    list-style: none !important;
    margin: 0 !important;
    padding: var(--mw-secondary-padding) !important;
    background: var(--mw-secondary-bg-desktop) !important;
    border-radius: var(--mw-secondary-radius) !important;
    border: var(--mw-secondary-border-width) solid var(--mw-secondary-border-color) !important;
    min-width: var(--mw-secondary-container-width) !important;
    width: max-content !important;
    max-width: calc(var(--mw-secondary-container-width) * 1.5) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-10px) !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    z-index: 100000 !important;
}

.mw-menu-secondary:hover {
    background: var(--mw-secondary-bg-hover-desktop) !important;
}

.mw-has-children:hover .mw-menu-secondary {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

.mw-submenu-item {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
}

.mw-submenu-item:not(:last-child) {
    margin-bottom: var(--mw-secondary-v-spacing) !important;
}

.mw-submenu-item:not(:last-child)::after {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    bottom: calc(var(--mw-secondary-v-spacing) / -2 - var(--mw-secondary-divider-width) / 2) !important;
    left: var(--mw-secondary-divider-spacing) !important;
    right: var(--mw-secondary-divider-spacing) !important;
    height: var(--mw-secondary-divider-width) !important;
    background: var(--mw-secondary-divider-color) !important;
    opacity: var(--mw-secondary-divider-opacity) !important;
    border-style: var(--mw-secondary-divider-style) !important;
    border-width: 0 !important;
    border-bottom-width: var(--mw-secondary-divider-width) !important;
    border-color: var(--mw-secondary-divider-color) !important;
}

.mw-submenu-link {
    display: block !important;
    padding: 10px 16px !important;
    color: var(--mw-secondary-link-desktop) !important;
    text-decoration: none !important;
    font-size: var(--mw-secondary-font-desktop) !important;
    font-weight: 400 !important;
    border-radius: 4px !important;
    transition: all 0s ease !important;
    text-align: var(--mw-secondary-align) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    outline: none !important;
    -webkit-tap-highlight-color: transparent !important;
}

.mw-submenu-link:hover {
    color: var(--mw-secondary-link-hover-desktop) !important;
    background: var(--mw-secondary-item-bg-hover) !important;
}

.mw-submenu-link:focus {
    color: var(--mw-secondary-link-focus-desktop) !important;
    outline: none !important;
}

.mw-submenu-link:active {
    outline: none !important;
}

/* Mobile Toggle Wrapper */
.mw-mobile-toggle-wrapper {
    display: none !important;
    align-items: center !important;
    gap: var(--mw-mobile-hamburger-label-padding) !important;
}

/* Mobile Label */
.mw-mobile-label {
    font-size: var(--mw-mobile-hamburger-label-size) !important;
    font-weight: var(--mw-mobile-hamburger-label-weight) !important;
    color: var(--mw-mobile-hamburger-icon) !important;
    font-family: 'Inter', sans-serif !important;
    user-select: none !important;
    cursor: pointer !important;
    transition: none !important;
}

.mw-mobile-label:hover,
.mw-mobile-label:focus,
.mw-mobile-label:active {
    color: var(--mw-mobile-hamburger-icon) !important;
    transform: none !important;
    box-shadow: none !important;
    border: none !important;
    outline: none !important;
}

/* Mobile Toggle Button */
.mw-mobile-toggle {
    display: none !important;
    flex-direction: column !important;
    justify-content: space-around !important;
    width: var(--mw-mobile-hamburger-size) !important;
    height: var(--mw-mobile-hamburger-size) !important;
    background: var(--mw-mobile-hamburger-bg) !important;
    border: none !important;
    border-radius: var(--mw-mobile-hamburger-radius) !important;
    cursor: pointer !important;
    padding: 10px !important;
    z-index: 100002 !important;
    transition: background 0.3s ease !important;
    position: relative !important;
    flex-shrink: 0 !important;
}

.mw-hamburger {
    width: 100% !important;
    height: 3px !important;
    background: var(--mw-mobile-hamburger-icon) !important;
    border-radius: 2px !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    display: block !important;
}

.mw-mobile-toggle:hover {
    background: var(--mw-mobile-hamburger-bg-hover) !important;
}

/* Mobile Close Button */
.mw-mobile-close {
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    width: var(--mw-mobile-close-size) !important;
    height: var(--mw-mobile-close-size) !important;
    min-width: var(--mw-mobile-close-size) !important;
    min-height: var(--mw-mobile-close-size) !important;
    max-width: var(--mw-mobile-close-size) !important;
    max-height: var(--mw-mobile-close-size) !important;
    background: var(--mw-mobile-close-bg) !important;
    border: none !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    z-index: 100003 !important;
    transition: background 0.3s ease !important;
    position: fixed !important;
    top: var(--mw-mobile-close-padding-top) !important;
    right: var(--mw-mobile-close-padding-right) !important;
    color: var(--mw-mobile-close-icon) !important;
    padding: 0 !important;
}

.mw-mobile-close:hover {
    background: var(--mw-mobile-close-bg-hover) !important;
}

.mw-mobile-close svg {
    width: 60% !important;
    height: 60% !important;
    flex-shrink: 0 !important;
}

/* Tablet Breakpoint */
@media (max-width: 1024px) {
    .mw-menu-primary {
        gap: calc(var(--mw-primary-h-spacing) * 0.7) !important;
    }
    
    .mw-menu-link {
        font-size: calc(var(--mw-primary-font-desktop) * 0.9) !important;
        padding: 6px 12px !important;
    }
    
    .mw-submenu-link {
        font-size: calc(var(--mw-secondary-font-desktop) * 0.9) !important;
    }
}

/* Mobile Breakpoint */
@media (max-width: 768px) {
    .mw-menu-website {
        position: relative !important;
    }
    
    .mw-menu-container {
        justify-content: var(--mw-mobile-hamburger-align) !important;
    }
    
    .mw-mobile-toggle-wrapper {
        display: flex !important;
    }
    
    .mw-mobile-toggle {
        display: flex !important;
    }
    
    .mw-mobile-active .mw-mobile-toggle-wrapper {
        display: none !important;
    }
    
    .mw-menu-primary {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100vh !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        padding: var(--mw-mobile-menu-padding-top) 20px 20px 20px !important;
        gap: 0 !important;
        visibility: hidden !important;
        transform: translateX(-100%) !important;
        transition: transform var(--mw-mobile-animation-speed) cubic-bezier(0.4, 0, 0.2, 1) !important;
        overflow-y: auto !important;
        border-radius: 0 !important;
        background: var(--mw-mobile-menu-bg) !important;
        opacity: 1 !important;
    }
    
    .mw-mobile-active .mw-menu-primary {
        visibility: visible !important;
        transform: translateX(0) !important;
    }
    
    .mw-mobile-active .mw-mobile-close {
        display: flex !important;
    }
    
    .mw-menu-item {
        width: 100% !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
        margin-bottom: var(--mw-mobile-item-spacing) !important;
        display: block !important;
        height: auto !important;
        min-height: auto !important;
    }
    
    .mw-menu-item:last-child {
        margin-bottom: 0 !important;
    }
    
    /* Ensure items with and without chevron have same height */
    .mw-menu-item > .mw-menu-link,
    .mw-has-children > .mw-menu-link {
        box-sizing: border-box !important;
        padding-top: var(--mw-mobile-item-padding-vertical) !important;
        padding-bottom: var(--mw-mobile-item-padding-vertical) !important;
    }
    
    .mw-menu-link {
        width: 100% !important;
        justify-content: space-between !important;
        padding: var(--mw-mobile-item-padding-vertical) 20px !important;
        font-size: var(--mw-primary-font-mobile) !important;
        border-radius: 0 !important;
        min-height: auto !important;
        height: auto !important;
        color: var(--mw-primary-link-mobile) !important;
    }
    
    .mw-menu-link:hover {
        color: var(--mw-primary-link-hover-mobile) !important;
    }
    
    .mw-menu-link:focus {
        color: var(--mw-primary-link-focus-mobile) !important;
    }
    
    /* Force same height for all items, with or without chevron */
    .mw-menu-item .mw-menu-link,
    .mw-has-children .mw-menu-link {
        padding: var(--mw-mobile-item-padding-vertical) 20px !important;
        display: flex !important;
        align-items: center !important;
    }
    
    .mw-chevron {
        flex-shrink: 0 !important;
        margin-left: auto !important;
        color: var(--mw-chevron-color-mobile) !important;
    }
    
    .mw-menu-link:hover .mw-chevron {
        color: var(--mw-chevron-hover-mobile) !important;
    }
    
    .mw-menu-link:focus .mw-chevron {
        color: var(--mw-chevron-focus-mobile) !important;
    }
    
    .mw-chevron svg {
        width: var(--mw-chevron-size-mobile) !important;
        height: var(--mw-chevron-size-mobile) !important;
        display: block !important;
    }
    
    /* Mobile Dropdown Behavior */
    .mw-menu-secondary {
        position: static !important;
        opacity: 0 !important;
        visibility: hidden !important;
        max-height: 0 !important;
        transform: none !important;
        overflow: hidden !important;
        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
        width: 100% !important;
        margin-top: 0 !important;
        border-radius: 0 !important;
        border: none !important;
        border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
        background: var(--mw-secondary-bg-mobile) !important;
        min-width: 100% !important;
        max-width: 100% !important;
    }
    
    .mw-menu-secondary:hover {
        background: var(--mw-secondary-bg-mobile) !important;
    }
    
    .mw-has-children.mw-mobile-submenu-open .mw-menu-secondary {
        opacity: 1 !important;
        visibility: visible !important;
        max-height: 1000px !important;
    }
    
    .mw-has-children.mw-mobile-submenu-open .mw-chevron {
        transform: rotate(180deg) !important;
    }
    
    .mw-submenu-item {
        border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    }
    
    .mw-submenu-item:last-child {
        border-bottom: none !important;
    }
    
    .mw-submenu-item:not(:last-child)::after {
        display: none !important;
    }
    
    .mw-submenu-link {
        padding: 14px 20px 14px 40px !important;
        font-size: var(--mw-secondary-font-mobile) !important;
        border-radius: 0 !important;
        text-align: left !important;
        color: var(--mw-secondary-link-mobile) !important;
    }
    
    .mw-submenu-link:hover {
        background: var(--mw-secondary-item-bg-hover) !important;
        color: var(--mw-secondary-link-hover-mobile) !important;
    }
    
    .mw-submenu-link:focus {
        color: var(--mw-secondary-link-focus-mobile) !important;
    }
    
    /* Prevent desktop hover on mobile */
    .mw-has-children:hover .mw-menu-secondary {
        opacity: 0 !important;
        visibility: hidden !important;
        max-height: 0 !important;
    }
    
    .mw-has-children.mw-mobile-submenu-open:hover .mw-menu-secondary {
        opacity: 1 !important;
        visibility: visible !important;
        max-height: 1000px !important;
    }
    
    .mw-menu-primary:hover {
        background: var(--mw-mobile-menu-bg) !important;
    }
}

/* Small Mobile */
@media (max-width: 480px) {
    .mw-menu-primary {
        padding: calc(var(--mw-mobile-menu-padding-top) - 10px) 15px 15px 15px !important;
    }
    
    .mw-menu-link {
        padding: 14px 16px !important;
        font-size: calc(var(--mw-primary-font-mobile) * 0.95) !important;
    }
    
    .mw-submenu-link {
        padding: 12px 16px 12px 36px !important;
        font-size: calc(var(--mw-secondary-font-mobile) * 0.95) !important;
    }
}

/* Accessibility Enhancements */
.mw-menu-link:focus-visible,
.mw-submenu-link:focus-visible {
    outline: none !important;
}

/* Remove tap highlight and outlines completely */
* {
    -webkit-tap-highlight-color: transparent !important;
    outline: none !important;
}

*:focus {
    outline: none !important;
}

*:active {
    outline: none !important;
}

button:focus {
    outline: none !important;
}

a:focus {
    outline: none !important;
}

/* Print Styles */
@media print {
    .mw-menu-website {
        display: none !important;
    }
}

/* High Contrast Mode Support */
@media (prefers-contrast: high) {
    .mw-menu-link,
    .mw-submenu-link {
        font-weight: 600 !important;
    }
    
    .mw-menu-primary,
    .mw-menu-secondary {
        border-width: 2px !important;
    }
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Quick Access Styles - v4.0.0 */
.mw-quick-access-container {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: var(--mw-qa-gap-v-desktop) var(--mw-qa-gap-h-desktop) !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.mw-qa-box {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: var(--mw-qa-padding-desktop) !important;
    background: var(--mw-qa-box-bg) !important;
    border: var(--mw-qa-border-width) solid var(--mw-qa-border-color) !important;
    border-radius: var(--mw-qa-border-radius) !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    outline: none !important;
    -webkit-tap-highlight-color: transparent !important;
    position: relative !important;
    overflow: hidden !important;
    height: var(--mw-qa-box-height-desktop) !important;
    min-height: var(--mw-qa-box-height-desktop) !important;
}

.mw-qa-box:hover {
    background: var(--mw-qa-box-bg-hover) !important;
    transform: translateY(-3px) !important;
}

.mw-qa-box:focus {
    background: var(--mw-qa-box-bg-focus) !important;
    outline: none !important;
}

.mw-qa-box:active {
    outline: none !important;
}

.mw-qa-icon {
    font-size: var(--mw-qa-icon-size-desktop) !important;
    color: var(--mw-qa-icon-color) !important;
    margin-bottom: 12px !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    font-family: 'Material Icons' !important;
    font-weight: normal !important;
    font-style: normal !important;
    display: inline-block !important;
    line-height: 1 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    word-wrap: normal !important;
    white-space: nowrap !important;
    direction: ltr !important;
}

.mw-qa-box:hover .mw-qa-icon {
    color: var(--mw-qa-icon-hover) !important;
    transform: scale(1.1) !important;
}

.mw-qa-box:focus .mw-qa-icon {
    color: var(--mw-qa-icon-focus) !important;
}

.mw-qa-label {
    font-size: var(--mw-qa-label-size-desktop) !important;
    color: var(--mw-qa-label-color) !important;
    font-weight: 500 !important;
    text-align: center !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif !important;
    line-height: 1.4 !important;
    max-width: 100% !important;
    word-break: break-word !important;
}

.mw-qa-box:hover .mw-qa-label {
    color: var(--mw-qa-label-hover) !important;
}

.mw-qa-box:focus .mw-qa-label {
    color: var(--mw-qa-label-focus) !important;
}

/* Tablet Breakpoint */
@media (max-width: 1024px) {
    .mw-quick-access-container {
        gap: calc(var(--mw-qa-gap-v-desktop) * 0.8) calc(var(--mw-qa-gap-h-desktop) * 0.8) !important;
    }
}

/* Mobile Breakpoint */
@media (max-width: 768px) {
    .mw-quick-access-container {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: var(--mw-qa-gap-v-mobile) var(--mw-qa-gap-h-mobile) !important;
    }
    
    .mw-qa-box {
        padding: var(--mw-qa-padding-mobile) !important;
        height: var(--mw-qa-box-height-mobile) !important;
        min-height: var(--mw-qa-box-height-mobile) !important;
    }
    
    .mw-qa-icon {
        font-size: var(--mw-qa-icon-size-mobile) !important;
        margin-bottom: 8px !important;
    }
    
    .mw-qa-label {
        font-size: var(--mw-qa-label-size-mobile) !important;
    }
}

/* Small Mobile */
@media (max-width: 480px) {
    .mw-quick-access-container {
        gap: calc(var(--mw-qa-gap-v-mobile) * 0.9) calc(var(--mw-qa-gap-h-mobile) * 0.9) !important;
    }
    
    .mw-qa-icon {
        font-size: calc(var(--mw-qa-icon-size-mobile) * 0.95) !important;
    }
    
    .mw-qa-label {
        font-size: calc(var(--mw-qa-label-size-mobile) * 0.95) !important;
    }
}
