﻿/* === sidebar-nav === */
/* 强制侧边栏为不换行的纵向单列。PHP 模板页（block_template_part 渲染）中 WP
   不会输出容器级 is-layout-flex 内联 CSS（缺 flex-direction/flex-wrap），
   此时 .is-layout-flex 默认 flex-wrap: wrap 会在列方向 + 固定 100vh 高度下
   把超出的内容向右折成第二列（矮屏上 logo 与菜单被分成两列）。 */
.zoory-sidebar.is-layout-flex {
	flex-direction: column !important;
	flex-wrap: nowrap !important;
}
.zoory-sidebar .site-logo {
	padding: 12px 12px 16px;
	text-align: center;
	width: 100%;
	border-bottom: none;
	margin-bottom: 0;
}
.zoory-sidebar .site-logo .sidebar-logo-img img,
.zoory-sidebar .site-logo img {
	height: auto;
	margin: 0 auto;
	display: block;
}
.zoory-sidebar .site-logo figure {
	margin: 30px 0 0 0;
}
.zoory-nav {
	width: 100%;
	padding: 0;
	flex: 1 0 auto;
	overflow: visible;
	background: #F6FBF9;
	border-radius: 12px;
	border: 1px solid var(--c-base-mid);
	box-shadow: 4px 0 12px rgba(0,0,0,0.15);
	padding-top: 10px;
	margin-top: 20px !important;
}
.zoory-nav ul,
.zoory-nav .wp-block-navigation__container,
.zoory-nav .wp-block-navigation {
	width: 100% !important;
	min-width: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
}

.zoory-nav ul li,
.zoory-nav .wp-block-navigation-item {
	display: flex !important;
	width: 100% !important;
	min-width: 0;
	flex: 0 0 auto !important;
	position: relative;
}
.zoory-nav ul li::after,
.zoory-nav .wp-block-navigation-item::after {
	content: '' !important;
	position: absolute;
	bottom: 0;
	left: 20px;
	right: 20px;
	height: 1px;
	background-color: #004F2C !important;
	border-radius: 0;
	transform: translateZ(0);
	transition: background-color 0.2s ease;
}
.zoory-nav ul li:hover::after,
.zoory-nav ul li.current-menu-item::after,
.zoory-nav .wp-block-navigation-item:hover::after,
.zoory-nav .wp-block-navigation-item.current-menu-item::after {
	height: 1px;
	background-color: #D2B67F !important;
}
.zoory-nav ul li a,
.zoory-nav .wp-block-navigation-item__content {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	width: 100% !important;
	padding: 16px 20px !important;
	font-size: 17px !important;
	color: #004F2C !important;
	border: none;
	transition: all 0.25s ease;
	line-height: 24px !important;
	font-family: var(--wp--preset--font-family--oppo-sans) !important;
	font-weight: 500 !important;
	white-space: nowrap !important;
}
.zoory-nav ul li a .wp-block-navigation-item__label,
.zoory-nav .wp-block-navigation-item__content .wp-block-navigation-item__label {
	flex: 1;
	white-space: nowrap !important;
	overflow: hidden;
	text-overflow: ellipsis;
}
.zoory-nav ul li a::after,
.zoory-nav .wp-block-navigation-item__content::after {
	content: '' !important;
	background-image: url('/wp-content/uploads/2026/07/direction.svg') !important;
	background-size: contain !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	width: 16px !important;
	height: 16px !important;
	flex-shrink: 0 !important;
	margin-left: auto !important;
	display: inline-block !important;
	visibility: visible !important;
	opacity: 1 !important;
}
.zoory-nav ul li a:hover,
.zoory-nav ul li.current-menu-item > a,
.zoory-nav .wp-block-navigation-item__content:hover {
	color: #004F2C !important;
	background: rgba(0,79,44,0.06);
	font-weight: 700 !important;
}
.zoory-sidebar .search-bar {
	width: 100%;
	padding: 12px;
	border-top: 1px solid var(--c-base-mid);
}
.zoory-sidebar .search-bar input[type="search"] {
	width: 100%;
	padding: 7px 10px;
	border: 1px solid var(--c-base-mid);
	border-radius: 4px;
	font-size: 12px;
	outline: none;
	transition: border-color 0.2s;
}
.zoory-sidebar .search-bar input[type="search"]:focus {
	border-color: var(--c-primary);
}

