/* Gap on navigation container (use variable) */
nav.wp-block-navigation .wp-block-navigation__container,
.wp-block-navigation .wp-block-navigation__container {
    display: flex !important;
    gap: var(--cw-nav-gap, 0) !important;
}

/* Submenu gap - only when no separator color is set */
nav.wp-block-navigation .wp-block-navigation__submenu-container,
.wp-block-navigation .wp-block-navigation__submenu-container {
    gap: var(--cw-nav-submenu-gap, 0) !important;
}

/* Reset margin-bottom on submenu items (WordPress adds margin-bottom: 3px) */
nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item,
nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu,
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item,
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu {
    margin-bottom: 0 !important;
}

/* Top-level wrapper styles */
nav.wp-block-navigation .cw-nav-item-wrapper,
.wp-block-navigation .cw-nav-item-wrapper {
    display: flex;
    align-items: center;
    margin: 0;
}

/* Default text-decoration: none on all nav links */
nav.wp-block-navigation .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation-item__content {
    text-decoration: none !important;
}

/* Top-level hover - text on wrapper children */
nav.wp-block-navigation .cw-nav-item-wrapper:hover > .wp-block-navigation-item__content,
nav.wp-block-navigation .cw-nav-item-wrapper:hover > .wp-block-navigation-submenu__toggle,
.wp-block-navigation .cw-nav-item-wrapper:hover > .wp-block-navigation-item__content,
.wp-block-navigation .cw-nav-item-wrapper:hover > .wp-block-navigation-submenu__toggle,
/* Keep hover when submenu is hovered */
nav.wp-block-navigation .wp-block-navigation-submenu:hover > .cw-nav-item-wrapper > .wp-block-navigation-item__content,
nav.wp-block-navigation .wp-block-navigation-submenu:hover > .cw-nav-item-wrapper > .wp-block-navigation-submenu__toggle,
.wp-block-navigation .wp-block-navigation-submenu:hover > .cw-nav-item-wrapper > .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation-submenu:hover > .cw-nav-item-wrapper > .wp-block-navigation-submenu__toggle {
    color: var(--cw-nav-hover-text-color) !important;
}

/* Arrow SVG color on hover - only target path element where stroke applies */
nav.wp-block-navigation .cw-nav-item-wrapper:hover > .wp-block-navigation-submenu__toggle svg path,
.wp-block-navigation .cw-nav-item-wrapper:hover > .wp-block-navigation-submenu__toggle svg path,
nav.wp-block-navigation .wp-block-navigation-submenu:hover > .cw-nav-item-wrapper > .wp-block-navigation-submenu__toggle svg path,
.wp-block-navigation .wp-block-navigation-submenu:hover > .cw-nav-item-wrapper > .wp-block-navigation-submenu__toggle svg path,
nav.wp-block-navigation .cw-nav-item-wrapper:hover .wp-block-navigation__submenu-icon svg path,
.wp-block-navigation .cw-nav-item-wrapper:hover .wp-block-navigation__submenu-icon svg path,
nav.wp-block-navigation .wp-block-navigation-submenu:hover > .cw-nav-item-wrapper .wp-block-navigation__submenu-icon svg path,
.wp-block-navigation .wp-block-navigation-submenu:hover > .cw-nav-item-wrapper .wp-block-navigation__submenu-icon svg path {
    stroke: var(--cw-nav-hover-text-color, currentColor) !important;
}

/* Top-level arrow - rotate on hover (only top-level, not inside submenu containers) */
nav.wp-block-navigation > .wp-block-navigation__container > .wp-block-navigation-submenu:hover > .cw-nav-item-wrapper > .wp-block-navigation-submenu__toggle svg,
.wp-block-navigation > .wp-block-navigation__container > .wp-block-navigation-submenu:hover > .cw-nav-item-wrapper > .wp-block-navigation-submenu__toggle svg {
    transform: rotate(180deg);
}

