.nabcat-box {
	margin: 18px 0;
	padding: 14px 16px;
	border: 1px solid #e3e6e8;
	border-radius: 12px;
	background: #fafbfb;
	box-sizing: border-box;
}
.nabcat-title {
	font-weight: 700;
	font-size: 1.05em;
	margin-bottom: 10px;
}
.nabcat-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.nabcat-item {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
}
.nabcat-item::before,
.nabcat-item::marker {
	content: none;
}
.nabcat-icon,
.nabcat-icon-img {
	flex: 0 0 auto;
	width: var(--nabcat-icon, 40px);
	height: var(--nabcat-icon, 40px);
}
.nabcat-icon {
	color: var(--nabcat-bg, #0d7c7a);
}
.nabcat-icon-img {
	object-fit: contain;
	border-radius: 4px;
}
.nabcat-info {
	flex: 1 1 160px;
	min-width: 0;
}
.nabcat-name {
	display: block;
	font-weight: 600;
	line-height: 1.35;
}
.nabcat-meta {
	display: block;
	font-size: 0.85em;
	opacity: 0.75;
	margin-top: 2px;
}
.nabcat-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 18px;
	border-radius: 8px;
	background: var(--nabcat-bg, #0d7c7a);
	color: var(--nabcat-fg, #fff) !important;
	text-decoration: none !important;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
	transition: opacity 0.15s;
}
.nabcat-btn:hover,
.nabcat-btn:focus {
	opacity: 0.88;
}

.nabcat-attrs {
	margin: 20px 0;
	border: 1px solid #dfe7e9;
	border-radius: 14px;
	overflow: hidden;
	background: #fff;
	box-sizing: border-box;
	box-shadow: 0 1px 3px rgba(16, 40, 44, 0.06);
}
.nabcat-attrs .nabcat-title {
	margin: 0;
	padding: 13px 18px;
	color: #fff;
	font-weight: 700;
	font-size: 1.05em;
	background: linear-gradient(135deg, var(--nabcat-dk, #0a5d5b), var(--nabcat-bg, #0d7c7a));
	border-bottom: 3px solid var(--nabcat-ac, #c99a2e);
}
.nabcat-attr-table {
	width: 100%;
	border-collapse: collapse;
	border: 0;
	margin: 0;
}
.nabcat-attr-table th,
.nabcat-attr-table td {
	padding: 12px 16px;
	border: 0;
	border-bottom: 1px solid #edf1f2;
	text-align: start;
	vertical-align: middle;
	background: transparent;
}
.nabcat-attr-table tr:last-child th,
.nabcat-attr-table tr:last-child td {
	border-bottom: 0;
}
.nabcat-attr-table th {
	width: 34%;
	background: var(--nabcat-tint, #f2f8f8);
	color: var(--nabcat-dk, #0a5d5b);
	font-weight: 700;
}
.nabcat-attr-table tr:nth-child(even) td {
	background: #fbfdfd;
}
.nabcat-ai {
	display: inline-flex;
	vertical-align: middle;
	width: 22px;
	height: 22px;
	margin-inline-end: 8px;
	color: var(--nabcat-bg, #0d7c7a);
}
.nabcat-ai svg {
	width: 22px;
	height: 22px;
}
.nabcat-al {
	vertical-align: middle;
}
.nabcat-sw-list,
.nabcat-chip-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.nabcat-sw {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 5px 12px 5px 10px;
	border: 1px solid #dfe7e9;
	border-radius: 999px;
	background: #fff;
	font-size: 0.93em;
	line-height: 1.3;
}
.nabcat-sw--plain {
	padding: 5px 14px;
}
.nabcat-sw-box {
	display: inline-block;
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	border-radius: 5px;
	border: 1px solid rgba(0, 0, 0, 0.18);
}
.nabcat-sw-box.is-multi {
	background: linear-gradient(135deg, #f44336, #ffeb3b, #4caf50, #2196f3, #9c27b0);
}
.nabcat-sw-box.is-clear {
	background: repeating-conic-gradient(#d9d9d9 0 25%, #fff 0 50%) 50% / 10px 10px;
}
.nabcat-chip {
	display: inline-block;
	padding: 5px 14px;
	border: 1px solid var(--nabcat-bg, #0d7c7a);
	border-radius: 8px;
	background: #fff;
	color: var(--nabcat-dk, #0a5d5b);
	font-weight: 600;
	font-size: 0.93em;
	line-height: 1.3;
}
.nabcat-val {
	font-weight: 600;
}
@media (max-width: 520px) {
	.nabcat-attr-table th {
		width: 38%;
	}
	.nabcat-attr-table th,
	.nabcat-attr-table td {
		padding: 10px 10px;
	}
}

/* أزرار اختيار اللون/الحجم لاختلافات المنتج (Variations) */
.nabcat-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 4px 0 10px;
}
.nabcat-swatch-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	background: #fff;
	border: 1.5px solid #dfe7e9;
	border-radius: 999px;
	padding: 6px 14px 6px 10px;
	font-size: 0.93em;
	line-height: 1.3;
	color: #2b3a3f;
	transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
}
.nabcat-swatch-btn:hover {
	border-color: var(--nabcat-bg, #0d7c7a);
}
.nabcat-swatch-btn.is-active {
	border-color: var(--nabcat-bg, #0d7c7a);
	background: var(--nabcat-tint, #f2f8f8);
	box-shadow: 0 0 0 2px rgba(13, 124, 122, 0.15);
	font-weight: 700;
	color: var(--nabcat-dk, #0a5d5b);
}
.nabcat-swatch-plain {
	padding: 6px 16px;
}
.nabcat-swatch-chip {
	padding: 8px 18px;
	border-radius: 8px;
	font-weight: 600;
}
