/* Reset and base styles */
.angie-offcanvas-wrapper {
	position: relative;
	width: 100%;
}

/* Desktop Menu Styles */
.angie-desktop-menu.angie-menu-wrapper > ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
}

.angie-desktop-menu.angie-menu-wrapper > ul > li {
	margin: 0 15px;
	position: relative;
}

.angie-desktop-menu.angie-menu-wrapper ul li a {
	text-decoration: none;
	color: #333;
	font-weight: 500;
	transition: color 0.3s, background-color 0.3s;
	display: block;
}

/* Add arrow for items with children on desktop */
.angie-desktop-menu.angie-menu-wrapper ul li.menu-item-has-children > a::after {
    content: '\25BE'; /* Downward small triangle */
    display: inline-block;
    margin-left: 5px;
    font-size: 0.8em;
    vertical-align: middle;
}

/* Desktop Submenu */
.angie-desktop-menu.angie-menu-wrapper ul.sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	background: #fff;
	box-shadow: 0 2px 10px rgba(0,0,0,0.1);
	min-width: 200px;
	padding: 10px 0;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
	z-index: 100;
	display: flex;
	flex-direction: column;
}

.angie-desktop-menu.angie-menu-wrapper ul li:hover > ul.sub-menu {
	opacity: 1;
	visibility: visible;
}

.angie-desktop-menu.angie-menu-wrapper ul.sub-menu li {
	margin: 0;
}

.angie-desktop-menu.angie-menu-wrapper ul.sub-menu li a {
	padding: 10px 20px;
}

/* Right arrow for deeper submenus on desktop */
.angie-desktop-menu.angie-menu-wrapper ul.sub-menu li.menu-item-has-children > a::after {
    content: '\25B8'; /* Rightward small triangle */
    float: right;
    margin-left: 0;
}

.angie-desktop-menu.angie-menu-wrapper ul.sub-menu ul.sub-menu {
	top: 0;
	left: 100%;
}

.angie-mobile-toggle {
	display: none;
	cursor: pointer;
	color: #333;
}

/* Off-canvas panel base */
.angie-offcanvas-panel {
	display: none;
}
.angie-offcanvas-overlay {
	display: none;
}

/* Mobile Button base */
.angie-mobile-btn-wrapper {
	margin-top: 20px;
	text-align: center;
	padding: 0 20px;
}
.angie-mobile-btn {
	display: inline-block;
	background-color: #000;
	color: #fff;
	padding: 10px 20px;
	border-radius: 4px;
	text-decoration: none;
	font-weight: bold;
	transition: opacity 0.3s;
	width: 100%;
	box-sizing: border-box;
}
.angie-mobile-btn:hover {
	opacity: 0.8;
}

/* Responsive styles when .angie-mobile-layout is active */
.angie-mobile-layout .angie-desktop-menu {
	display: none;
}

.angie-mobile-layout .angie-mobile-toggle {
	display: flex;
	align-items: center;
}

.angie-mobile-layout .angie-offcanvas-panel {
	display: flex;
	flex-direction: column;
	position: fixed;
	top: 0;
	right: -100%;
	width: 300px;
	height: 100vh;
	background: #fff;
	z-index: 9999;
	transition: right 0.3s ease;
	box-shadow: -2px 0 10px rgba(0,0,0,0.1);
	padding-top: 60px;
	overflow-y: auto;
	overflow-x: hidden;
}

/* Logged-in admin bar offsets */
body.admin-bar .angie-mobile-layout .angie-offcanvas-panel {
	top: var(--wp-admin--admin-bar--height, 32px);
	height: calc(100vh - var(--wp-admin--admin-bar--height, 32px));
}
@media screen and (max-width: 782px) {
	body.admin-bar .angie-mobile-layout .angie-offcanvas-panel {
		top: 46px;
		height: calc(100vh - 46px);
	}
}

.angie-mobile-layout .angie-offcanvas-panel.is-open {
	right: 0;
}

.angie-mobile-layout .angie-offcanvas-close {
	position: absolute;
	top: 20px;
	right: 20px;
	font-size: 30px;
	cursor: pointer;
	line-height: 1;
	color: inherit;
	z-index: 2;
}

.angie-mobile-layout .angie-mobile-back {
	display: none;
	padding: 15px 20px;
	cursor: pointer;
	border-bottom: 1px solid rgba(0,0,0,0.05);
	transition: background-color 0.3s, color 0.3s;
}

.angie-mobile-layout .angie-mobile-back.is-visible {
	display: block;
}

.angie-mobile-layout .angie-offcanvas-overlay {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.5);
	z-index: 9998;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.angie-mobile-layout .angie-offcanvas-overlay.is-open {
	opacity: 1;
	visibility: visible;
}

.angie-mobile-layout .angie-mobile-menu ul {
	flex-direction: column;
	list-style: none;
	padding: 0;
	margin: 0;
	transition: transform 0.3s ease;
}

/* Hide top level menu when a submenu is active */
.angie-mobile-layout .angie-mobile-menu.submenu-active > ul > li {
	display: none;
}

.angie-mobile-layout .angie-mobile-menu.submenu-active > ul > li.active-parent {
	display: block;
}

.angie-mobile-layout .angie-mobile-menu.submenu-active > ul > li.active-parent > a {
	display: none;
}

.angie-mobile-layout .angie-mobile-menu ul li {
	border-bottom: 1px solid rgba(0,0,0,0.05);
	position: relative;
}

.angie-mobile-layout .angie-mobile-menu ul li a {
	display: block;
	padding: 15px 20px;
	text-decoration: none;
}

/* Submenu indicator for mobile - Downward Arrow */
.angie-mobile-layout .angie-mobile-menu ul li.menu-item-has-children > a::after {
	content: '\25BE'; /* Downward small triangle */
	float: right;
	font-size: 16px; 
	line-height: 1.2;
}

/* Mobile Submenu */
.angie-mobile-layout .angie-mobile-menu ul.sub-menu {
	display: none;
}

.angie-mobile-layout .angie-mobile-menu ul li.active-parent > ul.sub-menu {
	display: block;
}

.angie-mobile-layout .angie-mobile-menu ul.sub-menu li {
	border-bottom: 1px solid rgba(0,0,0,0.05);
}

.angie-mobile-layout .angie-mobile-menu ul.sub-menu li:last-child {
	border-bottom: none;
}
