/**
 * Sidebar styles.
 */

.nwui-sidebar {
	position: sticky;
	top: 20px;
	align-self: start;
}

.nwui-sidebar-inner {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.nwui-sidebar-widget {
	padding: 20px;
}

.nwui-widget-title {
	font-family: var(--nwui-font-heading);
	font-size: 1rem;
	font-weight: 600;
	margin: 0 0 16px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--nwui-bg);
}

/* Category list */
.nwui-cat-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.nwui-cat-list li {
	margin-bottom: 4px;
}

.nwui-cat-link {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 14px;
	border-radius: calc(var(--nwui-radius) * 0.5);
	color: var(--nwui-text);
	text-decoration: none;
	font-size: 0.9rem;
	transition: all var(--nwui-speed) ease;
}

.nwui-cat-link:hover,
.nwui-cat-link.active {
	background: var(--nwui-bg);
	color: var(--nwui-primary);
	box-shadow: var(--nwui-shadow-inset);
}

.nwui-cat-count {
	font-size: 0.75rem;
	color: var(--nwui-text-muted);
	background: var(--nwui-bg);
	padding: 2px 8px;
	border-radius: 10px;
}

/* Price filter */
.nwui-price-filter {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.nwui-price-inputs {
	display: flex;
	align-items: center;
	gap: 8px;
}

.nwui-price-inputs input {
	flex: 1;
	min-width: 0;
}

.nwui-price-inputs span {
	color: var(--nwui-text-muted);
}

/* Rating filter */
.nwui-rating-filter {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.nwui-rating-filter-btn {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	border: none;
	border-radius: calc(var(--nwui-radius) * 0.4);
	background: transparent;
	color: #FDCB6E;
	font-size: 0.85rem;
	cursor: pointer;
	transition: all var(--nwui-speed) ease;
	text-align: left;
}

.nwui-rating-filter-btn span {
	color: var(--nwui-text-muted);
	font-size: 0.8rem;
}

.nwui-rating-filter-btn:hover,
.nwui-rating-filter-btn.active {
	background: var(--nwui-bg);
	box-shadow: var(--nwui-shadow-inset);
}

/* Mini products */
.nwui-mini-products {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.nwui-mini-product {
	display: flex;
	gap: 12px;
	align-items: center;
}

.nwui-mini-thumb {
	flex-shrink: 0;
	width: 56px;
	height: 56px;
	border-radius: calc(var(--nwui-radius) * 0.4);
	overflow: hidden;
	box-shadow: var(--nwui-shadow-inset);
}

.nwui-mini-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.nwui-mini-title {
	display: block;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--nwui-text);
	text-decoration: none;
	line-height: 1.3;
	margin-bottom: 4px;
}

.nwui-mini-title:hover {
	color: var(--nwui-primary);
}

.nwui-mini-price {
	font-size: 0.8rem;
	color: var(--nwui-primary);
	font-family: var(--nwui-font-price);
	font-weight: 600;
}

.nwui-sidebar-backdrop {
	display: none;
}

/* Filter drawer header */
.nwui-sidebar-header {
	display: none;
}

.nwui-sidebar-close {
	display: none;
}

.nwui-filter-actions .nwui-clear-filters {
	width: 100%;
}

.nwui-filter-result-text {
	margin: 0 0 12px;
	font-size: 0.82rem;
	color: var(--nwui-text-muted);
}

.nwui-shop-content ul.products.is-loading {
	opacity: 0.45;
	pointer-events: none;
	position: relative;
	min-height: 120px;
}

.nwui-shop-content ul.products.is-loading::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 34px;
	height: 34px;
	margin: -17px 0 0 -17px;
	border: 3px solid rgba(34, 197, 94, 0.2);
	border-top-color: var(--nwui-primary, #22C55E);
	border-radius: 50%;
	animation: nwui-spin 0.7s linear infinite;
}

.nwui-filter-empty {
	grid-column: 1 / -1;
	list-style: none;
}

.nwui-filter-empty .nwui-no-products {
	margin: 24px 0;
	text-align: center;
	color: var(--nwui-text-muted);
}

@keyframes nwui-spin {
	to { transform: rotate(360deg); }
}

@media (max-width: 768px) {
	.nwui-sidebar-inner {
		gap: 12px;
	}

	.nwui-sidebar-widget {
		padding: 16px;
	}

	.nwui-sidebar {
		display: none;
	}

	.nwui-sidebar.nwui-sidebar-open {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 10020;
		padding: 0;
		background: transparent;
	}

	.nwui-sidebar-backdrop {
		display: block;
		position: absolute;
		inset: 0;
		background: rgba(15, 23, 42, 0.45);
	}

	.nwui-sidebar-panel {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		max-height: 88vh;
		background: var(--nwui-card, #F5F6FA);
		border-radius: 22px 22px 0 0;
		box-shadow: 0 -12px 40px rgba(15, 23, 42, 0.18);
		overflow: hidden;
		display: flex;
		flex-direction: column;
	}

	.nwui-sidebar-header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 14px 16px 10px;
		border-bottom: 1px solid rgba(148, 163, 184, 0.2);
		flex-shrink: 0;
	}

	.nwui-sidebar-heading {
		margin: 0;
		font-family: var(--nwui-font-heading);
		font-size: 1rem;
		font-weight: 600;
	}

	.nwui-sidebar-close {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 36px;
		height: 36px;
		border: none;
		border-radius: 50%;
		background: var(--nwui-bg, #E8ECF1);
		box-shadow: var(--nwui-shadow-raised);
		font-size: 1.4rem;
		line-height: 1;
		color: var(--nwui-text);
		cursor: pointer;
	}

	.nwui-sidebar-inner {
		overflow-y: auto;
		padding: 12px 16px calc(20px + env(safe-area-inset-bottom, 0px));
	}
}
