/* ── Reset to normal cursor ─────────────────────────────────── */
/**,*/
/**::before,*/
/**::after {*/
/*	cursor: auto !important;*/
/*}*/

/*
─────────────────────────────────────────────────────────────
ORIGINAL CUSTOM CURSOR STYLES (COMMENTED OUT)
─────────────────────────────────────────────────────────────

/* ── Hide default cursor everywhere ─────────────────────────── * /
*,
*::before,
*::after {
	cursor: none !important;
}

/* ── Base cursor element ─────────────────────────────────────── * /
.cb-cursor {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 150;
	contain: layout style size;
	pointer-events: none;
	will-change: transform;
	-webkit-transition: opacity 0.3s, color 0.4s;
	-o-transition: opacity 0.3s, color 0.4s;
	-moz-transition: opacity 0.3s, color 0.4s;
	transition: opacity 0.3s, color 0.4s;
}

/* ── Default pseudo-element (butterfly) ─────────────────────── * /
.cb-cursor:before {
	content: "";
	position: absolute;
	top: -32px;
	left: -32px;
	display: block;
	width: 64px;
	height: 64px;

	/* Butterfly image * /
	background-image: url('../images/butterfly.png');
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	background-color: transparent;

	/* No circle shape * /
	border-radius: 0;

	/* Start hidden, scale in when -visible is added * /
	-webkit-transform: scale(0);
	-moz-transform: scale(0);
	-ms-transform: scale(0);
	-o-transform: scale(0);
	transform: scale(0);

	-webkit-transition: opacity 0.1s, -webkit-transform 0.3s ease-in-out;
	transition: opacity 0.1s, -webkit-transform 0.3s ease-in-out;
	-o-transition: opacity 0.1s, -o-transform 0.3s ease-in-out;
	-moz-transition: transform 0.3s ease-in-out, opacity 0.1s, -moz-transform 0.3s ease-in-out;
	transition: transform 0.3s ease-in-out, opacity 0.1s;
	transition: transform 0.3s ease-in-out, opacity 0.1s, -webkit-transform 0.3s ease-in-out, -moz-transform 0.3s ease-in-out, -o-transform 0.3s ease-in-out;
}

/* ── Cursor text label (for data-cursor-text elements) ───────── * /
.cb-cursor-text {
	position: absolute;
	top: -18px;
	left: -18px;
	width: 36px;
	height: 36px;
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-moz-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-moz-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-transform: scale(0) rotate(10deg);
	-moz-transform: scale(0) rotate(10deg);
	-ms-transform: scale(0) rotate(10deg);
	-o-transform: scale(0) rotate(10deg);
	transform: scale(0) rotate(10deg);
	opacity: 0;
	color: white;
	font-size: 16px;
	line-height: 20px;
	text-align: center;
	letter-spacing: -0.01em;
	-webkit-transition: opacity 0.4s, -webkit-transform 0.3s;
	transition: opacity 0.4s, -webkit-transform 0.3s;
	-o-transition: opacity 0.4s, -o-transform 0.3s;
	-moz-transition: opacity 0.4s, transform 0.3s, -moz-transform 0.3s;
	transition: opacity 0.4s, transform 0.3s;
	transition: opacity 0.4s, transform 0.3s, -webkit-transform 0.3s, -moz-transform 0.3s, -o-transform 0.3s;
}

/* ── Visible state - butterfly appears at normal size ────────── * /
.cb-cursor.-visible:before {
	background-image: url('../images/butterfly.png');
	background-color: transparent;
	border-radius: 0;
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
	transform: scale(1);
}

/* ── Click / active state - butterfly shrinks slightly ───────── * /
.cb-cursor.-visible.-active:before {
	-webkit-transform: scale(0.85);
	-moz-transform: scale(0.85);
	-ms-transform: scale(0.85);
	-o-transform: scale(0.85);
	transform: scale(0.85);
	-webkit-transition-duration: 0.15s;
	-moz-transition-duration: 0.15s;
	-o-transition-duration: 0.15s;
	transition-duration: 0.15s;
}

/* ── Pointer state (hover on links/buttons) - hide butterfly ─── * /
/* Shows a small dot instead so clicks feel precise * /
.cb-cursor.-pointer:before {
	background-image: none;
	background-color: #2a7a4b;
	border-radius: 50%;
	width: 10px;
	height: 10px;
	top: -5px;
	left: -5px;
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
	transform: scale(1);
}

/* ── Text state (data-cursor-text) - dark pill behind label ──── * /
.cb-cursor.-text:before {
	background-image: none;
	background-color: rgba(0, 0, 0, 0.75);
	border-radius: 50%;
	width: 80px;
	height: 80px;
	top: -40px;
	left: -40px;
	backdrop-filter: blur(10px);
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
	transform: scale(1);
}

.cb-cursor.-text .cb-cursor-text {
	opacity: 1;
	width: 80px;
	height: 80px;
	top: -40px;
	left: -40px;
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
	transform: scale(1);
}

.cb-cursor.-text.-active:before {
	-webkit-transform: scale(0.9);
	-moz-transform: scale(0.9);
	-ms-transform: scale(0.9);
	-o-transform: scale(0.9);
	transform: scale(0.9);
	-webkit-transition-duration: 0.15s;
	-moz-transition-duration: 0.15s;
	-o-transition-duration: 0.15s;
	transition-duration: 0.15s;
}

/* ── Opaque state (data-cursor="-opaque") - larger butterfly ─── * /
.cb-cursor.-opaque:before {
	background-image: url('../images/butterfly.png');
	background-color: transparent;
	border-radius: 0;
	width: 64px;
	height: 64px;
	top: -40px;
	left: -40px;
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
	transform: scale(1);
}

.cb-cursor.-opaque.-active:before {
	-webkit-transform: scale(0.88);
	-moz-transform: scale(0.88);
	-ms-transform: scale(0.88);
	-o-transform: scale(0.88);
	transform: scale(0.88);
}

/* ── Large state ─────────────────────────────────────────────── * /
.cb-cursor.-lg:before {
	width: 96px;
	height: 96px;
	top: -48px;
	left: -48px;
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
	transform: scale(1);
}

/* ── Hidden state ────────────────────────────────────────────── * /
.cb-cursor.-hidden:before {
	-webkit-transform: scale(0);
	-moz-transform: scale(0);
	-ms-transform: scale(0);
	-o-transform: scale(0);
	transform: scale(0);
}

/* ── Mix blend modes ─────────────────────────────────────────── * /
@supports (mix-blend-mode: exclusion) {
	.cb-cursor.-exclusion {
		mix-blend-mode: exclusion;
	}
}

.cb-cursor.-normal,
.cb-cursor.-text {
	mix-blend-mode: normal;
}

.cb-cursor.-inverse {
	color: white;
}

/* ── Utility color classes ───────────────────────────────────── * /
.-color-red {
	color: red;
}

.-color-green {
	color: #51c67d;
}

/* ── Demo styles (keep for reference) ───────────────────────── * /
.cb-demo {
	background: #fff;
}

.cb-demo-content {
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-moz-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-moz-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	height: 100vh;
}

.cb-demo-container {
	padding: 0 20px;
}

@media (min-width: 1600px) {
	.cb-demo-container {
		padding: 0 120px;
	}
}

.cb-demo-row {
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-moz-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	text-align: center;
	margin: 30px 0;
}

@media (min-width: 1600px) {
	.cb-demo-row {
		margin: 60px 0;
	}
}

.cb-demo-item {
	position: relative;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	-moz-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	padding: 50px 30px;
	margin: 0 20px;
	color: #000;
}

@media (min-width: 1600px) {
	.cb-demo-item {
		padding: 90px 30px;
		margin: 0 30px;
	}
}

.cb-demo-item-title {
	position: relative;
	margin: 0 0 25px 0;
	font-size: 30px;
	font-weight: bold;
}

.cb-demo-item-text {
	position: relative;
	max-width: 70%;
	margin: 0 auto;
	color: rgba(0, 0, 0, 0.5);
	font-size: 16px;
	font-weight: 300;
	line-height: 150%;
}

.cb-demo-item:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	border-radius: 30px;
	background: #f8f8f8;
	-webkit-transition: -webkit-box-shadow 0.2s;
	transition: -webkit-box-shadow 0.2s;
	-o-transition: box-shadow 0.2s;
	-moz-transition: box-shadow 0.2s, -moz-box-shadow 0.2s;
	transition: box-shadow 0.2s;
	transition: box-shadow 0.2s, -webkit-box-shadow 0.2s, -moz-box-shadow 0.2s;
}
*/