/**
 * Amazing Menus Pro - Main Stylesheet
 * Base styles for all menu styles
 */

/* Reset and base styles */
.amp-menu-wrapper {
    position: relative;
    width: 100%;
    z-index: 1000;
    border: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

.amp-full-width {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
}

.amp-menu-container {
    width: 100%;
    max-width: 100%;
    border: none !important;
    border-bottom: none !important;
}

.amp-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    position: relative;
    border: none !important;
    border-bottom: none !important;
    border-top: none !important;
    box-shadow: none !important;
}

/* Override any theme styles that add borders */
.amp-menu-wrapper *,
.amp-menu-container *,
.amp-menu * {
    border-bottom: none !important;
}

/* Specifically target any hr or border elements */
.amp-menu-wrapper hr,
.amp-menu-container hr,
.amp-menu-wrapper::after,
.amp-menu-container::after,
.amp-menu::after {
    display: none !important;
    border: none !important;
}

/* Override theme navigation styles that might add borders */
.amp-menu-wrapper nav,
.amp-menu-container nav,
.amp-menu-wrapper .navigation,
.amp-menu-container .navigation {
    border: none !important;
    border-bottom: none !important;
    border-top: none !important;
}

/* Remove any grey borders from theme */
.amp-menu-wrapper,
.amp-menu-container,
.amp-menu,
.amp-menu-wrapper *,
.amp-menu-container *,
.amp-menu * {
    border-color: transparent !important;
}

/* Specifically target the grey color mentioned */
.amp-menu-wrapper[style*="#959595"],
.amp-menu-container[style*="#959595"],
.amp-menu-wrapper *[style*="#959595"],
.amp-menu-container *[style*="#959595"] {
    border: none !important;
    border-bottom: none !important;
}

/* Additional override for common theme selectors */
body .amp-menu-wrapper,
body .amp-menu-container,
body .amp-menu {
    border-bottom: none !important;
    border-bottom-color: transparent !important;
    box-shadow: none !important;
}

/* Target common WordPress navigation classes */
.site-navigation .amp-menu-wrapper,
.main-navigation .amp-menu-wrapper,
.primary-navigation .amp-menu-wrapper,
.navigation .amp-menu-wrapper,
nav .amp-menu-wrapper,
header .amp-menu-wrapper {
    border: none !important;
    border-bottom: none !important;
    border-top: none !important;
    box-shadow: none !important;
}

/* Remove borders from any parent containers */
.site-navigation,
.main-navigation,
.primary-navigation,
.navigation {
    border-bottom: none !important;
}

/* Specifically target the grey color #959595 */
.amp-menu-wrapper,
.amp-menu-container,
.amp-menu,
.amp-menu-wrapper *,
.amp-menu-container *,
.amp-menu *,
.site-navigation .amp-menu-wrapper,
.main-navigation .amp-menu-wrapper,
.primary-navigation .amp-menu-wrapper {
    border-color: transparent !important;
    border-bottom-color: transparent !important;
}

/* Remove any pseudo-elements that might create lines */
.amp-menu-wrapper::before,
.amp-menu-wrapper::after,
.amp-menu-container::before,
.amp-menu-container::after,
.amp-menu::before,
.amp-menu::after {
    display: none !important;
    content: none !important;
    border: none !important;
}

.amp-menu li {
    position: relative;
    margin: 0;
    padding: 0;
}

.amp-menu a {
    display: block;
    text-decoration: none;
    transition: all 0.3s ease;
    position: relative;
    z-index: 1;
}

.amp-menu .sub-menu,
.amp-menu .children {
    list-style: none;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 200px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s ease;
    z-index: 999;
}

.amp-menu li:hover > .sub-menu,
.amp-menu li:hover > .children {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.amp-menu .sub-menu li,
.amp-menu .children li {
    width: 100%;
}

.amp-menu .sub-menu a,
.amp-menu .children a {
    display: block;
    width: 100%;
}

/* Animation speed variations */
.amp-menu-wrapper[data-speed="slow"] .amp-menu,
.amp-menu-wrapper[data-speed="slow"] .amp-menu * {
    transition-duration: 0.5s;
}

.amp-menu-wrapper[data-speed="normal"] .amp-menu,
.amp-menu-wrapper[data-speed="normal"] .amp-menu * {
    transition-duration: 0.3s;
}

.amp-menu-wrapper[data-speed="fast"] .amp-menu,
.amp-menu-wrapper[data-speed="fast"] .amp-menu * {
    transition-duration: 0.15s;
}

/* Text Alignment Options */
.amp-menu.amp-align-left {
    justify-content: flex-start;
}

.amp-menu.amp-align-left > li > a {
    text-align: left;
}

.amp-menu.amp-align-center {
    justify-content: center;
}

.amp-menu.amp-align-center > li > a {
    text-align: center;
}

.amp-menu.amp-align-right {
    justify-content: flex-end;
}

.amp-menu.amp-align-right > li > a {
    text-align: right;
}

.amp-menu.amp-align-justify {
    justify-content: space-between;
    width: 100%;
}

.amp-menu.amp-align-justify > li {
    flex: 1;
    text-align: center;
}

.amp-menu.amp-align-justify > li > a {
    text-align: center;
    width: 100%;
}