/* === submenu popup === */
.zoory-nav .wp-block-navigation-submenu {
	position: relative;
}
.zoory-nav .wp-block-navigation-submenu > .wp-block-navigation__submenu-container {
	position: absolute !important;
	left: 100% !important;
	top: 0 !important;
	min-width: 180px !important;
	width: auto !important;
	height: auto !important;
	overflow: visible !important;
	background: #F6FBF9;
	border-radius: 8px;
	border: 1px solid var(--c-base-mid);
	box-shadow: 4px 4px 16px rgba(0,0,0,0.18);
	padding: 6px 0;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.16s ease, visibility 0s linear 0.16s;
	z-index: 1001;
	display: flex !important;
	flex-direction: column !important;
}
.zoory-nav .wp-block-navigation-submenu > .wp-block-navigation__submenu-container::before {
	content: '';
	position: absolute;
	top: -8px;
	bottom: -8px;
	left: -14px;
	width: 14px;
	background: transparent;
}
.zoory-nav .wp-block-navigation-submenu:hover > .wp-block-navigation__submenu-container,
.zoory-nav .wp-block-navigation-submenu:focus-within > .wp-block-navigation__submenu-container {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition-delay: 0s;
}
/* === 悬浮子菜单防溢出（任务栏遮挡） ===
   默认：top:0 锚定在菜单项上、向左 100% 弹出，位于视口下半部分的菜单项
   其弹出框会向下超出视口被任务栏遮挡。
   JS 在 hover 时测量，若超出底部则给弹出框加 .submenu-flip-up 改为向上展开。
   以下为样式与纯 CSS 兜底（JS 失效时依旧可用）。 */
.zoory-nav .wp-block-navigation-submenu.submenu-flip-up > .wp-block-navigation__submenu-container {
	top: auto !important;
	bottom: 0 !important;
}
/* 纯 CSS 兜底：视口偏矮时，最后两个顶级菜单项默认向上展开，
   避免位于底部的「可持续发展 / 联系我们」弹出框被任务栏遮挡 */
@media (max-height: 900px) {
	.zoory-nav .wp-block-navigation__container > .wp-block-navigation-submenu:nth-last-child(-n+2) > .wp-block-navigation__submenu-container {
		top: auto !important;
		bottom: 0 !important;
	}
}
.zoory-nav .wp-block-navigation__submenu-container .wp-block-navigation-item {
	border-bottom: none !important;
}
.zoory-nav .wp-block-navigation__submenu-container .wp-block-navigation-item::after {
	display: none !important;
}
.zoory-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-size: 15px !important;
	padding: 10px 20px !important;
	color: #004F2C !important;
	white-space: nowrap;
	transition: background 0.2s ease, color 0.2s ease;
}
.zoory-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: rgba(0,79,44,0.08);
	color: #004F2C !important;
	font-weight: 600 !important;
}
.zoory-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after {
	display: none !important;
}
/* hide WordPress default submenu dropdown icon (avoid duplicate arrow) */
.zoory-nav .wp-block-navigation__submenu-icon {
	display: none !important;
}
/* submenu arrow indicator on parent */
.zoory-nav .wp-block-navigation-submenu > .wp-block-navigation-item__content::after {
	content: '' !important;
	background-image: url('/wp-content/uploads/2026/07/direction.svg') !important;
	background-size: contain !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	width: 16px !important;
	height: 16px !important;
	flex-shrink: 0 !important;
	margin-left: auto !important;
	display: inline-block !important;
	visibility: visible !important;
	opacity: 1 !important;
}
