/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */

/* -------------------------------------------------
   1. COMPLETELY DISABLE CUSTOM CURSOR
   ------------------------------------------------- */
.cb-cursor,
.cb-cursor:before,
.cb-cursor-text {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

/* -------------------------------------------------
   2. DEFAULT CURSOR EVERYWHERE
   ------------------------------------------------- */
*, *::before, *::after {
	cursor: default !important;
}

/* -------------------------------------------------
   3. HAND CURSOR ONLY ON INTERACTIVE ELEMENTS
   ------------------------------------------------- */
a,
button,
input[type="submit"],
input[type="button"],
input[type="reset"],
[role="button"],
[onclick],
button *,
a *,
.btn,
.button,
.cb-demo-item a,
.cb-demo-item button {
	cursor: pointer !important;
}

/* Optional: Ensure text inside links/buttons doesn't override */
a *, button * {
	cursor: inherit !important;
}

/* -------------------------------------------------
   4. ORIGINAL CURSOR STATES (kept but never used)
   ------------------------------------------------- */
@supports (mix-blend-mode: exclusion) {
	.cb-cursor.-exclusion,
	.cb-cursor.-opaque {
		mix-blend-mode: exclusion;
	}
}

@supports (mix-blend-mode: exclusion) {
	.cb-cursor.-exclusion:before,
	.cb-cursor.-opaque:before {
		background: white;
	}
}

.cb-cursor.-normal,
.cb-cursor.-text {
	mix-blend-mode: normal;
}

.cb-cursor.-normal:before,
.cb-cursor.-text:before {
	background: currentColor;
}

.cb-cursor.-inverse { color: white; }

.cb-cursor.-visible:before { transform: scale(0.2); }
.cb-cursor.-visible.-active:before { transform: scale(0.23); transition-duration: .2s; }
.cb-cursor.-pointer:before { transform: scale(0); }
.cb-cursor.-text:before { background:#000; opacity:.8; backdrop-filter:blur(10px); transform:scale(1.7); }
.cb-cursor.-text .cb-cursor-text { opacity:1; transform:scale(1); }
.cb-cursor.-text.-active:before { transform:scale(1.6); transition-duration:.2s; }
.cb-cursor.-opaque:before { transform:scale(1.32); }
.cb-cursor.-opaque.-active:before { transform:scale(1.2); }
.cb-cursor.-lg:before { transform:scale(2); }
.cb-cursor.-hidden:before { transform:scale(0); }

/* -------------------------------------------------
   5. COLOR HELPERS
   ------------------------------------------------- */
.-color-red   { color: red; }
.-color-green { color: #51c67d; }

/* -------------------------------------------------
   6. DEMO LAYOUT (unchanged)
   ------------------------------------------------- */
.cb-demo {
	background: #fff;
}

.cb-demo-content {
	display: flex;
	align-items: 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: flex;
	justify-content: center;
	text-align: center;
	margin: 30px 0;
}
@media (min-width: 1600px) {
	.cb-demo-row { margin: 60px 0; }
}

.cb-demo-item {
	position: relative;
	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,.5);
	font-size: 16px;
	font-weight: 300;
	line-height: 150%;
}

.cb-demo-item:before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 30px;
	background: #f8f8f8;
	transition: box-shadow .2s;
}