input[type=submit]:not(.btn),
.button {
	@apply btn;

	&.primary {
		@apply btn-primary;
	}

	&.secondary {
		@apply btn-secondary;
	}

	&.accent {
		@apply btn-accent;
	}

	&.neutral {
		@apply btn-neutral;
	}

	&.error,
	&.danger {
		@apply btn-error;
	}

	&.warning {
		@apply btn-warning;
	}

	&.success {
		@apply btn-success;
	}

	&.info {
		@apply btn-info;
	}

	&.ghost {
		@apply btn-ghost;
	}

	&.outline {
		@apply btn-outline;

		outline: none;
	}

	&.link {
		@apply btn-link;
	}

	&.sm {
		@apply btn-sm;
	}

	&.lg {
		@apply btn-lg;
	}

	&.wide {
		@apply btn-wide;
	}

	&.block {
		@apply btn-block;
	}

	&.square {
		@apply btn-square;
	}

	&.circle {
		@apply btn-circle;
	}
}

.alert {
	&.error,
	&.danger {
		@apply alert-error;
	}

	&.warning {
		@apply alert-warning;
	}

	&.success {
		@apply alert-success;
	}

	&.info {
		@apply alert-info;
	}

	&.outline {
		@apply alert-outline;
	}

	&.soft {
		@apply alert-soft;
	}
}

.badge {
	&.primary {
		@apply badge-primary;
	}

	&.secondary {
		@apply badge-secondary;
	}

	&.accent {
		@apply badge-accent;
	}

	&.error,
	&.danger {
		@apply badge-error;
	}

	&.warning {
		@apply badge-warning;
	}

	&.success {
		@apply badge-success;
	}

	&.info {
		@apply badge-info;
	}

	&.outline {
		@apply badge-outline;
	}

	&.sm {
		@apply badge-sm;
	}

	&.lg {
		@apply badge-lg;
	}
}

input {
	&[type=text],
	&[type=password],
	&[type=email],
	&[type=tel],
	&[type=search],
	&[type=number],
	&[type=range],
	&[type=date],
	&[type=datetime-local],
	&[type=month],
	&[type=week],
	&[type=file] {
		&:not(.hidden) {
			@apply input;

			&.error,
			&.danger {
				@apply input-error;
			}

			&.success {
				@apply input-success;
			}

			&.sm {
				@apply input-sm;
			}

			&.lg {
				@apply input-lg;
			}
		}
	}

	&[type=radio] {
		&:not(.hidden) {
			@apply radio;
		}
	}

	&[type=checkbox] {
		&:not(.hidden) {
			@apply checkbox;
		}
	}

	&[type=range] {
		&:not(.hidden) {
			@apply range;
		}
	}

	&.hp {
		@apply absolute!;
		@apply top-[-65535px];
		@apply right-[65535px];
		@apply w-1!;
		@apply h-1!;
		@apply opacity-0!;
		@apply border-none!;
	}
}

.file-uploader {
    --input-color: color-mix(in oklab, var(--color-base-content) 20%, #0000);
	border-start-start-radius: var(--join-ss, var(--radius-field));
    border-start-end-radius: var(--join-se, var(--radius-field));
    border-end-start-radius: var(--join-es, var(--radius-field));
    border-end-end-radius: var(--join-ee, var(--radius-field));
    border: var(--border) solid var(--input-color, #0000);
	@apply my-2;
	@apply p-2;
	@apply flex;
	@apply justify-center;
	@apply items-center;
	@apply border-dashed;
	@apply text-center;
	@apply transition-colors;
}

form {
	label {
		@apply label;
		@apply block;

		&[for] {
			@apply cursor-pointer;
		}
	}
}

select {
	@apply select;
}

textarea {
	@apply textarea;
}