/* Top-level hover - background on wrapper */
nav.wp-block-navigation .cw-nav-item-wrapper:hover,
.wp-block-navigation .cw-nav-item-wrapper:hover,
/* Keep hover when submenu is hovered */
nav.wp-block-navigation .wp-block-navigation-submenu:hover > .cw-nav-item-wrapper,
.wp-block-navigation .wp-block-navigation-submenu:hover > .cw-nav-item-wrapper {
    background: var(--cw-nav-hover-bg-color) !important;
    background-color: var(--cw-nav-hover-bg-color) !important;
}

/* Top-level selected - text */
nav.wp-block-navigation .current-menu-item > .cw-nav-item-wrapper > .wp-block-navigation-item__content,
nav.wp-block-navigation .current-menu-item > .cw-nav-item-wrapper > .wp-block-navigation-submenu__toggle,
nav.wp-block-navigation .current-menu-ancestor > .cw-nav-item-wrapper > .wp-block-navigation-item__content,
nav.wp-block-navigation .current-menu-ancestor > .cw-nav-item-wrapper > .wp-block-navigation-submenu__toggle,
.wp-block-navigation .current-menu-item > .cw-nav-item-wrapper > .wp-block-navigation-item__content,
.wp-block-navigation .current-menu-item > .cw-nav-item-wrapper > .wp-block-navigation-submenu__toggle,
.wp-block-navigation .current-menu-ancestor > .cw-nav-item-wrapper > .wp-block-navigation-item__content,
.wp-block-navigation .current-menu-ancestor > .cw-nav-item-wrapper > .wp-block-navigation-submenu__toggle {
    color: var(--cw-nav-selected-text-color) !important;
}

/* Top-level selected - background on wrapper */
nav.wp-block-navigation .current-menu-item > .cw-nav-item-wrapper,
nav.wp-block-navigation .current-menu-ancestor > .cw-nav-item-wrapper,
.wp-block-navigation .current-menu-item > .cw-nav-item-wrapper,
.wp-block-navigation .current-menu-ancestor > .cw-nav-item-wrapper {
    background: var(--cw-nav-selected-bg-color) !important;
    background-color: var(--cw-nav-selected-bg-color) !important;
}

/* Top-level hover - typography */
nav.wp-block-navigation .cw-nav-item-wrapper:hover > .wp-block-navigation-item__content,
.wp-block-navigation .cw-nav-item-wrapper:hover > .wp-block-navigation-item__content,
nav.wp-block-navigation .wp-block-navigation-submenu:hover > .cw-nav-item-wrapper > .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation-submenu:hover > .cw-nav-item-wrapper > .wp-block-navigation-item__content {
    font-size: var(--cw-nav-hover-font-size) !important;
    font-style: var(--cw-nav-hover-font-style) !important;
    font-weight: var(--cw-nav-hover-font-weight) !important;
    line-height: var(--cw-nav-hover-line-height) !important;
    letter-spacing: var(--cw-nav-hover-letter-spacing) !important;
    text-decoration: var(--cw-nav-hover-text-decoration, none) !important;
    text-transform: var(--cw-nav-hover-text-transform) !important;
}

/* Top-level selected - typography */
nav.wp-block-navigation .current-menu-item > .cw-nav-item-wrapper > .wp-block-navigation-item__content,
nav.wp-block-navigation .current-menu-ancestor > .cw-nav-item-wrapper > .wp-block-navigation-item__content,
.wp-block-navigation .current-menu-item > .cw-nav-item-wrapper > .wp-block-navigation-item__content,
.wp-block-navigation .current-menu-ancestor > .cw-nav-item-wrapper > .wp-block-navigation-item__content {
    font-size: var(--cw-nav-selected-font-size) !important;
    font-style: var(--cw-nav-selected-font-style) !important;
    font-weight: var(--cw-nav-selected-font-weight) !important;
    line-height: var(--cw-nav-selected-line-height) !important;
    letter-spacing: var(--cw-nav-selected-letter-spacing) !important;
    text-decoration: var(--cw-nav-selected-text-decoration, none) !important;
    text-transform: var(--cw-nav-selected-text-transform) !important;
}

