/* WooCommerce Mega Menu - 前端样式 */

.mmw-has-mega {
	position: relative;
}

/* 面板宽度/位置由 frontend.js 动态计算并写成内联 style（left / width），
   这里只负责外观和显隐动画，不要再写 width:100% —— 那样只会等于菜单项自己的宽度。 */
.mmw-mega-panel {
	position: absolute;
	top: 100%;
	z-index: 9999;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(10px);
	transition: opacity 0.25s ease, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.25s;
}

.mmw-has-mega:hover > .mmw-mega-panel,
.mmw-has-mega.mmw-open > .mmw-mega-panel {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

/* 每一列错落淡入，制造层次感的动画效果 */
.mmw-columns > .mmw-col {
	opacity: 0;
	transform: translateY(8px);
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.mmw-has-mega:hover .mmw-columns > .mmw-col,
.mmw-has-mega.mmw-open .mmw-columns > .mmw-col {
	opacity: 1;
	transform: translateY(0);
}

.mmw-columns > .mmw-col:nth-child(1) { transition-delay: 0.03s; }
.mmw-columns > .mmw-col:nth-child(2) { transition-delay: 0.08s; }
.mmw-columns > .mmw-col:nth-child(3) { transition-delay: 0.13s; }
.mmw-columns > .mmw-col:nth-child(4) { transition-delay: 0.18s; }

.mmw-mega-inner {
	background: var( --mmw-panel-bg, #ffffff ) !important;
	color: var( --mmw-panel-text, #333333 ) !important;
	padding: 32px;
	box-shadow: 0 16px 40px rgba( 0, 0, 0, 0.14 );
	border-top: 3px solid var( --mmw-accent, #2271b1 );
	max-width: 1200px;
	margin: 0 auto;
	box-sizing: border-box;
}

/* 很多主题会给导航菜单里的所有 <a> 等元素强制指定颜色（比如白色），
   这里用 !important 确保 Mega Menu 面板内的文字颜色始终以插件设置为准，不被主题覆盖。 */
.mmw-mega-panel,
.mmw-mega-panel a,
.mmw-mega-panel p,
.mmw-mega-panel span,
.mmw-mega-panel li,
.mmw-mega-panel h4,
.mmw-mega-panel div {
	color: var( --mmw-panel-text, #333333 ) !important;
}

.mmw-columns {
	display: grid;
	grid-template-columns: repeat( var( --mmw-cols, 3 ), 1fr );
	gap: var( --mmw-columns-gap, 32px );
	align-items: start;
}

.mmw-col-title {
	margin: 0 0 14px;
	padding-bottom: 8px;
	border-bottom: 1px solid rgba( 0, 0, 0, 0.08 );
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: inherit;
}

.mmw-col-text {
	font-size: 14px;
	line-height: 1.7;
}

.mmw-col-text p:first-child {
	margin-top: 0;
}

.mmw-col-text p:last-child {
	margin-bottom: 0;
}

.mmw-image-link,
.mmw-col-image {
	display: block;
	border-radius: 8px;
	overflow: hidden;
}

.mmw-image-link img,
.mmw-col-image img {
	max-width: 100%;
	height: auto;
	display: block;
	border-radius: 8px;
	transition: transform 0.3s ease;
}

.mmw-image-link:hover img {
	transform: scale( 1.03 );
}

.mmw-cat-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat( 2, 1fr );
	gap: 16px;
}

.mmw-cat-grid li a {
	display: block;
	text-align: center;
	text-decoration: none;
	color: inherit;
	font-size: 13px;
	font-weight: 500;
	padding: 10px;
	border-radius: 8px;
	transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.mmw-cat-grid li a:hover {
	background-color: rgba( 0, 0, 0, 0.04 );
	box-shadow: 0 4px 12px rgba( 0, 0, 0, 0.08 );
}

.mmw-cat-grid img {
	max-width: 100%;
	height: auto;
	border-radius: 6px;
	margin-bottom: 8px;
}

.mmw-cat-grid span {
	display: block;
}

.mmw-links-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mmw-links-list li a {
	display: block;
	padding: 7px 0;
	text-decoration: none;
	color: inherit;
	font-size: 14px;
	border-bottom: 1px solid transparent;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.mmw-links-list li a:hover {
	color: var( --mmw-accent, #2271b1 ) !important;
	border-bottom-color: currentColor;
}

.mmw-widget {
	margin-bottom: 18px;
}

.mmw-widget:last-child {
	margin-bottom: 0;
}

.mmw-block {
	margin-bottom: 20px;
}

.mmw-block:last-child {
	margin-bottom: 0;
}

.mmw-block-title {
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	opacity: 0.75;
}

.mmw-widget-title {
	margin: 0 0 10px;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

@media ( max-width: 782px ) {
	.mmw-mega-panel {
		position: static;
		left: auto !important;
		width: 100% !important;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: none;
		transition: none;
		max-height: 0;
		overflow: hidden;
	}

	.mmw-has-mega.mmw-open > .mmw-mega-panel {
		max-height: 2000px;
	}

	.mmw-mega-inner {
		padding: 16px;
		box-shadow: none;
		border-top: none;
	}

	.mmw-columns {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.mmw-cat-grid {
		grid-template-columns: repeat( 3, 1fr );
	}
}
