/* === Mobile Button (hidden on desktop) === */
.pcl-mobile-btn {
	display: none;
}

.pcl-overlay {
	display: none;
}

.pcl-close {
	display: none;
}

/* === Product Category List Widget === */
.pcl-wrap {
	background: #fff;
	border-radius: 8px;
	padding: 20px;
}

.pcl-title {
	font-size: 20px;
	font-weight: 600;
	color: #333;
	margin: 0;
	padding: 0 0 16px 0;
	border-bottom: 1px solid #eee;
}

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

.pcl-list > .pcl-item + .pcl-item {
	border-top: 1px solid #eee;
}

.pcl-list > .pcl-item > .pcl-row {
	border-left: 3px solid transparent;
	transition: border-left-color 0.2s;
}

/* === Row === */
.pcl-row {
	display: flex;
	align-items: center;
}

.pcl-link {
	flex: 1;
	min-width: 0;
	display: flex;
	align-items: center;
	padding: 14px 0 14px 16px;
	color: #666;
	text-decoration: none;
	transition: color 0.2s;
}

.pcl-link:hover {
	color: #333;
}

.pcl-name {
	flex: 1;
	min-width: 0;
}

.pcl-count {
	color: #999;
	font-size: 13px;
	margin-left: 4px;
}

/* === Toggle Arrow === */
.pcl-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	cursor: pointer;
	flex-shrink: 0;
	transition: transform 0.25s;
}

.pcl-arrow-icon {
	width: 18px;
	height: 18px;
	stroke: #999;
	transition: stroke 0.2s, transform 0.25s;
}

.pcl-toggle:hover .pcl-arrow-icon {
	stroke: #333;
}

.pcl-open > .pcl-row .pcl-toggle {
	transform: rotate(90deg);
}

/* === Subcategory List === */
.pcl-sub {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid #eee;
}

.pcl-child .pcl-link {
	border-left: 3px solid transparent;
	margin: 4px 0;
	padding: 10px 0 10px 33px;
	transition: border-left-color 0.2s, color 0.2s;
}

.pcl-child:hover .pcl-link {
	border-left-color: #333;
}

.pcl-child.pcl-active .pcl-link {
	border-left-color: #333;
	color: #333;
}

/* === Hover State === */
.pcl-list > .pcl-item:not(.pcl-open):hover > .pcl-row {
	border-left-color: #999;
}

/* === Active State === */
.pcl-list > .pcl-item.pcl-active > .pcl-row {
	border-left-color: #333;
}

.pcl-item.pcl-active > .pcl-row .pcl-link,
.pcl-item.pcl-active > a {
	color: #333;
}

/* === Mobile Responsive === */
@media (max-width: 767px) {
	.pcl-mobile-btn {
		display: inline-flex;
		align-items: center;
		gap: 10px;
		padding: 12px 20px;
		background: #fff;
		border: 1px solid #ddd;
		border-radius: 4px;
		cursor: pointer;
		font-size: 15px;
		font-weight: 500;
		color: #333;
		transition: border-color 0.2s;
	}

	.pcl-mobile-btn:hover {
		border-color: #999;
	}

	.pcl-mobile-btn svg {
		flex-shrink: 0;
	}

	.pcl-overlay {
		display: none;
		position: fixed;
		inset: 0;
		background: rgba(0, 0, 0, 0.4);
		z-index: 9998;
	}

	.pcl-overlay.pcl-show {
		display: block;
	}

	.pcl-wrap {
		position: fixed;
		top: 0;
		left: 0;
		width: 70%;
		height: 100%;
		z-index: 9999;
		border-radius: 0;
		overflow-y: auto;
		transform: translateX(-100%);
		transition: transform 0.3s ease;
		padding-top: 50px;
	}

	.pcl-wrap.pcl-show {
		transform: translateX(0);
	}

	.pcl-close {
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		top: 10px;
		right: 10px;
		width: 32px;
		height: 32px;
		background: none;
		border: none;
		font-size: 24px;
		color: #666;
		cursor: pointer;
		line-height: 1;
		padding: 0;
		transition: color 0.2s;
	}

	.pcl-close:hover {
		color: #333;
	}
}