/* Submenu hover - typography (applies to all items including selected when hovered) */
nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu:hover > .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu:hover > .wp-block-navigation-item__content {
    font-size: var(--cw-nav-hover-submenu-font-size) !important;
    font-style: var(--cw-nav-hover-submenu-font-style) !important;
    font-weight: var(--cw-nav-hover-submenu-font-weight) !important;
    line-height: var(--cw-nav-hover-submenu-line-height) !important;
    letter-spacing: var(--cw-nav-hover-submenu-letter-spacing) !important;
    text-decoration: var(--cw-nav-hover-submenu-text-decoration, none) !important;
    text-transform: var(--cw-nav-hover-submenu-text-transform) !important;
}

/* Submenu selected - typography (only when not hovered) */
nav.wp-block-navigation .wp-block-navigation__submenu-container .current-menu-item:not(:hover) > .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation__submenu-container .current-menu-item:not(:hover) > .wp-block-navigation-item__content {
    font-size: var(--cw-nav-selected-submenu-font-size) !important;
    font-style: var(--cw-nav-selected-submenu-font-style) !important;
    font-weight: var(--cw-nav-selected-submenu-font-weight) !important;
    line-height: var(--cw-nav-selected-submenu-line-height) !important;
    letter-spacing: var(--cw-nav-selected-submenu-letter-spacing) !important;
    text-decoration: var(--cw-nav-selected-submenu-text-decoration, none) !important;
    text-transform: var(--cw-nav-selected-submenu-text-transform) !important;
}

/* Top-level padding - on wrapper */
nav.wp-block-navigation .cw-nav-item-wrapper,
.wp-block-navigation .cw-nav-item-wrapper {
    position: relative;
    padding-top: var(--cw-nav-padding-top) !important;
    padding-right: var(--cw-nav-padding-right) !important;
    padding-bottom: var(--cw-nav-padding-bottom) !important;
    padding-left: var(--cw-nav-padding-left) !important;
}

/* Top-level link - expand click area with pseudo-element */
nav.wp-block-navigation .cw-nav-item-wrapper > .wp-block-navigation-item__content::after,
.wp-block-navigation .cw-nav-item-wrapper > .wp-block-navigation-item__content::after {
    content: '';
    position: absolute;
    inset: 0;
}

/* Top-level arrow - sit on top of expanded click area */
nav.wp-block-navigation .cw-nav-item-wrapper > .wp-block-navigation-submenu__toggle,
.wp-block-navigation .cw-nav-item-wrapper > .wp-block-navigation-submenu__toggle {
    position: relative;
    z-index: 1;
}

/* Reset padding on links inside wrapper */
nav.wp-block-navigation .cw-nav-item-wrapper > .wp-block-navigation-item__content,
.wp-block-navigation .cw-nav-item-wrapper > .wp-block-navigation-item__content {
    padding: 0 !important;
}

/* Submenu hover - text on li direct children */
nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu:hover > .wp-block-navigation-item__content,
nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item:hover > .wp-block-navigation-submenu__toggle,
nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu:hover > .wp-block-navigation-submenu__toggle,
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu:hover > .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item:hover > .wp-block-navigation-submenu__toggle,
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu:hover > .wp-block-navigation-submenu__toggle {
    color: var(--cw-nav-hover-submenu-text-color) !important;
}

/* Submenu arrow SVG color on hover - only target path element */
nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu:hover > .wp-block-navigation__submenu-icon svg path,
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu:hover > .wp-block-navigation__submenu-icon svg path,
nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item:hover > .wp-block-navigation__submenu-icon svg path,
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item:hover > .wp-block-navigation__submenu-icon svg path {
    stroke: var(--cw-nav-hover-submenu-text-color, currentColor) !important;
}

/* Submenu hover - background on li */
nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item:hover,
nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu:hover,
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item:hover,
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu:hover {
    background: var(--cw-nav-hover-submenu-bg-color) !important;
    background-color: var(--cw-nav-hover-submenu-bg-color) !important;
}

