/* ============================================================
   Onirik shop customisations
   1) Sidebar attribute filters (vertical)
   2) Top category tree nav (horizontal, mirrors navbar)
   ============================================================ */

/* ---------- 1. Sidebar filters ---------- */
.widget .onirik-filters,
.onirik-filters {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 6px 0 0;
}

.onirik-filter-group {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.onirik-filter-label {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #8a7d6b;
}

.onirik-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

/* High specificity + !important to beat NasaTheme's global button styles. */
.onirik-filters .onirik-chip,
.widget .onirik-filters button.onirik-chip {
	appearance: none;
	cursor: pointer;
	border: 1px solid #d8cfc2 !important;
	background: #fff !important;
	color: #4a4034 !important;
	font-size: 12.5px !important;
	line-height: 1 !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	padding: 7px 12px !important;
	margin: 0 !important;
	height: auto !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}

.onirik-filters .onirik-chip:hover,
.widget .onirik-filters button.onirik-chip:hover {
	border-color: #b59b73 !important;
	background: #fff !important;
	color: #2c2318 !important;
}

.onirik-filters .onirik-chip.is-active,
.widget .onirik-filters button.onirik-chip.is-active {
	background: #4a4034 !important;
	border-color: #4a4034 !important;
	color: #fff !important;
}

.onirik-clear {
	appearance: none;
	cursor: pointer;
	border: none;
	background: none;
	color: #a6785a;
	font-size: 12px;
	text-decoration: underline;
	padding: 4px 0 0;
	text-align: left;
}

.onirik-clear:hover { color: #7a5238; }

/* ---------- Grid loading / empty states ---------- */
ul.products.onirik-loading {
	position: relative;
	opacity: .45;
	pointer-events: none;
	transition: opacity .15s ease;
}

ul.products.onirik-loading::after {
	content: "";
	position: absolute;
	top: 60px;
	left: 50%;
	width: 34px;
	height: 34px;
	margin-left: -17px;
	border: 3px solid #d8cfc2;
	border-top-color: #4a4034;
	border-radius: 50%;
	animation: onirik-spin .7s linear infinite;
}

@keyframes onirik-spin { to { transform: rotate(360deg); } }

li.product.onirik-noresult {
	width: 100% !important;
	float: none !important;
	list-style: none;
	text-align: center;
	padding: 40px 10px;
	color: #8a7d6b;
	font-size: 15px;
}

/* ---------- 2. Top category tree nav ---------- */
.onirik-cat-nav {
	margin: 0 0 22px;
	border-top: 1px solid #e6e0d8;
	border-bottom: 1px solid #e6e0d8;
}

.onirik-cat-nav__list,
.onirik-cat-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.onirik-cat-nav__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.onirik-cat-item {
	position: relative;
}

.onirik-cat-item > a {
	display: block;
	padding: 12px 16px;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .03em;
	text-transform: uppercase;
	color: #4a4034;
	text-decoration: none;
	white-space: nowrap;
	transition: color .15s ease;
}

.onirik-cat-nav__list > .onirik-cat-item > a:hover {
	color: #a6785a;
}

/* caret for parents */
.onirik-cat-item.has-children > a {
	padding-right: 28px;
}

.onirik-cat-item.has-children > .onirik-cat-toggle {
	position: absolute;
	top: 14px;
	right: 12px;
	width: 8px;
	height: 8px;
	border-right: 1.5px solid #a08a6f;
	border-bottom: 1.5px solid #a08a6f;
	transform: rotate(45deg);
	pointer-events: none;
}

/* dropdown */
.onirik-cat-sub {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 40;
	min-width: 210px;
	background: #fff;
	border: 1px solid #e6e0d8;
	box-shadow: 0 12px 30px rgba(60, 45, 30, .12);
	padding: 6px 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity .15s ease, transform .15s ease, visibility .15s;
}

.onirik-cat-item:hover > .onirik-cat-sub {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.onirik-cat-sub .onirik-cat-item > a {
	padding: 8px 18px;
	font-size: 12.5px;
	text-transform: none;
	letter-spacing: 0;
	font-weight: 400;
	white-space: normal;
}

.onirik-cat-sub .onirik-cat-item > a:hover {
	background: #faf7f2;
	color: #a6785a;
}

/* grandchildren: nested, indented (no extra flyout) */
.onirik-cat-sub .onirik-cat-sub {
	position: static;
	box-shadow: none;
	border: none;
	padding: 0 0 4px;
	opacity: 1;
	visibility: visible;
	transform: none;
	min-width: 0;
}

.onirik-cat-sub .onirik-cat-sub .onirik-cat-item > a {
	padding-left: 34px;
	color: #7a7060;
	font-size: 12px;
}

.onirik-cat-sub .onirik-cat-toggle { display: none; }

/* Subtitle under a nav category (former sub-category, now a label — not a link) */
.onirik-cat-subtitle {
	display: block;
	padding: 0 18px 8px;
	margin-top: -4px;
	font-size: 11px;
	font-style: italic;
	letter-spacing: .02em;
	color: #a08a6f;
	pointer-events: none;
}

/* Subtitle under a category archive page title */
.onirik-cat-page-subtitle {
	margin: -10px 0 20px;
	font-size: 14px;
	font-style: italic;
	letter-spacing: .02em;
	color: #a08a6f;
	text-align: center;
	width: 100%;
}

/* ---------- Mobile ---------- */
@media (max-width: 768px) {
	.onirik-cat-nav__list { flex-direction: column; align-items: stretch; }
	.onirik-cat-item { border-bottom: 1px solid #f0ebe3; }
	.onirik-cat-nav__list > .onirik-cat-item:last-child { border-bottom: none; }

	.onirik-cat-item.has-children > .onirik-cat-toggle {
		display: block;
		top: 15px;
		width: 9px;
		height: 9px;
		pointer-events: auto;
		cursor: pointer;
	}

	/* Larger invisible tap target around the small caret (touch-friendly). */
	.onirik-cat-item.has-children > .onirik-cat-toggle::after {
		content: "";
		position: absolute;
		top: -18px;
		right: -14px;
		bottom: -18px;
		left: -20px;
	}

	.onirik-cat-sub {
		position: static;
		opacity: 1;
		visibility: hidden;
		height: 0;
		overflow: hidden;
		transform: none;
		box-shadow: none;
		border: none;
		min-width: 0;
		padding: 0;
	}

	.onirik-cat-item.is-open > .onirik-cat-sub {
		visibility: visible;
		height: auto;
		padding: 4px 0 8px;
	}

	.onirik-cat-item.is-open > .onirik-cat-toggle {
		transform: rotate(-135deg);
		top: 18px;
	}
}