/* Submenu selected - text (only when not hovered) */
nav.wp-block-navigation .wp-block-navigation__submenu-container .current-menu-item:not(:hover) > .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation__submenu-container .current-menu-item:not(:hover) > .wp-block-navigation-item__content {
    color: var(--cw-nav-selected-submenu-text-color) !important;
}

/* Submenu selected - background on li (only when not hovered) */
nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item.current-menu-item:not(:hover),
nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu.current-menu-item:not(:hover),
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item.current-menu-item:not(:hover),
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu.current-menu-item:not(:hover) {
    background: var(--cw-nav-selected-submenu-bg-color) !important;
    background-color: var(--cw-nav-selected-submenu-bg-color) !important;
}

/* Submenu padding - on direct child li only */
nav.wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item,
nav.wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-submenu,
.wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item,
.wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-submenu {
    position: relative;
    padding-top: var(--cw-nav-submenu-padding-top) !important;
    padding-right: var(--cw-nav-submenu-padding-right) !important;
    padding-bottom: var(--cw-nav-submenu-padding-bottom) !important;
    padding-left: var(--cw-nav-submenu-padding-left) !important;
}

/* Submenu link - expand click area with pseudo-element */
nav.wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content::after,
nav.wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-submenu > .wp-block-navigation-item__content::after,
.wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content::after,
.wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-submenu > .wp-block-navigation-item__content::after {
    content: '';
    position: absolute;
    inset: 0;
}

/* Submenu arrow - sit on top of expanded click area */
nav.wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-submenu__toggle,
nav.wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-submenu > .wp-block-navigation-submenu__toggle,
.wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-submenu__toggle,
.wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-submenu > .wp-block-navigation-submenu__toggle {
    position: relative;
    z-index: 1;
}

/* Reset submenu link padding */
nav.wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content,
nav.wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-submenu > .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-submenu > .wp-block-navigation-item__content {
    padding: 0 !important;
}

/* Overlay/mobile menu hover - text */
nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu:hover > .wp-block-navigation-item__content,
nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:hover > .wp-block-navigation-submenu__toggle,
nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu:hover > .wp-block-navigation-submenu__toggle,
.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu:hover > .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:hover > .wp-block-navigation-submenu__toggle,
.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu:hover > .wp-block-navigation-submenu__toggle {
    color: var(--cw-nav-hover-submenu-text-color) !important;
}

/* Overlay/mobile menu hover - background */
nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:hover,
nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu:hover,
.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:hover,
.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu:hover {
    background: var(--cw-nav-hover-submenu-bg-color) !important;
    background-color: var(--cw-nav-hover-submenu-bg-color) !important;
}

/* Overlay/mobile menu selected - text */
nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content {
    color: var(--cw-nav-selected-submenu-text-color) !important;
}

/* Overlay/mobile menu selected - background */
nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.current-menu-item,
nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu.current-menu-item,
.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.current-menu-item,
.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu.current-menu-item {
    background: var(--cw-nav-selected-submenu-bg-color) !important;
    background-color: var(--cw-nav-selected-submenu-bg-color) !important;
}

/* Overlay/mobile menu padding - direct child only */
nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container > .wp-block-navigation-item,
nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container > .wp-block-navigation-submenu,
.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container > .wp-block-navigation-item,
.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container > .wp-block-navigation-submenu {
    padding-top: var(--cw-nav-submenu-padding-top) !important;
    padding-right: var(--cw-nav-submenu-padding-right) !important;
    padding-bottom: var(--cw-nav-submenu-padding-bottom) !important;
    padding-left: var(--cw-nav-submenu-padding-left) !important;
}

/* Reset overlay/mobile link padding */
nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content,
nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container > .wp-block-navigation-submenu > .wp-block-navigation-submenu__toggle,
.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container > .wp-block-navigation-submenu > .wp-block-navigation-submenu__toggle {
    padding: 0 !important;
}
